ASP代码审计之数据库路径泄露

CracerCracer 2016-1-4 代码审计 788 0 2

数据库路径泄露主要表现在ASP+Access搭建的WEB中,当攻击者提交%5c的时候,IIS会解析错误,导致输出了真实数据库路径, %5c是\的十六进制代码,也就是\的另一种表示方法。

 

0×01 ASP简介:

ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。

0×02 ASP漏洞介绍:

一.数据库路径泄露 (DataBase Path Leak)

概述:数据库路径泄露主要表现在ASP+Access搭建的WEB中,当攻击者提交%5c的时候,IIS会解析错误,导致输出了真实数据库路径, %5c是\的十六进制代码,也就是\的另一种表示方法。

漏洞原理:我们在提交数据的时候,IE会自动把%5c转换成/,从而得到同一地址。在asp类型网站中,都会用到一个数据库连接的文件,名字一般是conn.asp。

漏洞代码:这里我用动力文章系统做案例,代码如下:

1
<% dim conn dim connstr dim db db="database/adsfkldfogowerjnokfdslwejhdfsjhk.mdb" '数据库文件的位置 Set conn = Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) conn.Open connstr %>

 

漏洞利用:当访问http://www.aspmps.com/cn%5cconn.asp IIS就会报错将数据库绝对路径输出到客户端,如下图所示:

1

当数据库路径被泄露,攻击者就可以将数据库下载到本地,找到表中的后台管理员账户和密码,这样就可以轻松进入网站的后台管理,此漏洞只针对于ACCESS数据库,SQL server数据库不受影响。 动力系统的暴库问题已久,去年360公司为此发布一则公告,多家媒体都有转载 链接地址:http://tech.163.com/digi/12/0312/15/7SDHI0LJ00163HE0.html。

漏洞修复:修补此漏洞的方法有2种,第一种在conn.open connstr 代码之前加入 On Error Resume Next ,第二种方法在IIS服务器配置选项中选择“向客户端发送下列文本错误消息”。如下图2

1

转载请注明来自Cracer,本文标题:《ASP代码审计之数据库路径泄露》

喜欢 (2) 发布评论
发表评论


Top