0
点赞
收藏
分享

微信扫一扫

Nginx-解析漏洞

漏洞描述

由于Nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,为此可以构造http://liuwx.cn/test.png/.php (url结尾不一定是‘.php’,任何服务器端不存在的php文件均可,比如’a.php’),其中test.png是我们上传的包含PHP代码的照片文件。

漏洞复现环境

1
2
3
4
5
Windows Server 2003

Nginx

PhpStudy

版本环境是:Nginx + PHP5.2

在这里我物理主机的IP是:192.168.1.101

2008虚拟机的IP是:192.168.119.134

访问:http://192.168.119.134/

环境搭建完毕!

Nginx-解析漏洞复现

一个一句话图片木马为:test.jpg,如果在URL中访问:http://www.liuwx.cn/test.jpg/.a.php会吧图片当做脚本格式解析执行!

访问:http://192.168.119.134/1.jpg

可以看到是一个正常的图片!

当在RUL后面加一个/*.php或者是/.php,就会被当做脚本文件执行!

访问:http://192.168.119.134/1.jpg/a.php

为了演示,我在hacker.jpg中添加了:

1
2
3
<?php
    phpinfo();
?>

访问:http://192.168.119.134/hacker.jpg是一张图片!

我们按照Nginx解析漏洞,后面加上/.php

成功执行phpinfophp代码!

漏洞防御

1、将php.ini文件中的cgi.fix_pathinfo的值设置为1

2、将/etc/php5/fpm/pool.d/www.confsecurity.limit_ectensions后面的值设置为.php

举报

相关推荐

0 条评论