漏洞概要 关注数(23) 关注此漏洞
缺陷编号: WooYun-2013-20759
漏洞标题: Espcms v5.6 暴力注入
相关厂商: 易思ESPCMS企业网站管理系统
漏洞作者: Yaseng
提交时间: 2013-03-28 11:01
公开时间: 2013-04-02 11:02
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 第三方不可信程序 php+数字类型注射 php源码审核 sql注射漏洞利用技巧 php源码分析 ESPCMS
漏洞详情
披露状态:
2013-03-28: 细节已通知厂商并且等待厂商处理中
2013-04-02: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
Espcms 某处挺有意思的注入,虽然对传值有加密并且随机key,但可以逆向重举这个弱伪随机数来控制sql任意参数,导致系统注入
详细说明:
interface\membermain.php 第 33行
ec_member_username_id 直接从cookies的ecisp_member_info
系统对cookie进行特定的加密 并且随机出key
加密函数:
public\class_function.php 第179 行
key的生成:
install\fun_center.php 第 238 行
额 两次md5 随机值
在围观下 cookies中 ecisp_member_info的生成吧
interface\member.php 第 110 行
用户id 名称 邮箱 等等信息,这些对于攻击者都是可知的,那不是可以重举99到999 的key来匹配这些信息
简单计算出key之后,即可以操作cookie,传入任意sql语句
例如 官方演示站
key为 95e87f86a2ffde5110e93c2823634927
查看当前语句
把member_info 明文为
1 and 1=2 union select 1,2,3,user(),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28
eccode 之后修改cookie值即可查询出mysql 当前用户
漏洞证明:
修复方案:
过滤
使用mt_rand
改变算法
版权声明:转载请注明来源 Yaseng@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2013-04-02 11:02
厂商回复:
漏洞Rank:16 (WooYun评价)
最新状态:
2013-04-23:此漏洞已经过官方修正,下载最新包即可!
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值