phpMyWind又一注入无视补丁

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

### 简要描述: phpMyWind又一注入无视补丁 ### 详细说明: 废话不多说了,看正文吧。 0x01 漏洞原理 漏洞在shoppingcart.php文件大约152行处: ``` <?php //初始化参数 $totalprice = ''; $shoppingcart = unserialize(AuthCode($_COOKIE['shoppingcart'])); //显示订单列表 foreach($shoppingcart as $k=>$goods) { ?> <tr> <td height="30"> <?php //获取数据库中商品信息 [color=#ff0000] $r = $dosql->GetOne("SELECT * FROM `#@__goods` WHERE `id`=".$goods[0]);[/color] //省略部分代码 ``` 可以从代码开始部分看到,$goods变量是从cookie中取出的shoppingcart字段值直接反序列化后的内容,没有进行任何的过滤和校验。 0x02 利用分析 我们先来整理下我们目前所获得的信息,我们可以通过控制cookie中的shoppingcart字段值来向代码中传入自定义内容,这部分内容是一个数组,并且第一个元素会没有经过任何校验和过滤带入到SQL查询中。 但是cookie中的这个字段会进行AuthCode的解码处理,这个处理需要用到服务端所使用到的key,这是我们无法获得的,所以我们需要找一个地方将我们所自定义的内容继续进行AuthCode的编码处理。我是怎么找到这个地方的呢?且听我慢慢到来。 这个漏洞是在看T00ls社区M3loee所公布的《T00ls元旦献礼之一:PhpMyWind SQL Injection 0day》时发现的。所以我们先来看下这个漏洞出现问题的分支部分代码: ``` if($a == 'addshopingcart') { //省略部分代码 //初始化购物车字符串 if(!empty($_COOKIE['shoppingcart'])) $shoppingcart = unserialize(AuthCode($_COOKIE['shoppingcart'])); else $shoppingcart = array(); //选中信息存入数组...

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