0


安全中级3:apache中间件漏洞

一、apache换行解析漏洞(apache版本在2.4.0~2.4.29)

1.原理

    该程序是采用黑名单的形式,如果文件后缀名不在名单内即可上传,所以 
a.php\x0A

不在黑名单列表中,可以上传。但是在fpm-php中

x0A

是换行符,所以apache会直接忽略,将其当成php来执行。

2.漏洞复现

(1)创建一个1.php的文件内容如下

<?php phpinfo(); ?>

(2)在浏览器打开http:192.168.191.129:8080

(3)上传我们刚才的1.php文件

(4)打开抓包工具burpsuit抓取数据包

(5)修改我们的文件名,在1.php后面加一个%0a换行符

(6)上传

(7)在次抓包,修改请求参数为get /1.php%0a

3.防御

    在上传文件的时候采用白名单的限制,或者升级apache的版本

二、apache多后缀解析漏洞

1.原理

    运维人员在配置http的默认配置文件的时候,开启了AddHandler application/x-httpd-php .php,虽然限制住了php文件,但是我们可以添加后缀.jpg,只要我们的后缀含有一个php文件就可以解析,没必要是最后一个后缀。

2.漏洞复现

(1)访问http:// 192.168.191.129:80

(2)上传一个1.php文件内容如下

<?php phpinfo(); ?>

(3)上传

(4)上传上述的文件,我们发现无法进行上传,我们修改我们的后缀名为.jpg,再次上传文件

(5)上传文件成功,访问http://192.168.191.129/uploadfiles/1.php.jpg

3.防御

    运维人员在运维配置的时候,尽量不要开启AddHandler application/x-httpd-php .php,这是由于我们的运维人员错误配置导致的。

三、apache SSI远程命令执行漏洞

1.原理

   我们上传php文件的时候,我们的服务器拒绝上传,但是 apache在配置文件的http.conf的时候开启了SSI(服务器端包含)服务,允许我们的html页面上传shtml文件,而我们的cgi是前端的一个脚本,我们利用他的语法执行任意的命令。

2.漏洞的复现

(1)创建一个以shtml结尾的文件1.shtml,内容如下

(2)访问我们的网页,http://192.168.191.129:8080/upload.php,上传一个php文件

(3)我们发现上传失败,我们重新上传1.shtml

(4)抓包,上传

(5)修改请求参数get /1.shtml

3.防御

    运维人员在配置我们http.conf文件的时候尽量不要去开启我们的SSI服务

四、

标签: 安全 php 开发语言

本文转载自: https://blog.csdn.net/weixin_62870380/article/details/130933836
版权归原作者 Computer Virus 所有, 如有侵权,请联系我们删除。

“安全中级3:apache中间件漏洞”的评论:

还没有评论