Apache解析漏洞学习笔记

文章介绍了Apache解析漏洞的原理,该漏洞允许攻击者通过上传特定格式的文件利用Apache的文件解析机制执行恶意代码。Apache从右到左解析文件扩展名,不识别的扩展会被忽略。防御方法包括修改Apache配置以限制.php.*文件的访问,以及重命名上传文件和禁用脚本执行权限。此外,升级软件版本也是防范手段之一。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache解析漏洞的原理

目前解析漏洞主要存在于三大WEB服务程序,分别是IIS、NGINX和APACHE。

IIS6.0下主要是有两个解析漏洞,一个是目录解析,形如/xx.asp/xx.jpg,另一个就是文件解析,形如xx.asp;.jpg,可通过此漏洞上传shell,对服务器危害较大。

著名的nginx畸形解析漏洞。实验室已经有这个漏洞的实验,不再赘述。

Apache解析漏洞。测试环境是php+apache。Apache是从右到左开始判断解析,如果为不可识别解析,就再往左判断。比如xxx.php.rar对apache来说rar是不可解析的,所以就会解析成xxx.php。

Apache文件解析漏洞与用户的配置有密切关系。严格来说,属于用户配置问题,其实apache本身根本不存在所谓的解析漏洞。

Apache解析漏洞简单实验

通过简单上传页面证明apache解析漏洞:

登录客户机,用浏览器打开地址http://10.1.1.31/upload/,这是根目录下的upload目录,也是要上传的文件目录,现在是空的。

进入上传界面,先新建一个test.php.rar,内容是<?php phpinfo();?>然后上传。

Apache并不认识rar后缀名,对它来说会看成test.php。解析成功。其实整个漏洞的关键就是apache的"合法后缀"到底是哪些,不是"合法后缀"的都可以被利用。所以点开上传的那个文件,就会进入phpinfo.

防御:

由上面可知,在http://10.1.1.31/upload/下已经成功上传了test.php.rar,并且可错误解析成php。因此可以通过修改apache配置防御。

现在对apache的配置文件做适当修改,在文件中添加下面几行代码:

<FilesMatch".(php.|php3.|php4.|php5.)">

Order Deny,Allow

Deny from all

</FilesMatch>

禁止*.php.*文件的访问权限

保存并重启apache。现在再来测试,看不到上传的test.php.rar了。

可以通过修改程序文件来修改漏洞。

访问地址http://10.1.1.31/Defense.html,这是经过代码加强过后的上传页面,

再次上传test.php.rar。

看看后端代码:

除此以外,防御措施还可以是:

1.升级到高版本

2.将上传的文件重命名为时间戳+随机数+.jpg格式并禁用上传文件目录执行脚本权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夜之王。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值