日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx 上传文件漏洞_nginx解析漏洞复现

發布時間:2024/1/23 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx 上传文件漏洞_nginx解析漏洞复现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

nginx解析漏洞復現

一、漏洞描述

該漏洞與nginx、php版本無關,屬于用戶配置不當造成的解析漏洞

二、漏洞原理

1、 由于nginx.conf的如下配置導致nginx把以’.php’結尾的文件交給fastcgi處理,為此可以構造http://ip/uploadfiles/test.png/.php (url結尾不一定是‘.php’,任何服務器端不存在的php文件均可,比如’a.php’),其中test.png是我們上傳的包含PHP代碼的照片文件。

2、但是fastcgi在處理’.php’文件時發現文件并不存在,這時php.ini配置文件中cgi.fix_pathinfo=1 發揮作用,這項配置用于修復路徑,如果當前路徑不存在則采用上層路徑。為此這里交由fastcgi處理的文件就變成了’/test.png’。

3、 最重要的一點是php-fpm.conf中的security.limit_extensions配置項限制了fastcgi解析文件的類型(即指定什么類型的文件當做代碼解析),此項設置為空的時候才允許fastcgi將’.png’等文件當做代碼解析。

注:限制fpm允許解析的腳本擴展名。此設置可以預防web服務器配置的錯誤。應當限制fpm僅僅解析.php擴展名,阻止惡意用戶使用其他擴展名運行php代碼。默認值:.php

三、漏洞環境搭建和復現

1、 使用docker搭建漏洞環境

2、 執行如下命令,運行環境

docker-compose up -d

3、 瀏覽器訪問http://172.17.0.1/

4、上傳一個圖片,burp抓包,修改數據包,在末尾添加<?php phpinfo();?>

5、瀏覽器訪問http://172.17.0.1/uploadfiles/3626850d481efd38a8ae8164011f41b2.jpg/a.php

下圖看到成功執行了php代碼,說明存在解析漏洞

6、修改php-fpm.conf的配置文件

7、重啟服務

docker-compose restart

8、瀏覽器再次訪問http://172.17.0.1/uploadfiles/b5f7a062d84869fe4f3af35b79fca50c.jpg/x.php,發現被拒絕,說明漏洞被修復

四、漏洞防御

1、 將php.ini文件中的cgi.fix_pathinfo的值設置為0,這樣php再解析1.php/1.jpg這樣的目錄時,只要1.jpg不存在就會顯示404頁面

2、 php-fpm.conf中的security.limit_extensions后面的值設置為.php

總結

以上是生活随笔為你收集整理的nginx 上传文件漏洞_nginx解析漏洞复现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。