$_server['php_self'] 漏洞,Discuz! $_SERVER['PHP_SELF'] XSS Vulnerability
在common.inc.php文件的69行:
$PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$SCRIPT_FILENAME = str_replace('\\\\', '/', (isset($_SERVER['PATH_TRANSLATED']) ? $_SERVER['PATH_TRANSLATED'] : $_SERVER['SCRIPT_FILENAME']));
$boardurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace("/\/+(api|archiver|wap)?\/*$/i", '', substr($PHP_SELF, 0, strrpos($PHP_SELF, '/'))).'/';
取得$_SERVER['PHP_SELF']的最后一个/前的字符串后直接拼入了$boardurl,没做其他处理
在index.php文件的49行:
$rssstatus && $rsshead = '<link rel="alternate" type="application/rss+xml" title="'.$bbname.'" href="'.$boardurl.'rss.php?auth='.$rssauth.'">';
这里调用了$boardurl,
在header.htm中的12行:
<link rel="archives" title="$bbname" href="{$boardurl}archiver/">
$rsshead
这里调输出了$boardurl,同时还有$rsshead,
Discuz! 6.0
解决方法:
$PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
改为:
$PHP_SELF = htmlspecialchars($_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);
最新文章
- TSNE 附有codechina代码
- Cacti部署及常用插件安装(2)
- asp.net MVC2 初探十一
- 各种Java实现的常用排序算法
- javascript 嵌入python_通过Python将区块链数据嵌入Javascript,这是正确的方法吗?
- 技术人成长路径之我见
- OpenSSL爆出严重bug漏洞 Heartbleed bug CVE-2014-0160
- 如何获取计算机网络地址,如何查看电脑网卡获取的IP地址是多少?
- 网格布局---grid
- “腾源虎”表情包超萌上线,更有4000份定制红包封面免费送!
- 贪心算法背包问题java
- .NET Micro Framework简介
- node版本、npm版本随意切换
- 单片机c语言串口通信协议实现,单片机C语言之串口通信协议
- 安全绳使用方法图解_安全带和安全绳的正确使用方法
- leetcode阶段总结——拓扑排序
- 技嘉主板大部分型号开启WOL(Wake up-On-LAN)网络唤醒与定时开机
- 那些创新是如何产生的?
- wap建站程序_网站建设wap建站系统是什么?有什么优势?
- 使用AJAX的10个商业动机 {转}
热门文章
- 压缩命令_Linux gzip命令:压缩文件或目录
- 服务器此时无法接受控制信息,您无法修改域或信任信息,因为无法联系一个主域控制器(PDC)仿真器,请确认当前域的PDC仿真器和网络都联机并正常运行。...
- 【C语言进阶深度学习记录】三十三 C语言中动态内存分配
- 【Git、GitHub、GitLab】二 Git基本命令之建立Git仓库
- 从使用到原理学习Java线程池
- jquerymobile使用技巧
- jquery动画 -- 1.加载指示器
- java get与post区别_HTTP请求(GET与POST区别)和响应
- 为什么火狐浏览器中点击按钮失效_各种浏览器审查、监听http头工具介绍
- Linux高频命令汇总,Linux高频命令