文章作者:lcx
在ASP+MSSQL情况下InJection直接得到一个webshell是很平常的事情,但是在
asp+acess下是一件不可能完成的任务,因为ACESS的弱智sql语句很难让你有所作为。
不过,巧妙利用acess程序的一些特性,我们也可以间接得到一个webshell。
一、利用acess数据库备份到shell。
我曾经通过常规注射方法拿到了一个下载系统的后台密码。但是进入后台后却发现,程
序不让你上传.asp、.asa、.cdx、.cer等文件,只允许图像和rar压缩文档上传,看样
子程序编写者还是很注重防范asp木马的。难道就这样放弃吗?我在后台翻来倒去,发
现了一个数据库备份功能。(图1)
利用sql语句来备份数据库?好像我还不知有这样的针对acess的sql语句。如果我估计
不错的话,应当就是调用了asp的fso功能将当前数据库文件copy到另一个路径而已。于
是我将海阳顶端网asp木马2004.asp改成2004.gif上传到了该下载系统空间,然后做了
如图2所示的设置,意思是将2004.gif备份得另一个路径,文件名变为2004.asp。(图2
) 点击图2的备份数据按扭后,我成功的得到了一个webshell。我估计不借的话,应当
这可以作为一个通用的变通得到websehll的方法。bbsxp论坛我也试过,成功过。
二、利用数据库防下载功能得到webshell。
防止acess数据库被下载通常的做法是在数据库某个表中增加一个ole字段,字段里写入
一个包含“<%”的二进制数据,然后将.mdb后缀改成.asp就可以防止下载了。这种作法
的原理其实就是把这个.mdb变成.asp文件,而.asp文件自然无法下载。想到了没有?如
果这里我们在.mdb文件里写入一个asp的后门代码的话,肯定它也会执行的。来吧,一
步一步跟我做。
我在网上随便一个找了一个文章系统的article.mdb文件,用acess2003打开建了一个
nodown字段,数据类