### 简要描述: 看到更新了 我再来看看。 一个文件中。 ### 详细说明: 在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 == '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)