漏洞概要
关注数(24)
关注此漏洞
漏洞标题:PHPYUN多处SQL注入及快速定位(无视360防御)
提交时间:2014-07-24 15:15
修复时间:2014-10-22 15:16
公开时间:2014-10-22 15:16
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2014-07-24: 细节已通知厂商并且等待厂商处理中
2014-07-24: 厂商已经确认,细节仅向厂商公开
2014-07-27: 细节向第三方安全合作伙伴开放
2014-09-17: 细节向核心白帽子及相关领域专家公开
2014-09-27: 细节向普通白帽子公开
2014-10-07: 细节向实习白帽子公开
2014-10-22: 细节向公众公开
简要描述:
好久没更新漏洞了
看最近小伙伴又在刷phpyun的,phpyun的安全防御应该做的算不错的,怎么还有漏洞?!
然后下了一个看了下,累死了,终于找到一处问题,引发几处SQL注入。
这里快速找出问题,只要很简单就可以修复完成!
详细说明:
其他地方的估计被小伙伴们都挖完了,我们来看看不常被大家关注的地方
在QQ登陆这里
qqconnect.class.php文件
我们来看看qq登陆时,会绑定这个qq的相关信息:
phpyun里面get,post,cookie基本上被过滤的差不多了都
我们来看看这里的$ip = $this->obj->fun_ip_get();
/model/class/action.class.php
奇怪,这里为什么没有任何防御咧?!!!
phpyun的小伙伴搞什么飞机哦!?
这么明显的XFF注入,怎么没有防御咧?!
好吧。。。
我们来看看还有没有其他地方使用了这个fun_ip_get函数:
来看看这里的login.class.php文件
这里也存在SQL注入的
再来看看register.class.php文件
但是这里的insert_into有过滤,无法注入成功,但是问题点依然存在。
通过上面的方法,找出全部使用此问题函数的地方,就能快速登陆到漏洞所在。
其他的就不一一验证了。
漏洞证明:
我们拿第一处QQ登陆看看
首先设置我们的X-Forwarded-For
然后使用QQ登陆
我们来看看SQL执行日志:
然后登陆成功后用户的email就会被修改
修复方案:
有两个声明fun_ip_get函数的地方
/include/public.function.php
/model/class/action.class.php
第一个过滤,但是没在上面使用
第二个没过滤,使用在了上面的地方
所以这把第二个地方的函数过滤处理就ok了。
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2014-07-24 15:28
厂商回复:
问题确实存在,感谢提供!
最新状态:
暂无