Nginx 配置錯誤導致漏洞

2021-10-12 10:33:26 字數 1636 閱讀 8432

好好學習,天天向上

由於一些不安全的配置引起的漏洞

無這裡使用1版本

使用vulhub

使用docker啟動

docker-compose build

docker-compose up -d

執行成功後,nginx將會監聽8080/8081/8082三個埠,分別對應三種漏洞。

nginx會將$uri進行解碼,導致傳入%0a%0d即可引入換行符,造成crlf注入漏洞。

錯誤的配置檔案示例(原本的目的是為了讓http的請求跳轉到https上):

location /
payload如下,可注入set-cookie頭。

可以看到,其實**已經注入,但是我這裡沒執行,不過set-cookie頭還是被改變了

nginx在配置別名(alias)的時候,如果忘記加/,將造成乙個目錄穿越漏洞。

錯誤的配置檔案示例(原本的目的是為了讓使用者訪問到/home/目錄下的檔案):

location /files

payload如下,成功穿越到根目錄,訪問etc下的passwd

nginx配置檔案子塊(server、location、if)中的add_header,將會覆蓋父塊中的add_header新增的http頭,造成一些安全隱患。

如下列**,整站(父塊中)新增了csp頭:

add_header content-security-policy "default-src 'self'";

add_header x-frame-options deny;

location = /test1

location = /test2

但/test2的location中又新增了x-content-type-options頭,導致父塊中的add_header全部失效:

poc(ie中觸發xss)

關閉映象(每次用完後關閉)

docker-compose down
拉映象(進入到vulhub某個具體目錄後)

docker-compose build

docker-compose up -d

映象查詢(查到的第一列就是id值)

docker ps -a
進入指定映象裡面(根據上一條查出的id進入)

docker exec -it id /bin/bash
關閉映象(每次用完後關閉)

docker-compose down

Nginx 配置錯誤導致漏洞

crlf是 回車 換行 r n 的簡稱,即我們都知道在http協議中,http header與http body是用兩個crlf分隔的,瀏覽器就是根據這兩個crlf來提取http 內容 一旦我們能夠控制http頭,通過注入一些crlf這樣就可以控制header和body的分割線,這樣我們就可以向bo...

Druid配置錯誤導致未授權訪問漏洞

在使用xray掃瞄時發現了下圖所示漏洞,經過查閱資料發現為druid的未授權訪問漏洞。druid是阿里巴巴資料庫出品的,為監控而生的資料庫連線池,並且druid提供的監控功能,監控sql的執行時間 監控web uri的請求 session監控,首先druid是不存在什麼漏洞的。但當開發者配置不當時就...

Spring Bean配置錯誤導致HTTP 500

用超級使用者能成功登入系統,用普通賬號在登入系統跳轉到錯誤處理頁面,檢查後台卻沒有任何錯誤。百思不得其解。懷疑問題可能是如下2個原因造成的 普通賬號沒有相關的許可權?spring security的配置不正確 經過詳細檢查後,排除了上面的兩個原因。系統在web.xml裡配置了如下的錯誤處理頁面 1 ...