漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-084152
漏洞标题:嘉缘人才系统1处SQL注入#6(demo测试)
相关厂商:finereason.com
漏洞作者: 龟兔赛跑
提交时间:2014-11-27 10:25
修复时间:2015-01-03 10:26
公开时间:2015-01-03 10:26
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-11-27: 细节已通知厂商并且等待厂商处理中
2014-12-02: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-01-26: 细节向核心白帽子及相关领域专家公开
2015-02-05: 细节向普通白帽子公开
2015-02-15: 细节向实习白帽子公开
2015-01-03: 细节向公众公开
简要描述:
嘉缘人才系统1处time-based盲注.
(demo测试)
http://v2014.rccms.com/
详细说明:
SQL注入在http://v2014.rccms.com/member/index.php?m=person_interview&show=works这个页面,删除面试通知处。
先看看代码:
这里的$checks去了$_POST['checks'], 然后带入了SQL,没有做有效性检查。貌似可以注入。
准备:先一个个人账号,个人账号添加一份简历。注册一个公司账号,公司账号添加一个职位,然后发送面试邀请给刚才的简历。或者添加个人简历后,等待系统自动推荐一些简历过来。
进入会员中心 > 求职管理 > 收到的面试通知, 可以看到刚才的面试通知。还是老样子,先修改HTML做个简单的测试:
找到
将value修改为value="703) and",如下图:
点击删除后可以看到SQL error。
在将value修改为value="703) and (1",如下图:
点击删除,删除成功:
这里可以确定这个注入还是存在的。
本来是想既然可以boolean盲注,就利用公司账户不断的发送面试邀请,然后在个人账户去删除,TRUE的情况下删除,FALSE的情况下不删除来出数据的,后来发现一家公司发送不了那么多面试邀请,只好放弃了这个念头,改为试验time-based,有了sleep,SQL语句变成
这样的SQL就可以同时SLEEP,有可以不用删除数据了。
剩下的只要绕过FRCMS对sleep的check就行了,试验了一下,还是可以绕过的,于是写了一个sqlmap的针对这个case的test case。
sqlmap走起:
漏洞证明:
修复方案:
$checks = preg_replace("/[^0-9,\.-]/i",'',$checks);
版权声明:转载请注明来源 龟兔赛跑@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2015-01-03 10:26
厂商回复:
最新状态:
暂无