### 简要描述:
某处存储型xss可盲打管理cookie
### 详细说明:
message\include\index.inc.php 文件26-36行(不止这一处)
```
if ($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty($_POST['contact'])) check::AlertExit('对不起,姓名必须填写!',-1);
if(empty($_POST['tel'])) check::AlertExit('对不起,联系电话必须填写!',-1);
if(empty($_POST['email'])) check::AlertExit('对不起,E-Mail必须填写!',-1);
if(empty($_POST['title'])) check::AlertExit('对不起,留言标题必须填写!',-1);
if(empty($_POST['intro'])) check::AlertExit('对不起,留言内容必须填写!!',-1);//只是简单判断了POST提交的数据是否为空
$strIP = check::getip();
$_POST['user_ip'] = $strIP;
$objWebInit->saveInfo($_POST,0);//跟踪函数saveInfo
check::AlertExit("",$arrGWeb['WEB_ROOT_pre']."/message/");
}
跟踪函数saveInfo
function saveInfo($arrData,$intModify=0,$isAlert=true){
$arr = array();
$arr = check::SqlInjection($this->saveTableFieldG($arrData));
if($intModify == 0){
if(!empty($_SESSION['user_id'])) $arr['user_id'] = intval($_SESSION['user_id']);//判断是否已经登录
if($this->insertInfo($arr)){ //入库了,没有任何过滤
if($isAlert) check::Alert("发布成功,我们会尽快做出处理并告知您",-1);
check::AlertExit("",$arrGWeb['WEB_ROOT_pre']."/message/");
}else{
check::Alert("发布失败",-1);;
}
}else{
if($this->updateInfo($arr)){
check::Alert("修改成功!");
}else{
check::Alert("修改失败");;
}
}
}
```
### 漏洞证明:
都没有过滤,可以填入我们的xss code:
[<img src="https://images.seebug.org/upload/201401/24154032f969ffa24b21c13e5ba0377a7f87ba98.png" alt="ddd.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/24154032f969ffa24b21c13e5ba0377a7f87ba98.png)
管理员查看留言即触发xss代码
[<img src="https://images.seebug.org/upload/201401/24155218c9d264a733eea9f9962c2b939a0019c9.png" alt="fff.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/24155218c9d264a733eea9f9962c2b939a0019c9.png)
暂无评论