之前测试讯时后台管理系统时,发现一个挺有意思的功能——它会详细记录管理登录日志,包括用户名和IP地址,而且后台还不能直接删除。结果测试过程中一直用admin账号,没想到被管理员抓了个正着,还找上门来让我停手,真是哭笑不得。
不过后续还是把这站拿下了。当时网上关于讯时的漏洞少得可怜,只有一个支付页面能爆出绝对路径,也算是突破口。
Ⅰ. 讯时网站管理系统4.5支付页面暴数据库路径
漏洞文件:/pay/Alipay_Mail.asp
漏洞证明:
Microsoft JET Database Engine 错误 '80004005' 'E:\web\fuck\news\pay\data\#db1.asp' 不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 /fuck/news/admin_conn.asp,行38
Ⅱ. 讯时网站管理系统爆数据库路径(修改数据库地址版)
漏洞文件:/edit/admin_conn.asp
漏洞证明:
'E:\web\fuck\news\edit\^data\_jing_G.sap' 不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 /fuck/news/admin_conn.asp,行38
原因分析:直接看 edit/admin_conn.asp 的代码:
<% mdb="../" %>
再看看 admin_conn.asp 的部分:
<%
if instr(request.ServerVariables("QUERY_STRING"),"<")<>0 then
Response.Write "参数错误,严禁捣乱!"
Response.end
end if
%>
接着看 Neeao_SqlIn.Asp:
'--------数据库连接部分--------------
'dim dbkillSql,killSqlconn,connkillSql
dbkillSql=xuasurl&&"data/#SqlIn.asp"
'Response.Write dbkillSql
On Error Resume Next
Set killSqlconn = Server.CreateObject("ADODB.Connection")
connkillSql="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbkillSql)
killSqlconn.Open connkillSql
If Err Then
err.Clear
Set killSqlconn = Nothing
'Response.Write "数据库连接出错,请检查连接字串。"
Response.End
End If
到这里应该就能明白为什么数据库路径会直接暴露出来了——开发者本想修改默认数据库路径,反而弄巧成拙。如果不报错,说明用的是默认地址。
Ⅲ. 讯时网站管理系统爆后台管理用户账号
漏洞页面:/user2.asp
漏洞证明:

漏洞分析:该页面缺少cookie或session验证,导致未登录用户可以直接访问,属于权限缺失问题。
以上几个漏洞虽然单个来看危害不算大,但在针对采用讯时后台管理系统的网站进行渗透时,能少走不少弯路。
