当前位置: 首页 > news >正文

Nginx 解析漏洞复现

 环境搭建

下载之后上传到虚拟机并解压

 进入这个路径

(root?kali)-[~/vulhub-master/nginx/nginx_parsing_vulnerability]

 就能看到有docker-compose.yml

启动环境

 正常显示

增加/.php后缀,被解析成PHP文件: 

漏洞原因:开启了cgi.fix_pathinfo选项后,本身是一个png文件,但是加上/.php后会把整个文件当中php文件来执行。

 安全后缀限制为空

意思是php的匹配规则是:先解析最后一个文件名称,它是会解析最后一个文件的名称是什么意思呢?就比如说现在目前呢,你是写了一个这样的东西(111111.php)这样的东西,很明显的一点是现在你的系统就没有.php结尾的这个文件,很明显没有对吧,所以说这就是为什么我随便出为什么他都可以解析到前头呢,因为平时的解析规则是这样的,首先他解析他的是php的对吧,这个文件他没有,没有他会直接跳到上一个继续解析,但是此时呢,它会把上一个目录的所有文件都当成php文件去解析,它的解析规则是这样的,就是你第1次先解析它是一个php文件,但你发现这个批文件没有,那它就会往上找,他发现,唉,这个文件是有的,那我不管它是php、png我都把它当成php文件去解析,所以这样一来呢。你没有填写一个安全后缀,你没有填写一个安全后缀,如果你在安全后缀里面写一个.php结尾,明显就是在限制你解析的后缀对吧,但是正因为这东西不是空的,可能他会去判断说这个东西的后缀是不是.php,他一看他发现不是.php,他就直接403他就不解析了,这是你个人的配置问题,这不是php和安全问题。

访问http://your-ip/index.php可以测试上传功能,上传代码不存在漏洞,但利用解析漏洞即可getshell:

由此可知,该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞

 修复方案
  • 将php.ini文件中的cgi.fix_pathinfo的值设为0
http://www.lryc.cn/news/308013.html

相关文章:

  • JQMobile Loader Widget 遮罩层改造
  • 练习 2 Web [ACTF2020 新生赛]BackupFile 1
  • 【python】subprocess用法示例
  • Socket网络编程(三)——TCP快速入门
  • 皇冠测评:网络电视盒子哪个品牌好?电视盒子排行榜
  • simple-pytest 框架使用指南
  • React中使用useActive
  • ElasticSearch安装和kibana控制台安装
  • VSCode安装与使用详细教程
  • 土壤墒情监测站的工作原理
  • Flutter 多标签页显示 有关TabController需要知道的知识
  • 【Elasticsearch专栏 16】深入探索:Elasticsearch的Master选举机制及其影响因素分析
  • Leetcode : 215. 数组中的第 K 个最大元素
  • node express实现Excel文档转json文件
  • 【算法分析与设计】最大二叉树
  • 面试问答总结之并发编程
  • 红外测温仪芯片方案开发设计
  • 五、数组——Java基础篇
  • 如何用golang写一个自己的后端框架
  • linux 如何给服务器批量做免密,如何批量挂在磁盘
  • Android Activity的生命周期详解
  • python学习笔记-内置类型
  • 校园微社区微信小程序源码/二手交易/兼职交友微信小程序源码
  • 如何在 Angular 中使用 NgTemplateOutlet 创建可重用组件
  • 改进的yolo交通标志tt100k数据集目标检测(代码+原理+毕设可用)
  • nginx 日志,压缩,https功能介绍
  • 代码随想录三刷day17
  • postcss-px-to-viewport include属性
  • C++设计模式——抽象工厂模式
  • Windows安装VNC连接工具并结合cpolar实现远程内网Ubuntu系统桌面