### 简要描述:
直接做了table.
### 详细说明:
在source/ajax.php中
```
function fields_contingency(){
$molds=$this->syArgs('molds',1);
$word=$this->syArgs('word',1);
$fields=$this->syArgs('fields',1);
if($word&&$molds&&$fields){
$w.=" where ";
$str = explode(' ',$word);
foreach($str as $s){
if($s)$w.=" title like '%".$s."%' or";
}
$w=rtrim($w,'or')." ";
$sql='select id,title,addtime,orders from '.$this->db.$molds.$w.' order by orders desc,addtime desc,id desc limit 0,10';
echo $sql;
$info=syDB($molds)->findSql($sql);
if($info){
```
可以看到$this->db.$molds.$w. 直接成了table的一部分了。
那直接补全语句来注入把
### 漏洞证明:
我把语句输出来一下
[<img src="https://images.seebug.org/upload/201406/01113404af04dfe76e38c9a6693ac1d910e9fa27.jpg" alt="d1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/01113404af04dfe76e38c9a6693ac1d910e9fa27.jpg)
试试demo
[<img src="https://images.seebug.org/upload/201406/01113506f3a90ade4f3b53e8452c90afda3618d7.jpg" alt="d2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/01113506f3a90ade4f3b53e8452c90afda3618d7.jpg)
[<img src="https://images.seebug.org/upload/201406/011135147d42c281257dcef8a9274002fc2d0038.jpg" alt="d3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/011135147d42c281257dcef8a9274002fc2d0038.jpg)
由于表前缀不存在 所以报错。
暂无评论