Nginx 配置錯誤導致漏洞

2021-09-25 17:11:40 字數 1197 閱讀 8931

crlf是」回車 + 換行」(\r\n)的簡稱,即我們都知道在http協議中,http header與http body是用兩個crlf分隔的,瀏覽器就是根據這兩個crlf來提取http 內容

一旦我們能夠控制http頭,通過注入一些crlf這樣就可以控制header和body的分割線,這樣我們就可以向body或是header中注入些東西了。所以crlf injection又叫http response splitting,簡稱hrs。

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

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

構造了固定會話漏洞,也可嘗試xss

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

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

訪問到了根目錄

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全部失效:

Nginx 配置錯誤導致漏洞

好好學習,天天向上 由於一些不安全的配置引起的漏洞 無這裡使用1版本 使用vulhub 使用docker啟動 docker compose build docker compose up d 執行成功後,nginx將會監聽8080 8081 8082三個埠,分別對應三種漏洞。nginx會將 uri進...

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

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

Spring Bean配置錯誤導致HTTP 500

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