### 简要描述:
通用型软件有奖励吗?怎么在重点应用跟一般应用都找不到PHPMyWind???
### 详细说明:
在官网http://www.phpmywind.com/看了下,最新版是4.6.6,更新时间是13/11/28。去年知道创宇曾发布PHPMyWind三个SQL注入补丁→http://bbs.anquan.org/forum.php?mod=viewthread&tid=26575
本次报告的漏洞文件是order.php,上面的补丁包修复了order.php的31行的level,但是在374行的id却置之不理,因此漏洞产生了。
### 漏洞证明:
下载最新版PHPMyWind v4.6.6,找到order.php的GetTopType函数。
```
function GetTopType($tbname='', $tbname2='', $colname='', $id=0, $i=0)
{
global $dosql;
if(isset($_GET['id']))
{
$r = $dosql->GetOne("SELECT `$colname` FROM `$tbname2` WHERE `id`=".$_GET['id']);
}
$dosql->Execute("SELECT * FROM `$tbname` ORDER BY `orderid` ASC",$id);
$i++;
while($row = $dosql->GetArray($id))
{
$selected = '';
if(isset($r) && is_array($r))
{
if($row['id'] == $r["$colname"])
$selected = 'selected="selected"';
}
echo '<option value="'.$row['id'].'"'.$selected.'>'.$row["classname"].'</option>';
}
}
```
一眼就看到$id直接扔数据库了,产生注入。
于是访问order.php这个页面,得先添加商品到购物车才能够GetToyType这个函数。
[<img src="https://images.seebug.org/upload/201402/1822405260338307d62c967460e3f9dfeb7e1f78.jpg" alt="q.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/1822405260338307d62c967460e3f9dfeb7e1f78.jpg)
提交访问order.php同时监控Mysql执行情况,可以发现顺利插入。
http://127.0.0.1/PHPMyWind/order.php?id=2 and 3=2
[<img src="https://images.seebug.org/upload/201402/182244168ea21f909d82d73d2e3f823c3e0bde93.jpg" alt="w.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/182244168ea21f909d82d73d2e3f823c3e0bde93.jpg)
但是整套程序都是有检测SQL语句合法性的,不幸的是早已被大牛们无视了,故提交测试可得:
[<img src="https://images.seebug.org/upload/201402/18235259cde3e261842b83d2f9538562d3c40d01.jpg" alt="e.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/18235259cde3e261842b83d2f9538562d3c40d01.jpg)
暂无评论