ECShop 2.7.2 红包注入漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: flow.php页面看似intval的红包ID,其实可以注入。以下文章仅从代码推测,并未进行测试,不过这太明显了,就不测试了,各位看官测试失败请跟帖骂娘,死亡节奏技术小组、恶灵战队路过。 ### 详细说明: ``` ``` /flow.php 1168行开始 ``` $bonus = bonus_info(intval($_GET['bonus'])); if ((!empty($bonus) && $bonus['user_id'] == $_SESSION['user_id']) || $_GET['bonus'] == 0) { $order['bonus_id'] = $_GET['bonus']; } else { $order['bonus_id'] = 0; $result['error'] = $_LANG['invalid_bonus']; } /* 计算订单的费用 */ $total = order_fee($order, $cart_goods, $consignee); ``` $bonus = bonus_info(intval($_GET['bonus'])); 上面这一句貌似把$_GET['bonus']给变整形了,没错,这句话没问题,继续向下看, ``` if ((!empty($bonus) && $bonus['user_id'] == $_SESSION['user_id']) || $_GET['bonus'] == 0) { $order['bonus_id'] = $_GET['bonus']; } ``` 上面代码显示:如果通过GET来的红包ID获取到红包信息并且红包属于你, 就执行下面这句 ``` $order['bonus_id'] = $_GET['bonus']; ``` 看到没有,这里$order['bonus_id']就获得了一个没有过滤的红包ID, 然后 下面这句 ``` /* 计算订单的费用 */ $total = order_fee($order, $cart_goods, $consignee); ``` 未经过滤的红包ID进入了order_fee函数,来看看这个函数的代码(在/includes/lib_order.php中), ``` function...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息