Nginx解析漏洞复现
0x00 前言
nginx解析漏洞因为用户配置不当造成的漏洞。
解析格式:1.jpg/.php、1.jpg/%00.php,1.jpg会被当成php格式解析
nginx和iis7.x解析漏洞类似,都是加上/.php后文件以php格式解析。
配置文件vim /etc/php5/fpm/php.ini、vim /etc/php5/fpm/pool.d/www.conf
关键配置项: cgi.fix_pathinfo=1,security.limit_extensions=允许解析其他格式为php,则存在解析漏洞。
0x01 环境搭建
直接使用docker来搭建漏洞环境
下载漏洞环境: |
0x02 漏洞复现
搭建好的页面
上传一个图片马
使用burp获取返回的上传目录文件名
在图片后面加/.php,解析成功,可以看见php的一句话被执行了
使用中国蚁剑连接成功
0x03 总结
总体来说是因为配置不当造成的一个解析漏洞,实战环境下可以先测试是否存在解析漏洞,偷懒没有自己搭建直接使用的docker,可能漏洞理解不深刻。。
解决方法:
主要是两个配置文件中配置不当造成的。
修改配置文件vim /etc/php5/fpm/php.ini
将cgi.fix_pathinfo=1,设置为0
修改配置文件vim /etc/php5/fpm/pool.d/www.conf
将security.limit_extensions=,设置为:
security.limit_extensions=.php,只允许php文件解析。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Time'Blog!
评论