### 简要描述:
DamiCMS 任意控制投票票数
### 详细说明:
投票的关键代码如下。
```
foreach($_POST['vote'] as $v)
{
var_dump($v);
$v = str_replace("\n","",$v);
$s = explode("=",$v);
var_dump($s);
$data['vote'] = str_replace($v,$s[0]."=".(intval($s[1]) + 1),$data['vote']);
}
var_dump($data);
if($vote->where('id='.intval($_POST['id']))->save($data))
```
传入的数据用等号分割,类似 选项1=3 会变成 array(选项1,3), 如果只传入选项一,会变成array(选项1,null),intval(null)会变成零,并且写入数据库。
POC:
一开始有100票
[<img src="https://images.seebug.org/upload/201503/02192731d5632a0ba51467ffc6bad2b3391e572c.jpg" alt="damicms7.JPG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/02192731d5632a0ba51467ffc6bad2b3391e572c.jpg)
提交以下这样的请求
[<img src="https://images.seebug.org/upload/201503/02192746358c0bf7005750eeebada77b16a32cdf.jpg" alt="damicms8.JPG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/02192746358c0bf7005750eeebada77b16a32cdf.jpg)
可以看到票数变成1票
[<img src="https://images.seebug.org/upload/201503/0219280940755ea987c1d6e393da11db81fc9768.jpg" alt="damicms9.JPG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/0219280940755ea987c1d6e393da11db81fc9768.jpg)
如果想提高票数可以用x-forwarded-for来进行刷票。
### 漏洞证明:
官方Demo测试一下
[<img src="https://images.seebug.org/upload/201503/02192823e7edc8f22ea070005aaf95f472706e97.jpg" alt="damicms10.JPG" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/02192823e7edc8f22ea070005aaf95f472706e97.jpg)
暂无评论