漏洞描述
-
前言
Nginx是一個高性能的HTTP和反向代理服務(wù)器,經(jīng)常被做為反向代理,動態(tài)的部分被proxy_pass傳遞給后端端口,而靜態(tài)文件需要Nginx來處理。漏洞出現(xiàn)在服務(wù)器的靜態(tài)文件中。如果靜態(tài)文件存儲在/home/目錄下,而該目錄在url中名字為files,那么就需要用alias設(shè)置目錄的別名。
Nginx在配置別名(Alias)的時候,如果忘記加/,將造成一個目錄穿越漏洞。
-
修改nginx.conf
在如下配置中設(shè)置目錄別名時/files配置為/home/的別名,那么當(dāng)我們訪問/files…/時,nginx實際處理的路徑時/home/…/,從而實現(xiàn)了穿越目錄。
漏洞復(fù)現(xiàn)
環(huán)境搭建
-
安裝Nginx
環(huán)境:Ubuntu 16.04 + Nginx 1.11.3
# 獲得root權(quán)限 sudo -i # 安裝nginx依賴庫和gcc g++的依賴庫 apt-get install build-essential apt-get install libtool # 安裝pcre依賴庫 apt-get install libpcre3 libpcre3-dev # 安裝zlib依賴庫 apt-get install zlib1g-dev # 安裝ssl依賴庫 apt-get install openssl # 安裝nginx wget http://nginx.org/download/nginx-1.11.3.tar.gz # 解壓 tar -zxvf nginx-1.11.3.tar.gz # 進(jìn)入解壓目錄: cd nginx-1.11.3 # 配置 ./configure --prefix=/usr/local/nginx # 安裝nginx make # 啟動nginx /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
-
驗證搭建是否成功
漏洞驗證
-
修改Nginx配置文件
apt-get install vim vim /usr/local/nginx/conf/nginx.conf
-
重啟Nginx
cd /usr/local/nginx ./sbin/nginx -s reload
-
正常訪問
-
目錄穿越(遍歷)
漏洞修復(fù)
-
修改Nginx配置文件
修改/usr/local/nginx/conf/nginx.conf,使用/閉合/files,形成/files/。
-
重啟Nginx
cd /usr/local/nginx ./sbin/nginx -s reload
-
修復(fù)驗證
參考鏈接
-
Nginx 配置錯誤導(dǎo)致漏洞(目錄遍歷漏洞)——漏洞復(fù)現(xiàn)
https://blog.csdn.net/weixin_40412037/article/details/106234134
-
[漏洞復(fù)現(xiàn)]——nginx目錄穿越漏洞文章來源:http://www.zghlxwxcb.cn/news/detail-443446.html
https://blog.csdn.net/m0_46607055/article/details/121641417文章來源地址http://www.zghlxwxcb.cn/news/detail-443446.html
到了這里,關(guān)于Nginx漏洞修復(fù)之目錄穿越(目錄遍歷)漏洞復(fù)現(xiàn)及修復(fù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!