网站目录收录网站方式:1.人工手动审核。2.自助审核(你的网站在权重3、PR4以上,挂上本站友链->点击友链->自动审核通过。)
北京 天津 上海 广东 深圳 河北 河南 新疆 重庆 四川 贵州 湖南 湖北 云南 广西 宁夏 青海 甘肃 陕西
西藏 海南 山东 福建 安徽 浙江 吉林 山西 江西 江苏 辽宁 黑龙 内蒙 澳门 香港 台湾 日本 韩国 美国
当前位置:站长啦网站目录 » 新闻资讯 » 站长新闻 » 漏洞预警 » 文章详细 订阅RssFeed

[公开漏洞]继续绕过cmseasy补丁继续注入

来源:WooYun 浏览:693次 时间:2014-06-16
简介:继续绕过cmseasy补丁继续注入 相关厂商: cmseasy漏洞作者:′ 雨。 提交时间:2014-03-17 11:39 公开时间:2014-06-15 11:40 漏洞类型:SQL注射漏洞危害等级:高 自评Rank:20 漏洞状态

继续绕过cmseasy补丁继续注入 相关厂商: cmseasy 漏洞作者:′ 雨。 提交时间:2014-03-17 11:39 公开时间:2014-06-15 11:40 漏洞类型:SQL注射漏洞 危害等级:高 自评Rank:20 漏洞状态: 厂商已经确认 漏洞来源:http://www.wooyun.org Tags标签: 无 漏洞详情 披露状态:

2014-03-17:细节已通知厂商并且等待厂商处理中
2014-03-17:厂商已经确认,细节仅向厂商公开
2014-03-20:细节向第三方安全合作伙伴开放
2014-03-27:细节向核心白帽子及相关领域专家公开
2014-04-06:细节向普通白帽子公开
2014-04-26:细节向实习白帽子公开
2014-06-15:细节向公众公开

简要描述:

过滤不严。

详细说明:

- -

又来绕过了。

官网上又更新了包。

看看是怎么来过滤的

lib\plugins\pay\alipay.php

function respond() {
if (!empty($_POST)) {
foreach($_POST as $key =>$data) {
if(preg_match('/(=|<|>|\')/', $data)){
return false;
}
$_GET[$key] = $data;
}
}
$payment = pay::get_payment($_GET['code']);
$seller_email = rawurldecode($_GET['seller_email']);
$order_sn = str_replace($_GET['subject'],'',$_GET['out_trade_no']);
$order_sn = trim($order_sn);
if (!pay::check_money($order_sn,$_GET['total_fee'])) {
return false;
}
if($_GET['trade_status'] == "WAIT_SELLER_SEND_GOODS"||$_GET['trade_status'] == "TRADE_FINISHED" || $_GET['trade_status'] == "TRADE_SUCCESS") {
pay::changeorders($order_sn,$_GET);
return true;
}else {
return false;
}
}
}



可以看到 官方是在正则表达式那里做了修改。

添加了\' 因为全局转义 所以就不能用单引号了。 所以像上次那样绕过就不行了。



那就再来找找其他的突破口。



public static function changeorders($id,$orderlog) {
//file_put_contents('logs.txt', $id);
$where=array();
$where['id']=$id;
$where['status']=4;
//$where['orderlog']=serialize($orderlog);
$update=orders::getInstance()->rec_update($where,$id);





function rec_update($row,$where) {
$tbname=$this->name;
$sql=$this->sql_update($tbname,$row,$where);





function sql_update($tbname,$row,$where) {
$sqlud='';
if (is_string($row))
$sqlud=$row.' ';
else
foreach ($row as $key=>$value) {
if (in_array($key,explode(',',$this->getcolslist()))) {
$value=$value;
if (preg_match('/^\[(.*)\]$/',$value,$match))
$sqlud .= "`$key`"."= ".$match[1].",";
elseif ($value === "")
$sqlud .= "`$key`= NULL, ";
else
$sqlud .= "`$key`"."= '".$value."',";
}
}
$sqlud=rtrim($sqlud);
$sqlud=rtrim($sqlud,',');
$this->condition($where);
$sql="UPDATE `".$tbname."` SET ".$sqlud." WHERE ".$where;



这里可以看到。

如果$where 不是数型的话 就没有单引号保护的。

这个有点不太符合我的常识啊。 不是一般数型的才不用单引号保护,字符串才用单引号保护的么?

不懂程序猿的世界。

但是这里$where 不太好利用 因为过滤掉了= < >

一般是利用where id=user() 之类的来注入 需要自己添加一个等号之类的

但是这里过滤掉了= < >。

再找找其他的突破口。



foreach ($row as $key=>$value) {
if (in_array($key,explode(',',$this->getcolslist()))) {
$value=$value;
if (preg_match('/^\[(.*)\]$/',$value,$match))
$sqlud .= "`$key`"."= ".$match[1].",";
elseif ($value === "")
$sqlud .= "`$key`= NULL, ";
else
$sqlud .= "`$key`"."= '".$value."',";
}
}





可以看到这里 遍历 然后赋值。

else
$sqlud .= "`$key`"."= '".$value."',";



这个被单引号保护了 无法利用。 但是这里有一个

if (preg_match('/^\[(.*)\]$/',$value,$match))
$sqlud .= "`$key`"."= ".$match[1].",";



这里是没有单引号保护的。 只要满足这个匹配 然后就可以无单引号啦。



哟西 好激动。

满足这个表达式后 他所执行的语句。

UPDATE `cmseasy_p_orders` SET `id`= 123,`status`= '4' WHERE [123]

但是过滤了= <> 我也没有什么好的注入办法。



我利用的是-号,然后用substr 一位一位的查询 然后对查询出来的结果 ascii 一次

然后再-掉一个数字。



例如 账户为admin substr 查询出来的第一位为a 然后ascii 后就为97.

然后这里就需要写一个脚本来跑了。

然后97-xx 只有当xx为97的时候 才不会延时 当为其他的数字的时候都会延时的。



Come on baby

漏洞证明:

我直接把语句输出来。



5.jpg





注释掉后面的 相当于就是说 执行的就是

UPDATE `cmseasy_p_orders` SET `id`= if(ascii(substr((select username from cmseasy_user),1,1))-96,sleep(1),null)

我这substr查询出来的是a 然后ascii 后就为97



6.jpg





可以看到的是 当剪掉的是正确数字的时候 是不会延时的。

但是减去其他任意数字的时候 都会延时的。

然后 把ascii转回来 就可以得到数据了。



这里需要写个脚本跑, 要不很慢啊。

修复方案:

继续过滤。



继续求高分。

版权声明:转载请注明来源 ′ 雨。@乌云 漏洞回应 厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-03-17 14:14

厂商回复:

感谢

最新状态:

暂无


0

版权与免责声明:

凡注明稿件来源的内容均为转载稿或由网友用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:https://top.cnzzla.com/artinfo/1800.html

好玩的手游下载

猜你喜欢

推荐站点

  • 福州小程序开发福州小程序开发

    福州好小蚁科技提供专业的微信小程序开发、软件定制、手机APP开发、网站开发等高端定制外包服务,价格美丽,服务周到.一对一项目对接,不满意退全款!预约电话:13107632710 胡小春!福州好小蚁科技有限公司是福建福州网站app等技术开发优秀网络公司。

    www.fzant.com
  • 世界时间网世界时间网

    世界时间网为您提供世界各地精准时间,北京时间校准器,标准时间,世界各地时间与北京时间对比,时间换算等,希望对您有所帮助。

    top.cnzzla.com/time
  • 科技镇科技镇

    科技镇 | 关注科技、娱乐、人文、生活!

    www.kejizhen.com
  • 心动网址导航心动网址导航

    心动网址导航精选了国内国外著名的网站、好玩的、好看的、有趣的国内国外网站以及实用的、优秀的国内国外网站,包括国外视频、国外购物、国外交友、国外新闻等多种类型 同时提供精品行业分类目录提交,让用户全方位了解国内国外互联网动态!

    xd00.com
  • 门户网址-优秀网站导航门户网址-优秀网站导航

    门户网址-优秀网站导航,精选网址导航,免费分类目录提交,实用酷站大全。

    top.mhwz.cn

最新优秀网站