$_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']);

loading-bars.svg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端破解系列之一】一分钟教你破解下载虾米音乐

虾米音乐网站上有很多高品质的音乐和精心组织的精选集&#xff0c;但普通用户只能试听&#xff0c;不能下载&#xff0c;下载的话需要使用“米”&#xff0c;这个“米”除了极少数的新手任务可以获得之外&#xff0c;基本上都要靠付费来购买&#xff0c;很多人没有网银或者没有…

网络编程常用接口的内核实现----sys_listen()

listen()函数仅在TCP服务器端调用&#xff0c;它做两个事情&#xff1a;将套接字转换到LISTEN状态和设置套接上的最大连接队列。listen()对应的内核实现为sys_listen()&#xff0c;下面开始对其实现作具体的分析。 一、sys_listen()函数 sys_listen()的源码实现及分析如下所示…

linux查看启动配置文件内容,Linux开机启动项的查看和设置方法总结

一、查看开机自启项1.Centos7自启项查看方式从Centos6的chkconfig改为&#xff1a;systemctl list-unit-files2.用grep过滤查看&#xff0c;比如&#xff1a;查看启动项&#xff1a;systemctl list-unit-files | grep enable查看sshd服务自启动情况&#xff1a;systemctl list-…

sql SET DATEFORMAT对日期处理的影响

--1./*--说明SET DATEFORMAT设置对使用CONVERT把字符型日期转换为日期的处理也具有影响但不影响明确指定了style的CONVERT处理。--*/--示例 &#xff0c;在下面的示例中&#xff0c;第一个CONVERT转换未指定style&#xff0c;转换的结果受SET DATAFORMAT的影响&#xff0c;第二…

linux怎么设置tomcat自动启动,linux添加tomcat服务并设置开机启动

一&#xff0c;脚本文件&#xff0c;编辑好后放在/etc/rc.d/init.d/下面#!/bin/sh#chkconfig: 2345 10 90# description: Starts and Stops the Tomcat daemon.#by jj###############################################Startup script for Tomcat on Linux#filename tomcat.sh#M…

Linux操作系统内核启动参数详细解析

Linux内核在启动的时候&#xff0c;能接收某些命令行选项或启动时参数。当内核不能识别某些硬件进而不能设置硬件参数或者为了避免内核更改某些参数的值&#xff0c;可以通过这种方式手动将这些参数传递给内核。 如果不使用启动管理器&#xff0c;比如直接从BIOS或者把内核文…

XP Embedded:不同的用户使用不同的外壳程序

摘要&#xff1a; 能够使应用程序成为外壳程序是 Windows XP Embedded 的关键功能之一。设备可以在自定义外壳程序而不是 Explorer 外壳程序中启动&#xff0c;这提供了两个好处。第一个好处是系统能够更快地启动。Explorer 外壳程序需要花费大量的时间来加载所有支持库和文件…

linux系统中 库分为静态库和,Linux系统中“动态库”和“静态库”那点事儿-【经典好文】...

今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻。在这之前&#xff0c;我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情。在linux操作系统中&#xff0c;普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式。ELF(Exec…

u-boot环境变量设置

这是我uboot的环境变量设置&#xff0c;在该设置下可以运行initram内核&#xff08;从内存下载到nandflash再运行&#xff09;&#xff0c;但是运行nfs根文件系统的时候一直出错&#xff0c;各种错误。查看了很多资料后猜想应该是uboot传递给linux内核的参数有问题&#xff0c;…

RHEL6 下Cfengine V3 安装测试1

Cfengine 是一种 GNU 开源配置管理框架&#xff0c;用于计算机系统自动化。此框架是轻量的&#xff0c;可针对几乎所有平台构建。它能运行在所有常见平台上&#xff0c;其中包括 AIX、Linux、UNIX、Apple 和 Windows。 cf-promises 承诺的检验者和编译者&#xff0c;在试图执行…

linux下grpc安装编译,linux下安装grpc插件 (c++和go语言)

在debian/ubuntu系统下&#xff0c;需要做如下准备操作&#xff1a;$ [sudo] apt-getinstallbuild-essential autoconf libtoolpkg-config如果你想要从源码编译并且运行测试&#xff0c;同时运行下面的安装&#xff1a;$ [sudo] apt-getinstalllibgflags-dev libgtest-dev$ [su…

SIP资料汇总

SIP协议 SIP协议过程概念及分析 SIP入门开发之路(含SIP开发需要学习的资源及网址) SIP揭密&#xff08;中文版&#xff09; 使用Java的SIP Servlet进行SIP开发 Asterisk: Asterisk安装及测试 Asterisk十问十答 Asterisk入门教程 Asterisk介绍-Asterisk RealTime SIP asterisk配…

Nand Flash Yaffs系统大量写入数据失败问题的解决方法。

一个朋友的问题&#xff0c;我们共同分析后搞定。其实以前也遇到过同样问题&#xff0c;时间长了&#xff0c;没总结。 事发&#xff1a;在Nand Flash上使用2.6.14的linux kernel&#xff0c;三星2440的板子&#xff0c;连续写入文件&#xff0c;到一定大小限制就删除&#xff…

linux上的壁纸软件下载,Ubuntu 17.10上安装开源壁纸工具Wallch 4.0

在Ubuntu 17.04上安装WallchWallch是一款免费的开源通用壁纸更换器&#xff0c;用户可以在设置的时间更改桌面背景图片。它会在桌面上更改并显示随机图片或维基百科的当天图片。它还具有一个实时地球Living Earth壁纸&#xff0c;每30分钟更换桌面背景&#xff0c;以显示阳光和…

Asp.NET 获取网站根目录

http://www.cnblogs.com/Leo_wl/archive/2010/06/12/1757148.html转载于:https://www.cnblogs.com/imihiroblog/archive/2012/05/23/2514649.html

小议同步IO :fsync与fdatasync

对于提供事务支持的数据库&#xff0c;在事务提交时&#xff0c;都要确保事务日志&#xff08;包含该事务所有的修改操作以及一个提交记录&#xff09;完全写到硬盘上&#xff0c;才认定事务提交成功并返回给应用层。 一个简单的问题&#xff1a;在*nix操作系统上&#xff0c;怎…

linux c++ queue 多线程,C++多线程,消息队列用法

进程是没有活力的&#xff0c;它只是一个静态的概念。为了让进程完成一些工作&#xff0c;进程必须至少占有一个线程&#xff0c;所以线程是描述进程内的执行&#xff0c;正是线程负责执行包含在进程的地址空间中的代码。实际上&#xff0c;单个进程可以包含几个线程&#xff0…

获取磁盘类型

1. GetLogicalDriveStrings获取所以的分区字符串 2. GetDriveType("C:\\"); 对每个分区字符串分别调用GetDriveType获得分区所在磁盘的磁盘类型。 0 DRIVE_UNKNOWN未知的磁盘类型   1 DRIVE_NO_ROOT_DIR说明lpRootPathName是无效的   2 DRIVE_REM…

css3 (2)

Php1情景模拟&#xff1a;如果是在C盘&#xff0c;遇到熊猫&#xff0c;数据丢失。我们要重装系统&#xff0c;格C盘。我们要更改对应的访问的目录。需要改apache下面的配置文件Appserv 是集成环境包&#xff0c;里面也是apache服务器在运行网页请求。Apache目录下面有一个conf…

linux find显示文件的基本信息,命令find搜索文件,命令stat查看文件的详细信息

命令stat命令语法stat(选项)(参数)命令描述命令stat用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。命令选项-L&#xff1a;支持符号连接&#xff1b;-f&#xff1a;显示文件系统状态而非文件状态&#xff1b;-t&#xff1a;以简洁方式输出信息&#…