您好,登錄后才能下訂單哦!
這篇文章主要介紹“nginx有什么常見漏洞”,在日常操作中,相信很多人在nginx有什么常見漏洞問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”nginx有什么常見漏洞”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
影響版本為: Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
漏洞說明:這個漏洞其實和代碼執行沒有太大關系,其主要原因是錯誤地解析了請求的URI,
錯誤地獲取到用戶請求的文件名,導致出現權限繞過、代碼執行的連帶影響。
漏洞測試
環境搭建:
在本地搭建一個nginx:1.4.2的上傳頁面
漏洞復現過程:
1.首先判斷其文件上傳的格式為白名單機制,上傳一個1.jpg的木馬,抓包后進行修改在其后加入一個空格—>1.jpg
然后放包
2.發現其地址
3.構建請求url:http://192.168.127.133:8080/uploadfiles/1.jpgaaaphp
抓包后修改其2進制值將61 61 61 分別改為 20 00 2e
然后放包
影響版本:和nginx,php版本無關,這是由于php中的選項cgi.fix_pathinfo的默認值被開啟,所以當nginx看到.php結尾的文件就交給了php處理,相當于iis7.5的解析漏洞
漏洞復現:
1.上傳一張正常的圖片馬繞過檢測
2.然后加/.php這樣會發現圖片被解析成php代碼
影響版本:0.5,0.6 ,0.7<=0.7.65,0.8<=0.8.37
漏洞原理:php-fastcgi在執行php文件時,url在處理%00空字節與fastcgi處理不一致,使得我們在其他文件插入php代碼,訪問url+%00.php即可執行其中php代碼
漏洞詳情:
在nginx作為反向代理服務器,且開啟了緩存時,攻擊者可以構造惡意的range域,來獲取相應的服務器中的緩存文件頭部信息,導致敏感的服務器信息泄露
相關文章檢索:https://www.freebuf.com/articles/terminal/140402.html
影響版本:Nginx 0.5.6 - 1.13.2
環境搭建
使用腳本 發現其帶出部分緩存信息
原理:CRLF是“回車 + 換行”(\r\n)的簡稱。在HTTP協議中,HTTP Header與HTTP Body是用兩個CRLF分隔的,瀏覽器就是根據這兩個CRLF(使用payload %0a%0d%0a%0d進行測試)來取出HTTP內容并顯示出來。所以,一旦我們能夠控制HTTP消息頭中的字符,注入一些惡意的換行,這樣我們就能注入一些會話Cookie(http://www.xx.com%0a%0d%0a%0dSet-cookie:JSPSESSID%3Dxxx)或者HTML代碼(http://www.xx.com/?url=%0a%0d%0a%0d<img src=1 onerror=alert("xss")>),所以CRLF Injection又叫HTTP Response Splitting,簡稱HRS。
Nginx在配置別名(Alias)的時候,如果忘記加/
,將造成一個目錄穿越漏洞。
錯誤的配置文件示例(原本的目的是為了讓用戶訪問到/home/目錄下的文件):
location /files { alias /home/; }
Payload:http://your-ip:8081/files../
,成功穿越到根目錄:
到此,關于“nginx有什么常見漏洞”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。