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

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

1.原理

        该程序是采用黑名单的形式,如果文件后缀名不在名单内即可上传,所以 a.php\x0A不在黑名单列表中,可以上传。但是在fpm-php中x0A是换行符,所以apache会直接忽略,将其当成php来执行。

安全中级3:apache中间件漏洞_第1张图片

2.漏洞复现

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

安全中级3:apache中间件漏洞_第2张图片

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

安全中级3:apache中间件漏洞_第3张图片

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

安全中级3:apache中间件漏洞_第4张图片

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

安全中级3:apache中间件漏洞_第5张图片

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

(6)上传 

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

安全中级3:apache中间件漏洞_第6张图片

3.防御

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

二、apache多后缀解析漏洞

1.原理

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

2.漏洞复现

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

安全中级3:apache中间件漏洞_第7张图片

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

安全中级3:apache中间件漏洞_第8张图片

(3)上传

安全中级3:apache中间件漏洞_第9张图片

安全中级3:apache中间件漏洞_第10张图片

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

安全中级3:apache中间件漏洞_第11张图片

安全中级3:apache中间件漏洞_第12张图片

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

安全中级3:apache中间件漏洞_第13张图片

3.防御

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

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

1.原理

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

2.漏洞的复现

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

安全中级3:apache中间件漏洞_第14张图片

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

安全中级3:apache中间件漏洞_第15张图片

 安全中级3:apache中间件漏洞_第16张图片

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

安全中级3:apache中间件漏洞_第17张图片

(4)抓包,上传

安全中级3:apache中间件漏洞_第18张图片

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

安全中级3:apache中间件漏洞_第19张图片

3.防御

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

四、

你可能感兴趣的:(安全,php,开发语言)