Web常見漏洞描述及修復建議

Web常見漏洞描述及修復建議(Description of common Web vulnerabilities and Suggestions for fixing them)-來自:https://www.cnblogs.com/iAmSoScArEd/p/10651947.html-我超怕的php

1.SQL注入

  漏洞描述html

  Web程序中對於用戶提交的參數未作過濾直接拼接到SQL語句中執行,致使參數中的特殊字符破壞了SQL語句原有邏輯,攻擊者能夠利用該漏洞執行任意SQL語句,如查詢數據、下載數據、寫入webshell、執行系統命令以及繞過登陸限制等。前端

  修復建議java

代碼層最佳防護sql漏洞方案:使用預編譯sql語句查詢和綁定變量。python

  (1)使用預編譯語句,使用PDO須要注意不要將變量直接拼接到PDO語句中。全部的查詢語句都使用數據庫提供的參數化查詢接口,參數化的語句使用參數而不是將用戶輸入變量嵌入到SQL語句中。當前幾乎全部的數據庫系統都提供了參數化SQL語句執行接口,使用此接口能夠很是有效的防止SQL注入攻擊。web

  (2)對進入數據庫的特殊字符(’」<>&*;等)進行轉義處理,或編碼轉換。正則表達式

  (3)確認每種數據的類型,好比數字型的數據就必須是數字,數據庫中的存儲字段必須對應爲int型。算法

  (4)數據長度應該嚴格規定,能在必定程度上防止比較長的SQL注入語句沒法正確執行。sql

  (5)網站每一個數據層的編碼統一,建議所有使用UTF-8編碼,上下層編碼不一致有可能致使一些過濾模型被繞過。shell

  (6)嚴格限制網站用戶的數據庫的操做權限,給此用戶提供僅僅可以知足其工做的權限,從而最大限度的減小注入攻擊對數據庫的危害。

  (7)避免網站顯示SQL錯誤信息,好比類型錯誤、字段不匹配等,防止攻擊者利用這些錯誤信息進行一些判斷。

  (8)過濾危險字符,例如:採用正則表達式匹配union、sleep、and、select、load_file等關鍵字,若是匹配到則終止運行。

2.XSS

  漏洞描述

  一、Web程序代碼中對用戶提交的參數未作過濾或過濾不嚴,致使參數中的特殊字符破壞了HTML頁面的原有邏輯,攻擊者能夠利用該漏洞執行惡意HTML/JS代碼、構造蠕蟲、篡改頁面實施釣魚攻擊、以及誘導用戶再次登陸,而後獲取其登陸憑證等。

  二、XSS攻擊對Web服務器自己雖無直接危害,可是它藉助網站進行傳播,對網站用戶進行攻擊,竊取網站用戶帳號身份信息等,從而也會對網站產生較嚴重的威脅。

 

XSS攻擊可致使如下危害:

  一、釣魚欺騙:最典型的就是利用目標網站的反射型跨站腳本漏洞將目標網站重定向到釣魚網站,或者經過注入釣魚JavaScript腳本以監控目標網站的表單輸入,甚至攻擊者基於DHTML技術發起更高級的釣魚攻擊。

  二、網站掛馬:跨站時,攻擊者利用Iframe標籤嵌入隱藏的惡意網站,將被攻擊者定向到惡意網站上、或彈出惡意網站窗口等方式,進行掛馬。

  三、身份盜用:Cookie是用戶對於特定網站的身份驗證標誌,XSS攻擊能夠盜取用戶的cookie,從而利用該cookie盜取用戶對該網站的操做權限。

  四、盜取網站用戶信息:當竊取到用戶cookie從而獲取到用戶身份時,攻擊者能夠盜取到用戶對網站的操做權限,從而查看用戶隱私信息。

  五、垃圾信息發送:在社交網站社區中,利用XSS漏洞借用被攻擊者的身份發送大量的垃圾信息給特定的目標羣。

  六、劫持用戶Web行爲:一些高級的XSS攻擊甚至能夠劫持用戶的Web行爲,從而監視用戶的瀏覽歷史、發送與接收的數據等等。

  七、XSS蠕蟲:藉助XSS蠕蟲病毒還能夠用來打廣告、刷流量、掛馬、惡做劇、破壞數據、實施DDoS攻擊等。

  修復建議

xss漏洞本質上是一種html注入,也就是將html代碼注入到網頁中。那麼其防護的根本就是在將用戶提交的代碼顯示到頁面上時作好一系列的過濾與轉義

  (1)過濾輸入的數據,對例如:「 ‘ 」,「 「 」,」 < 「,」 > 「,」 on* 「,script、iframe等危險字符進行嚴格的檢查。這裏的輸入不只僅是用戶能夠直接交互的輸入接口,也包括HTTP請求中的Cookie中的變量,HTTP請求頭部中的變量等。

  (2)不只驗證數據的類型,還要驗證其格式、長度、範圍和內容。

  (3)不只在客戶端作數據的驗證與過濾,關鍵的過濾步驟在服務端進行。

  (4)對輸出到頁面的數據進行相應的編碼轉換,如HTML實體編碼、JS編碼等。對輸出的數據也要檢查,數據庫裏的值有可能會在一個大網站的多處都有輸出,即便在輸入作了編碼等操做,在各處的輸出點時也要進行檢查。

3.XXE

  漏洞詳情

  參考:https://www.freebuf.com/company-information/165769.html

4.CSRF

  漏洞描述

  CSRF是跨站請求僞造,不攻擊網站服務器,而是冒充用戶在站內的正常操做。一般因爲服務端沒有對請求頭作嚴格過濾引發的。CSRF會形成密碼重置,用戶僞造等問題,可能引起嚴重後果。絕大多數網站是經過 cookie 等方式辨識用戶身份,再予以受權的。因此要僞造用戶的正常操做,最好的方法是經過 XSS 或連接欺騙等途徑,讓用戶在本機(即擁有身份 cookie 的瀏覽器端)發起用戶所不知道的請求。CSRF攻擊會令用戶在不知情的狀況下攻擊本身已經登陸的系統。

  修復建議

  一、驗證請求的Referer是否來自本網站,但可被繞過。

  二、在請求中加入不可僞造的token,並在服務端驗證token是否一致或正確,不正確則丟棄拒絕服務。

5.SSRF

  漏洞描述

  SSRF(Server-Side Request Forgery,服務器端請求僞造):通俗的來講就是咱們能夠僞造服務器端發起的請求,從而獲取客戶端所不能獲得的數據。SSRF漏洞造成的緣由主要是服務器端所提供的接口中包含了所要請求的內容的URL參數,而且未對客戶端所傳輸過來的URL參數進行過濾。這個漏洞形成的危害有:

  (1)、能夠對外網、服務器所在內網、本地進行端口掃描,獲取一些服務的banner信息;

  (2)、攻擊運行在內網或本地的應用程序(好比溢出);

  (3)、對內網Web應用進行指紋識別,經過訪問默認文件實現;

  (4)、攻擊內外網的Web應用,主要是使用Get參數就能夠實現的攻擊(好比Struts2漏洞利用,SQL注入等);

  (5)、利用File協議讀取本地文件。

  修復建議

  一、禁用不須要的協議,只容許HTTP和HTTPS請求,能夠防止相似於file://, gopher://, ftp:// 等引發的問題。

  二、白名單的方式限制訪問的目標地址,禁止對內網發起請求

  三、過濾或屏蔽請求返回的詳細信息,驗證遠程服務器對請求的響應是比較容易的方法。若是web應用是去獲取某一種類型的文件。那麼在把返回結果展現給用戶以前先驗證返回的信息是否符合標準。

  四、驗證請求的文件格式

  五、禁止跳轉

  六、限制請求的端口爲http經常使用的端口,好比 80、44三、8080、8000等

  七、統一錯誤信息,避免用戶能夠根據錯誤信息來判斷遠端服務器的端口狀態。

6.任意命令/代碼執行

  漏洞描述

  命令或代碼執行漏洞是指代碼未對用戶可控參數作過濾,致使直接帶入執行命令和代碼,經過漏洞執行惡意構造的語句,執行任意命令或代碼。攻擊者可在服務器上執行任意命令,讀寫文件操做等,危害巨大。

  修復建議

  一、嚴格過濾用戶輸入的數據,禁止執行非預期系統命令。

  二、減小或不使用代碼或命令執行函數

  三、客戶端提交的變量在放入函數前進行檢測

  四、減小或不使用危險函數

7.任意文件上傳

  漏洞描述

  文件上傳漏洞一般因爲代碼中對文件上傳功能所上傳的文件過濾不嚴或web服務器相關解析漏洞未修復而形成的,若是文件上傳功能代碼沒有嚴格限制和驗證用戶上傳的文件後綴、類型等,攻擊者可經過文件上傳點上傳任意文件,包括網站後門文件(webshell)控制整個網站。

  修復建議

  一、對上傳文件類型進行驗證,除在前端驗證外在後端依然要作驗證,後端能夠進行擴展名檢測,重命名文件,MIME類型檢測以及限制上傳文件的大小等限制來防護,或是將上傳的文件其餘文件存儲服務器中。

  二、嚴格限制和校驗上傳的文件,禁止上傳惡意代碼的文件。同時限制相關上傳文件目錄的執行權限,防止木馬執行。

  三、對上傳文件格式進行嚴格校驗,防止上傳惡意腳本文件;

  四、嚴格限制上傳的文件路徑。

  五、文件擴展名服務端白名單校驗。

  六、文件內容服務端校驗。

  七、上傳文件重命名。

  八、隱藏上傳文件路徑。

8.目錄穿越

  漏洞描述

  文件下載或獲取文件顯示內容頁面因爲未對傳入的文件名進行過濾,利用路徑回溯符../跳出程序自己的限制目錄,來下載或顯示任意文件。

  修復建議

  對傳入的文件名參數進行過濾,而且判斷是不是容許獲取的文件類型,過濾回溯符../。

9.文件包含

  漏洞描述

  本地文件包含是指程序在處理包含文件的時候沒有嚴格控制。利用這個漏洞,攻擊者能夠先把上傳的文件、網站日誌文件等做爲代碼執行或直接顯示出來,或者包含遠程服務器上的惡意文件,進而獲取到服務器權限。

  修復建議

  一、嚴格檢查變量是否已經初始化。

  二、對全部輸入提交可能包含的文件地址,包括服務器本地文件及遠程文件,進行嚴格的檢查,參數中不容許出現./和../等目錄跳轉符。

  三、嚴格檢查文件包含函數中的參數是否外界可控。

10.弱口令

  漏洞描述

  因爲網站用戶賬號存在弱口令,致使攻擊者經過弱口令可輕鬆登陸到網站中,從而進行下一步的攻擊,如上傳webshell,獲取敏感數據。

  另外攻擊者利用弱口令登陸網站管理後臺,可執行任意管理員的操做。

  修復建議

  一、強制用戶首次登陸時修改默認口令,或是使用用戶自定義初始密碼的策略;

  二、完善密碼策略,信息安全最佳實踐的密碼策略爲8位(包括)以上字符,包含數字、大小寫字母、特殊字符中的至少3種。

  三、增長人機驗證機制,限制ip訪問次數。

11.暴力破解

  漏洞描述

  因爲沒有對登陸頁面進行相關的人機驗證機制,如無驗證碼、有驗證碼但可重複利用以及無登陸錯誤次數限制等,致使攻擊者可經過暴力破解獲取用戶登陸帳號和密碼。

  修復建議

  一、若是用戶登陸次數超過設置的閾值,則鎖定賬號(有惡意登陸鎖定賬號的風險)

  二、若是某個 IP登陸次數超過設置的閾值,則鎖定IP

  三、增長人機驗證機制

  四、驗證碼必須在服務器端進行校驗,客戶端的一切校驗都是不安全的。

12.越權訪問

  漏洞描述

  因爲沒有對用戶訪問角色的權限進行嚴格的檢查及限制,致使當前帳號可對其餘帳號進行相關操做,如查看、修改等。對低權限對高權限帳戶的操做爲縱向越權,相同權限帳戶之間的操做成爲橫向越權也稱水平越權。

  修復建議

  一、對用戶訪問角色的權限進行嚴格的檢查及限制。

  二、在一些操做時可使用session對用戶的身份進行判斷和控制

13.未受權訪問

  漏洞描述

  因爲沒有對網站敏感頁面進行登陸狀態、訪問權限的檢查,致使攻擊者可未受權訪問,獲取敏感信息及進行未受權操做。

  修復建議

  一、頁面進行嚴格的訪問權限的控制以及對訪問角色進行權限檢查。

  二、可使用session對用戶的身份進行判斷和控制。

14.目錄遍歷/列目錄

  漏洞描述

  因爲web服務器配置不當,開啓了目錄瀏覽,攻擊者可得到服務器上的文件目錄結構,獲取敏感文件。

  修復建議

  一、經過修改配置文件,禁止中間件(如IIS、apache、tomcat)的文件目錄索引功能

  二、設置目錄訪問權限

15.PHP反序列化

漏洞描述

  php反序列化漏洞也叫PHP對象注入,造成緣由爲程序未對用戶輸入的序列化字符串進行檢測,致使攻擊者能夠控制反序列化過程,從而致使代碼執行、文件操做、執行數據庫操做等不可控後果。這一類攻擊在java、python等面嚮對象語言中均存在。

可參考:https://www.freebuf.com/articles/web/167721.html

  修復建議

  一、對傳入的對象進行嚴格的過濾檢查

  二、在反序列化過程執行的文件讀寫、命令或代碼執行函數中是否有用戶可控的參數。

16.http slow拒絕服務攻擊

  漏洞描述

  按照設計,HTTP協議要求服務器在處理以前徹底接收請求。 若是HTTP請求沒有完成,或者傳輸速率很是低,服務器會保持其資源忙於等待其他數據。若是服務器保持太多的資源請求和處理,這將形成一個拒絕服務。嚴重者一臺主機便可讓web運行緩慢甚至是崩潰。

  修復建議

  對於 Apache 能夠作如下優化(其餘服務器原理相同):

  一、設置合適的 timeout 時間(Apache 已默認啓用了 reqtimeout 模塊),規定了 Header 發送的時間以及頻率和 Body 發送的時間以及頻率

  二、增大 MaxClients(MaxRequestWorkers):增長最大的鏈接數。根據官方文檔,兩個參數是一回事,版本不一樣,MaxRequestWorkers was called MaxClients before version 2.3.13.Theold name is still supported.

  三、默認安裝的 Apache 存在 Slow Attack 的威脅,緣由就是雖然設置的 timeoute,可是最大鏈接數不夠,若是攻擊的請求頻率足夠大,仍然會佔滿Apache的全部鏈接

17.CRLF注入

  漏洞描述

  CRLF 是「回車 +換行」(\r\n)的簡稱。在 HTTP 協議中,HTTPHeader 與 HTTP Body 是用兩個 CRLF 符號進行分隔的,瀏覽器根據這兩個 CRLF 符號來獲取 HTTP 內容並顯示。所以,一旦攻擊者可以控制 HTTP 消息頭中的字符,注入一些惡意的換行,就能注入一些會話 Cookie 或者 HTML 代碼。

  修復建議

  一、過濾 \r 、\n 及其各類編碼的換行符,避免輸入的數據污染到其餘 HTTP 消息頭。

18.LDAP注入

  漏洞描述

  因爲Web 應用程序沒有對用戶發送的數據進行適當過濾和檢查,攻擊者可修改LDAP 語句的結構,而且以數據庫服務器、Web 服務器等的權限執行任意命令,許可權可能會容許查詢、修改或除去 LDAP 樹狀構造內任何數據。

  修復建議

  對用戶的輸入內容進行嚴格的過濾。

19.URL 跳轉

  漏洞描述

  有的Web 應用程序中使用URL參數中的地址做爲跳轉連接的功能 ,攻擊者可實施釣魚、惡意網站跳轉等攻擊。

  修復建議

  一、在進行頁面跳轉前校驗傳入的URL是否爲可信域名。

  二、白名單規定跳轉連接

20.明文傳輸

  漏洞描述

  用戶登陸過程當中使用明文傳輸用戶登陸信息,若用戶遭受中間人攻擊時,攻擊者可直接獲取該用戶登陸帳戶,從而進行進一步滲透。

  修復建議

  一、用戶登陸信息使用加密傳輸,如密碼在傳輸前使用安全的算法加密後傳輸,可採用的算法包括:不可逆hash算法加鹽(4位及以上隨機數,由服務器端產生);安全對稱加密算法,如AES(12八、19二、256位),且必須保證客戶端密鑰安全,不可被破解或讀出;非對稱加密算法,如RSA(不低於1024位)、SM2等。

  二、使用https來保證傳輸的安全。

21.網頁木馬

  漏洞描述

  經滲透測試發現目標站點存在webshell,攻擊者可直接爆破口令使用木馬,很是低成本的進行惡意操做。

  修復建議

  一、確認並刪除木馬文件,並進行本地文件漏洞掃描排查是否還存在有其餘木馬。

  二、發現並及時修復已存在的漏洞。

  三、經過查看日誌、服務器殺毒等安全排查,確保服務器未被留下後門

22.備份文件泄露

  漏洞描述

  網站備份文件或、敏感信息文件存放在某個網站目錄下,攻擊者可經過文件掃描等方法發現並下載該備份文件,致使網站敏感信息泄露。

  修復建議

  一、不在網站目錄下存放網站備份文件或敏感信息的文件。

  二、如需存放該類文件,請將文件名命名爲難以猜解的無規則字符串。

23.敏感信息泄露

  漏洞描述

  在頁面中或者返回的響應包中泄露了敏感信息,經過這些信息,給攻擊者滲透提供了很是多的有用信息。

  修復建議

  一、若是是探針或測試頁面等無用的程序建議刪除,或者修改爲難以猜解的名字。

  二、不影響業務或功能的狀況下刪除或禁止訪問泄露敏感信息頁面。

  三、在服務器端對相關敏感信息進行模糊化處理。

  四、對服務器端返回的數據進行嚴格的檢查,知足查詢數據與頁面顯示數據一致。

24.短信/郵件轟炸

  漏洞描述

  因爲沒有對短信或者郵件發送次數進行限制,致使可無限次發送短信或郵件給用戶,從而形成短信轟炸,進而可能被大量用戶投訴,從而影響公司聲譽。

  修復建議

  在服務器限制發送短信或郵件的頻率,如同一帳號1分鐘只能發送1次短信或郵件,一天只能發送3次。

25.phpinfo信息泄漏

  漏洞描述

  Web站點的某些測試頁面可能會使用到PHP的phpinfo()函數,會輸出服務器的關鍵信息,形成服務器信息泄露,爲攻擊提供有利的信息。

  修復建議

  一、刪除phpinfo 函數。

  二、若文件無用可直接刪除。 

26.IIS短文件名泄露漏洞

  漏洞描述

  Internet Information Services(IIS,互聯網信息服務)是由微軟公司提供的基於運行Microsoft Windows的互聯網基本服務。 Microsoft IIS在實現上存在文件枚舉漏洞,攻擊者可利用此漏洞枚舉網絡服務器根目錄中的文件。危害:攻擊者能夠利用「~」字符猜解或遍歷服務器中的文件名,或對IIS服務器中的.Net Framework進行拒絕服務攻擊。

  攻擊者可經過該漏洞嘗試獲取網站服務器文件的文件名,達到獲取更多信息來入侵服務器的目的。

  修復建議

  修改Windows配置,關閉短文件名功能。

  1.關閉NTFS 8.3文件格式的支持。該功能默認是開啓的,對於大多數用戶來講無需開啓。

  2.若是是虛擬主機空間用戶,可採用如下修復方案:

  1)修改註冊列表HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation的值爲1(此修改只能禁止NTFS8.3格式文件名建立,已經存在的文件的短文件名沒法移除)。

  2)若是你的web環境不須要asp.net的支持你能夠進入Internet 信息服務(IIS)管理器 --- Web 服務擴展 - ASP.NET 選擇禁止此功能。

  3)升級net framework 至4.0以上版本。

  3.將web文件夾的內容拷貝到另外一個位置,好比D:\www到D:\www.back,而後刪除原文件夾D:\www,再重命名D:\www.back到D:\www。若是不從新複製,已經存在的短文件名則是不會消失的。

27.應用程序錯誤信息泄露

  漏洞描述

  攻擊者可經過特殊的攻擊向量,使web服務器出現500、403等相關錯誤,致使信息泄漏如絕對路徑、webserver版本、源代碼、sql語句等敏感信息,惡意攻擊者頗有可能利用這些信息實施進一步的攻擊。

  修復建議

  一、自定義錯誤頁面或使用統一的錯誤頁面提示。

28.Apache Tomcat默認文件

  漏洞描述

  Apache Tomcat默認樣例文件沒有刪除或限制訪問,可能存在cookie、session僞造,進行後臺登陸操做

  修復建議

  一、刪除樣例文件

  二、限制文件訪問權限

29.Crossdomain.xml 配置不當

  漏洞描述

  網站根目錄下的 crossdomain.xml 文件指明瞭遠程Flash 是否能夠加載當前網站的資源(圖片、網頁內容、Flash等)。若是配置不當,可能致使遭受跨站請求僞造(CSRF)攻擊。

  修復建議

  對於不須要從外部加載資源的網站,在 crossdomain.xml 文件中更改allow-access-from的domain屬性爲域名白名單。

30.目標服務器啓用了不安全 HTTP 方法

  漏洞描述

  目標服務器啓用了不安全的傳輸方法,如PUT、TRACE、DELETE、MOVE等,這些方法表示可能在服務器上使用了 WebDAV,因爲dav方法容許客戶端操縱服務器上的文件,如上傳、修改、刪除相關文件等危險操做,若是沒有合理配置dav,有可能容許未受權的用戶對其進行利用,修改服務器上的文件。

  修復建議

  一、關閉不安全的傳輸方法,只開啓POST、GET方法。

  二、若是服務器不使用 WebDAV 可直接禁用,或爲容許webdav的目錄配置嚴格的訪問權限,如認證方法,認證須要的用戶名,密碼。

31.weblogic SSRF服務器請求僞造

  漏洞描述

  目標存在weblogic SSRF服務器請求僞造漏洞。WebLogic是用於開發、集成、部署和管理大型分佈式Web應用、網絡應用和數據庫應用的Java應用服務器。SSRF(Server-Side Request Forgery:服務器端請求僞造) 是一種由攻擊者構造造成由服務端發起請求的一個安全漏洞。通常狀況下,SSRF攻擊的目標是從外網沒法訪問的內部系統。(正是由於它是由服務端發起的,因此它可以請求到與它相連而與外網隔離的內部系統)。Weblogic中間件默認帶有「UDDI 目錄瀏覽器」且爲未受權訪問,經過該應用,可進行無回顯的SSRF請求。攻擊者可利用該漏洞對企業內網進行大規模掃描,瞭解內網結構,並可能結合內網漏洞直接獲取服務器權限。

  修復建議

  一、若不影響業務則可刪除uddiexplorer文件夾

  二、限制uddiexplorer應用只能內網訪問

32.Apache Struts2 遠程代碼執行漏洞(S2-019)

  漏洞描述

  Apache Struts2的「Dynamic MethodInvocation」機制是默認開啓的,僅提醒用戶若是可能的狀況下關閉此機制,若是未關閉此機制將致使遠程代碼執行漏洞,遠程攻擊者可利用此漏洞在受影響應用上下文中執行任意代碼。

  修復建議

  一、目前廠商已經發布了升級補丁以修復這個安全問題,請到廠商的主頁下載。

  二、或者手工設置struts.xml文件<constantname="struts.enable.DynamicMethodInvocation"value="false"/>

33.Apache Struts2 遠程代碼執行漏洞(S2-037)

  漏洞描述

  Apache Struts2在使用REST插件時,攻擊者能夠繞過動態方法執行的限制,調用惡意表達式執行遠程代碼。

  修復建議

  建議用戶到官方獲取最新補丁或者最新版本程序。

34.Apache Struts2 DevMode 遠程代碼執行漏洞

  漏洞描述

  爲了便於開發人員調試程序,Struts2提供了一個devMode模式,能夠方便查看程序錯誤以及日誌等信息。當Struts2中的devMode模式設置爲true時,存在嚴重遠程代碼執行漏洞。若是WebService 啓動權限爲最高權限時,可遠程執行任意命令,包括關機、創建新用戶、以及刪除服務器上全部文件等等。

  修復建議

  建議用戶到官方獲取最新補丁或者最新版本程序。

  或者將struts.properties中的devMode設置爲false,或是在struts.xml中添加以下代碼: <constant name="struts.devMode"value="false"/>。

35.Apache Struts2 遠程代碼執行漏洞(S2-045)

  漏洞描述

  Apache Struts2的Jakarta Multipartparser插件存在遠程代碼執行漏洞,漏洞編號爲CVE-2017-5638。攻擊者能夠在使用該插件上傳文件時,修改HTTP請求頭中的Content-Type值來觸發該漏洞,致使遠程執行代碼。

  修復建議

  檢測方式查看web目錄下/WEB-INF/lib/目錄下的struts-core.x.x.jar ,若是這個版本在Struts2.3.5 到 Struts2.3.31 以及 Struts2.5 到 Struts2.5.10之間則存在漏洞。

  一、建議用戶到官方獲取最新補丁或者最新版本程序。

  二、更新至Strusts2.3.32或者Strusts2.5.10.1,或使用第三方的防禦設備進行防禦。

  三、臨時解決方案:刪除commons-fileupload-x.x.x.jar文件(會形成上傳功能不可用)。

  四、修改WEB-INF/classes目錄下的配置

  在WEB-INF/classes目錄下的struts.xml中的struts 標籤下添加

  <constantname=」struts.custom.i18n.resources」value=」global」/>;

  在WEB-INF/classes/目錄下添加global.properties,文件內容以下:

  struts.messages.upload.error.InvalidContentTypeException=1

36.Apache Struts2 遠程代碼執行漏洞(S2-033)

  漏洞描述

  Apache Struts2在開啓動態方法調用(DynamicMethod Invocation)的狀況下,攻擊者使用REST插件調用惡意表達式能夠遠程執行代碼。

  修復建議

  一、用戶到官方獲取最新補丁或者最新版本程序。

  二、或者在容許的狀況下禁用動態方法調用(Dynamic Method Invocation),修改Struts2的配置文件struts.xml,將struts.enable.DynamicMethodInvocation設置爲「false」。

相關文章
相關標籤/搜索