Apache中间件漏洞复现

漏洞复现可采用vulhub 方便快捷强烈推荐

kali复现apache未知扩展名解析漏洞

  1. 复现
    我上传了一个名字叫shell.php.aaa 的文件,当此特性存在的时候,一看.aaa不认识,
    继续解析,.php我认识,解析成php文件了。访问也是同理,比如访问phpinfo.php.qqq可成功显示phpinfo

那么哪些后缀Apache不认识?
不在mime.types当中的都不认识 (Multipurpose Internet Mail Extensions)
在这里插入图片描述

sudo service apache2
restart cd /etc/apache2/mods-enabled sudo 
vim php7.4.conf

在这里插入图片描述

把$换成. 然后重启apache即可解析成php

sudo service apache2 restart 

在/var/www/html 创建shell.php.aaa 并写入 <?php phpinfo();?>
访问本地文件
在这里插入图片描述
4.修复建议
解决方案一
在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:

<FilesMatch ".(php.|php3.|php4.|php5.)"> 
Order Deny,Allow
Deny from all 
</FilesMatch>

解决方案二
如果需要保留文件名,可以修改程序源代码,替换上传文件名中的“.”为“_”:

$filename = str_replace('.', '_', $filename);

2.2 AddHandler导致的解析漏洞

1.漏洞:
(1)apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后往前解析,直到遇到认识的扩
展名为止
(2)如果都不认识将会暴露源码。
在apache配置不当的时候就会造成apache解析漏洞。
2.复现:
1、在httpd.conf 把注释去掉,后缀是存在.php .phtml都会解析成php文件

AddType application/x-httpd-php .php .phtml

在这里插入图片描述

在这里插入图片描述
3.修复建议
1.在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:

<FilesMatch ".(php.|php3.|php4.|php5.)"> 
Order Deny,Allow Deny from all 
</FilesMatch>

2.把配置不当的文件进行修改

2.3 目录遍历漏洞

1.原理
原理:当客户端访问到一个目录时,Apache服务器将会默认寻找一个index list中的文件,若文 件不存
在,则会列出当前目录下所有文件或返回403状态码,而列出目录下所有文件的行为称为目录遍历。
2.复现
httpd.conf
在这里插入图片描述

在这里插入图片描述
3.防御
在httpd.conf文件中找到Options + Indexes + FollowSymLinks + ExecCGI并修改成Options - Indexes +FollowSymLinks + ExecCGI并保存(吧+修改为-)

+ Indexes 允许目录浏览 — Indexes 禁止目录浏览

在这里插入图片描述

2.4 Apache HTTPD 换行解析漏洞(CVE-2017-15715)

1.漏洞描述

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

可以看到这里获取文件名是需要单独post一个name的,因为如果通过 $_FILES[‘file’][‘name’] 获
取文件名的话,会把\x0a自动去除,所以 $_FILES[‘file’][‘name’] 这种方式获取文件名就不会造成这个漏洞

2.影响范围

apache :2.4.0~2.4.29版本

3.漏洞复现

用vulhub 搭建
在这里插入图片描述

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

参考:https://blog.cfyqy.com/article/b0e821f4.html

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

漏洞复现
上传一个名为index.php的文件,被拦截,在index.php后面插入一个\x0A(注意,不能是\x0D\x0A,只能是一个\x0A),不再拦截

在这里插入图片描述

访问刚才上传的/index.php%0a,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:
在这里插入图片描述

修复建议
1.升级到最新版本
2.或将上传的文件重命名为为时间戳+随机数+.jpg的格式并禁用上传文件目录执行

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月清风~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值