### 简要描述:
看到更新了 我再来看看。
一个文件中。
### 详细说明:
在member.php中
```
else if($a == 'savefavorite')
{
$aid = isset($aid) ? intval($aid) : '';
$molds = isset($molds) ? intval($molds) : '';
$link = isset($_SERVER['HTTP_REFERER']) ? htmlspecialchars($_SERVER['HTTP_REFERER']) : '';
if($aid == '' or $molds == '' or $link == '')
{
header('location:?c=default');
exit();
}
$r = $dosql->GetOne("SELECT `id`,`expval`,`integral` FROM `#@__member` WHERE `username`='$c_uname'");
$uid = $r['id'];
$uname = $c_uname;
$time = time();
$ip = GetIP();
$r2 = $dosql->GetOne("SELECT `aid`,`molds` FROM `#@__userfavorite` WHERE `aid`=$aid and `molds`=$molds");
if(!is_array($r2))
{
$dosql->ExecNoneQuery("INSERT INTO `#@__userfavorite` (aid,molds,uid,uname,link,time,ip,isshow) VALUES ('$aid','$molds','$uid','$uname','$link','$time','$ip','1')");
```
在这里$link是referer 这里跟之前版本的不同的就是 这里的referer 经过了htmlspecialchars的处理。
但是在这里htmlspecialchars的quotestyle是没有设置的, 就是为默认的。
默认的为ENT_COMPAT。 这个是只会对双引号编码, 而不会对单引号编码。
所以可以继续来注入了。
第二处在也member.php中
在保存评论的时候 跟这个的原理一样 就不多说了。
```
//保存评论
else if($a == 'savecomment')
{
//是否开去文章评论功能
if($cfg_comment == 'N') exit();
//初始化参数
$aid = isset($aid) ? intval($aid) : '';
$molds = isset($molds) ? intval($molds) : '';
$body = isset($body) ? htmlspecialchars($body) : '';
$link = isset($_SERVER['HTTP_REFERER']) ? htmlspecialchars($_SERVER['HTTP_REFERER']) : '';
```
### 漏洞证明:
[<img src="https://images.seebug.org/upload/201405/092250135038d4cf3f8f8b518921f6a9caf1214a.jpg" alt="p1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/092250135038d4cf3f8f8b518921f6a9caf1214a.jpg)
暂无评论