Ngnix解析漏洞

本文详细介绍了三种安全漏洞:1) 畸形解析漏洞,由于php.ini配置不当,允许非PHP文件被解析执行;2) %00空字节代码解析漏洞,利用Nginx对%00的处理差异执行PHP代码,影响特定Nginx版本;3) CVE-2013-4547,通过%20%00非法字符组合欺骗Nginx解析错误,执行非预期PHP代码。这些漏洞可能导致服务器安全风险,需及时修复配置和更新软件。
摘要由CSDN通过智能技术生成

1.畸形解析漏洞(test.jpg/*.php)

漏洞原因:
php的配置文件 php.ini 文件中开启了 cgi.fix_pathinfo
/etc/php5/fpm/pool.d/www.conf中不正确的配置security.limit_extensions,导致允许将其他格式文件作为php解析执行

2.%00空字节代码解析漏洞

漏洞原因:
Ngnix在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问xxx.jpg%00.php来执行其中的代码。

在以下版本的nginx中,我们在图片中嵌入PHP代码然后通过访问 xxx.jpg%00.php 来执行其中的代码
Nginx 0.5.*
Nginx 0.6.*
Nginx 0.7 <= 0.7.65
Nginx 0.8 <= 0.8.37

3.CVE-2013-4547(%20%00)

漏洞原因:
非法字符空格和截止符(%00)会导致Nginx解析URI时的有限状态机混乱,危害是允许攻击者通过一个非编码空格绕过后缀名限制。是什么意思呢?举个例子,假设服务器上存在文件:“file.jpg ”,注意文件名的最后一个字符是空格。则可以通过访问:
http://127.0.0.1/file.jpg \0.php
让Nginx认为文件“file.jpg ”的后缀为“.php”。
测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值