52. 文件上传篇——Apache漏洞原理

Apache解析漏洞

在Apache1.x与Apache2.x中存在解析漏洞,不管文件的后缀是什么,只要是.php.*结尾,就会被Apache服务器解析成PHP文件,问题是Apache如果在mime.types文件里面没有定义的扩展名比如x1.x2.x3的情况下,最后一个x3的没有定义,那么就会将其解析成倒数第二个的x2的定义的扩展名类型。所以xxx.php.rar或者xxx.php.111这些默认没有在mime.types文件定义的都会解析成PHP的。

如果上传的文件名使我们可以定义的,那么我们可以完全上传一个xxx.php.abc这样名字的webshell,Apache仍然会当做PHP来解析。

 

防御方法

在Apache配置文件(httpd.conf),禁止.php.这样的文件执行,配置文件里面加入

<Files~ "\.(php.|php3.)">

Order Allow,Deny

Denyfrom all

</Files>

 

上面的代码太骚了,耗用资源太大,所以另外在附上一个HostKer的某大牛写的

<FilesMatch"\.php\.[^*]{1,}$">

Order Allow,Deny

Denyfrom all

</FilesMatch>

当然,如果你不好意思(虚拟机用户)去修改httpd.conf文件,也可以添加到.htaccess文件中,效果是一样的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值