当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-063689

漏洞标题:YiDaCms v3.2 sql注入+逻辑错误

相关厂商:yidacms.com

漏洞作者: roker

提交时间:2014-06-09 18:49

修复时间:2014-09-07 18:50

公开时间:2014-09-07 18:50

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-09: 细节已通知厂商并且等待厂商处理中
2014-06-09: 厂商已经确认,细节仅向厂商公开
2014-06-12: 细节向第三方安全合作伙伴开放
2014-08-03: 细节向核心白帽子及相关领域专家公开
2014-08-13: 细节向普通白帽子公开
2014-08-23: 细节向实习白帽子公开
2014-09-07: 细节向公众公开

简要描述:

rt

详细说明:

admin\CheckAdmin.asp

username = request.Cookies("username")
password = request.Cookies("password")
cookies_md5 = request.Cookies("cookies_md5")
dim admin_name,admin_pass,admin_qx,admin_aqx
set rs = server.createobject("adodb.recordset")
sql="select * from shuaiweb_vipadministrator where username='"&username&"'"
rs.open sql,dbok,1,1
admin_name = rs("username")
admin_pass = rs("password")
admin_qx = rs("wait_ader")
admin_aqx = rs("wait_adyi")
rs.Close
set rs=nothing
response.write sql
if cookies_md5 <> left(MD5(username&password),10) then
response.write "登录超时,请重新登录!"
response.cookies("username") = ""
response.cookies("password") = ""
response.end
end if



对于cookie的 username没有防范。
提交 cookie:username=' or '1 满足sql条件。当然 这样还不能进入后台。
接下来的 代码出了一点逻辑问题
if cookies_md5 <> left(MD5(username&password),10) then
password 是可控的。 我们可以自己构造 轻松绕过。

yd1.jpg


Powered by YidaCms! X3.2

漏洞证明:

yd1.jpg

修复方案:

过滤 单引号
同时
改成 if cookies_md5 <> left(MD5(admin_name&admin_pass),10) then
这样 不是很好么?

版权声明:转载请注明来源 roker@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2014-06-09 18:52

厂商回复:

感谢roker 我们尽快修复

最新状态:

暂无