nginx文件解析漏洞测试

环境条件:ubuntu14,已安装docker,docker pull ubuntu:14.04.5

一、Nginx配置

1、使用docker启动容器:

docker run -itd --name ubuntu -p 8088:80 ubuntu:14.04.5

2、进入容器:

docker exec -it ubuntu /bin/bash

3、然后使用以下语句安装相关环境:(注意是在容器中执行)

①apt-get update # 更新源

②apt-get install vim #安装vim

③apt-get install nginx#安装nginx

④service nginx start#启动nginx服务

⑤apt-get install php5-fpm#安装php5-fpm

配置方法:

刚安装好的Nginx是不能解析php的,需要修改配置文件:/etc/nginx/sites-available/default:

①cd  /etc/nginx/sites-available/

②vim default

修改以下四项(不要忘记loaction也要打开)

Nginx的两种启动方式

第五行如果打开,就是使用tcp方式启动,php-fpm将会本地监听9000端口如果倒数第三行打开,则

是使用套接字方式启动。

现在使用/etc/init.d/php5-fpm start启动web服务然后到web目录中写一个测试的php文件,重启

nginx服务:尝试访问,如果可以解析,则环境配置成功。

③/etc/init.d/php5-fpm start

④cd /usr/share/nginx/html   进入web目录

创建测试程序

⑤vim   info.php

<?php phpinfo();?>

重启nginx服务

⑥service nginx restart

访问:192.168.129.136:8088/info.php

相关目录

/usr/share/nginx/html#默认web目录

/etc/nginx/# 配置文件目录

/etc/php5/fpm # php配置文件目录

/var/log/nginx/access.log #访问日志

/var/log/nginx/error.log # 错误日志

原理

1、对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加

为test.jpg/x.php 进行解析攻击。

2、对低版本的Nginx 可以在任意文件名后面添加%00.php 进行解析攻击。

3、Nginx下,请求文件/shell.gif时在后面加个*.php,即/shell.gif/1.php,可能会被当作PHP代码执行。

4、和Apache一样,Nginx也是通过mime.types识别文件:文件在/etc/nginx/mime.types

示例:

创建一个1.jpg,然后访问1.jpg/1.php显示:"Access denied."为什么?

Nginx拿到文件路径/1.jpg/1.php后,一看后缀是.php,便认为该文件是php文件转交给php去处理。

php一看/1.jpg/1.php不存在,便删去最后的/1.php,又看/1.jpg存在,便把/1jpg当成要执行的文件

了,又因为后缀为jpg,php认为这不是php文件,于是返回“Access denied.

从宿主机上传图片到容器

5、 docker cp /root/桌面/202405241631779.png 071eeea207dd:/usr/share/nginx/html


cgi.fix_pathinfo,该值默认为1,表示开启。

用途:对文件路径进行“修理’

当php遇到文件路径“/aaa.xxx/bbb.yyy/ccc.zzz”时,若然后判断“/aaa.xxx/bbb.yyy/ccc.zzz”不存在,

则会去掉最后的“/ccc.zzz”当做文件“/aaa.xxx/bbb.yyy”是否存在

若存在,则把“/aaa.xxx/bbb.yyy"/aaa.xxx/bbb.yyy/ccc.zzz",若“/aaa.xxx/bbb.yyy”仍不存在,则继

续去掉"/bbb.yyy”,以此类推。

配置:

cgi.fix_pathinfo这个配置在php.ini 中可以修改,默认是开启的

/etc/php5/fpm/php.ini

默认是1,不需要修改

在vim编辑器中/ 查找关键词

配置/etc/php5/fpm/pool.d/www.conf中security.limit_extensions允许解析其他格式文件为PHP

改为空

注意:把注意去掉

测试

再次访问1.png/1.php

这应该是尝试解析成php失败

文件解析漏洞修复方法:

1.将php.ini文件中的cgi.fix _pathinfo的值设为0。这样php在解析1jpg/1.php这样的目录时,只要

1.php不存在就会显示404。

2.将/etc/php5/fpm/pool.d/www.conf中security.limit extensions后面的值设为.php。

Nginx配置

配置方法:

相关目录

原理

配置:

文件解析漏洞修复方法:


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

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

相关文章

C++基础:类的继承,public,private,protected

三种继承模式 在上图中: 派生继承 三种继承模式 protected模式中 父类的公有属性和保护属性的成员在子类中都会变为保护属性,只能通过父类或者子类的成员函数调用. 代码示例: #include <iostream> #include <string> using namespace std; //protected class per…

RBA认证是什么?申请RBA认证的流程是什么?

RBA认证&#xff0c;全称为Responsible Business Alliance&#xff08;责任商业联盟&#xff09;认证&#xff0c;是一个全球性的企业社会责任&#xff08;CSR&#xff09;倡议&#xff0c;旨在通过推动供应链中的社会和环境责任实践&#xff0c;确保供应链的可持续性。该认证要…

stm32cubeMX简单使用(轻松配置时钟和中断等)ST图形代码生成器

大大加快代码编写速度的图形编译工具 需要的准备材料 需要注意的几点操作 1&#xff0c;管理固件库和软件&#xff0c;方便对应不同系列的硬件 2&#xff0c;新建工程 3&#xff0c;整体流程 这个软件的本质是用来生成代码&#xff0c;方便前期初始化操作 4&#xff0c;对引…

暴雨公司受邀参加中国图象图形大会

5月24日至26日&#xff0c;备受瞩目的中国图象图形大会&#xff08;CCIG 2024&#xff09;在古都西安圆满落幕。本届大会主题为“图聚智生&#xff0c;象合慧成”&#xff0c;由中国图象图形学学会主办&#xff0c;空军军医大学、西安交通大学、西北工业大学承办&#xff0c;陕…

List基本使用(C++)

目录 1.list的介绍 2.list的使用 list的构造 list的size() 和 max_size() list遍历操作 list元素修改操作 assign()函数 push_front(),push_back 头插&#xff0c;尾插 pop_front() pop_back 头删尾删 insert()函数 swap()函数 resize()函数 clear()函数 list类数…

微信小程序图片懒加载如何实现?

微信小程序开发时&#xff0c;对于有图片的列表在加载时&#xff0c;为了用户体验更好&#xff0c;必需要对图片做懒加载。 如下图所示&#xff0c;页面在打开时&#xff0c;图片会按需加载&#xff0c;这样用户体验没有那么生硬。 以下将介绍图片懒加载的步骤&#xff1a; 1.…

什么?电脑内存又不够用了?我来拯救你!

什么&#xff1f;电脑内存又不够用了&#xff1f;我来拯救你&#xff01; 现在手机电脑的内存越来越大&#xff0c;各个公司开发的软件也是越来越肆无忌惮的挥霍这些内存空间&#xff0c;QQ 微信啥的动辄占用好几个 G 的内存。对于新购买的电脑来说&#xff0c;这也不是什么大…

构建镜像时候出现奇怪的现象时候

一、背景 构建镜像时候&#xff0c;昨天还好好的&#xff0c;今天出现奇怪的现象 二、查看现象 docker system df#cache 显示600G 三、步骤 这操作比较轻微&#xff0c;20以前的缓存清理掉 docker builder prune --filter until480h # 清除20填以前的构建缓

clickhouse——ck目录介绍

一、ck目录 1、/etc/clickhouse-server: 服务端的配置文件目录&#xff0c;包括全局配置config.xml和用户配置users.xml等。 2、/var/lib/clickhouse 默认的数据存储目录&#xff08;通常会修改默认路径配置&#xff0c;将数据保存到大容量磁盘挂载的路径&#xff09; 3、/var…

图片提取表格要怎么做?7个软件教你快速进行图片识别

图片提取表格要怎么做&#xff1f;7个软件教你快速进行图片识别 要从图片中提取表格&#xff0c;您可以使用以下七款软件来快速进行图片识别和表格提取&#xff1a; 1.一键识别王&#xff1a;这是一款专业的OCR&#xff08;光学字符识别&#xff09;软件&#xff0c;可以帮助…

重生之 SpringBoot3 入门保姆级学习(05、 Bean 装配)

重生之 SpringBoot3 入门保姆级学习&#xff08;05、 Bean 装配&#xff09; [TOC](重生之 SpringBoot3 入门保姆级学习&#xff08;05、 Bean 装配&#xff09;)2.2.1 通过 ioc.xml 文件配置2.1.2 通过 Configuration 注解配置2.2.4 测试 Bean 是否生效 新建 User 类 package…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十二)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 19节&#xff09; P19《18.ArkUI组件-页面路由》 以访问京东页面为例&#xff0c;访问过的页面并没有消失&#xff0c;而是进入了…

使用LabVIEW开发RFID读卡器程序

使用LabVIEW开发RFID读卡器程序&#xff0c;涵盖硬件选择、初始化、数据读取与处理的整个流程。通过详细的开发步骤和示例代码&#xff0c;展示LabVIEW在快速开发和调试RFID应用中的优势&#xff0c;使用户能有效实现RFID技术在各类项目中的应用。 工作原理 RFID&#xff08;…

EMQX 的初始IP改为自己的实际IP

分类 EMQX Dashboard&#xff08;控制台&#xff09;: Dashboard提供了一个Web界面&#xff0c;用于管理和监控EMQX的运行状态。您可以通过配置dashboard.listeners.http.bind来设置Dashboard的监听地址和端口。例如&#xff0c;如果您想要Dashboard在所有网络接口上监听&#…

十分钟精通MinIO:minio的原理、部署、操作

一、认识MinIO Minio是一个简单易用的云存储服务&#xff0c;就像是一个放在网络上的大文件柜。想象一下&#xff0c;你有一间放满了各种文件的房间&#xff0c;有时候你需要把这些文件分享给朋友或者在不同地方访问它们。Minio就是帮你做到这一点的工具&#xff0c;它让你可以…

HTML+CSS+JavaScript网页制作案例教程第2版-黑马程序员-第8章动手实践

HTMLCSSJavaScript网页制作案例教程第2版-黑马程序员-第8章动手实践 文章目录 HTMLCSSJavaScript网页制作案例教程第2版-黑马程序员-第8章动手实践效果图代码素材 效果图 代码 <!doctype html> <html><head><meta charset"utf-8"><title…

Linux如何在目录下灵活创建、浏览、删除百万个文件

文章目录 一、创建百万级小文件1、单核CPU情况2、多核CPU情况3、执行效率对比3.1、单核的顺序执行3.2、多核的并发执行 二、如何列出/浏览这些文件1、查看目录下文件的数量2、列出&#xff1f;3、ls -f&#xff08;关闭排序功能&#xff09;3.1、执行效率对比 4、通过重定向导入…

flinkcdc 3.0 源码学习之客户端flink-cdc-cli模块

注意 : 本文章是基于flinkcdc 3.0 版本写的 我们在前面的文章已经提到过,flinkcdc3.0版本分为4层,API接口层,Connect链接层,Composer同步任务构建层,Runtime运行时层,这篇文章会对API接口层进行一个探索.探索一下flink-cdc-cli模块,看看是如何将一个yaml配置文件转换成一个任务…

电子画册制作技巧,从零基础到专业人士

电子画册作为一种新兴的视觉传达形式&#xff0c;正越来越受到大众的喜爱。从设计新手到专业人士&#xff0c;如何快速掌握电子画册的制作技巧&#xff0c;提升自己的创作水平呢&#xff1f; 一、明确设计目的和定位 制作电子画册前&#xff0c;首先要明确其设计目的和定位。画…

数字营销:以大数据作引擎,推动企业全面数字化升级

数字营销本质乃是以大数据为核之心&#xff0c;促使营销活动高效运作&#xff0c;消费者线上线下数据的无缝衔接、企业内外部数据的贯通、公域引流私域运营等&#xff0c;皆已成为企业运营的标准配置。 数据即等同于市场&#xff0c;市场即等同于用户&#xff0c;用户乃是企…