struts2架構網站漏洞修復詳情與利用漏洞修復方案

struts2從開發出來到如今,不少互聯網企業,公司,平臺都在使用apache struts2系統來開發網站,以及應用系統,這幾年來由於使用較多,被攻擊者挖掘出來的struts2漏洞也愈來愈,從最一開始S2-001到如今的最新的s2-057漏洞,本文着重的給你們介紹一下struts2漏洞的利用詳情以及漏洞修復辦法。正則表達式

先從1開始吧,S2-001影響的版本是Struts 2.0.0 - Struts 2.0.8版本,最先開始的版本漏洞過低級,當時的apache官方並無設置安全機制,致使在提交參數的時候緊接的執行了遞歸化查詢數據,致使能夠插入惡意參數進行SQL注入攻擊。sql

s2-001漏洞的修復是將struts2的默認altsyntax功能進行關閉使用其餘方式進行遞歸化的查詢,爲何要關閉altsyntax功能是由於這個功能的標籤會自動的進行表達式的安全解析,關閉該功能就不會進行解析惡意參數了。數據庫

s2-003漏洞是沒有過濾惡意參數,致使能夠進行參數注入,影響的版本是Struts 2.0.0 - Struts 2.0.11.2版本,此次的版本新添加了一個功能就是安全攔截器,在參數傳輸過程當中進行了關鍵詞安全檢測,一些非法注入的參數能夠被過濾掉,可是apache官方並無過濾掉特殊編碼的方式進行提交,致使僞造編碼進行了sql注入攻擊,該漏洞的修復方案是關於編碼注入這裏進行詳細的過濾,並使用了正則表達式進行過濾非法的注入參數。apache

s2-005漏洞產生的緣由也跟上次的S2-003大體相同,也是在傳入參數值的時候帶進了惡意非法注入參數,致使可使用ognl解析的方式來進行遠程代碼的注入執行。關於該漏洞的修復是須要將apache系統參數值denyMethodExecution設置爲關閉,而後將參數的攔截過濾系統進行了升級,更爲嚴格的一個正則表達式過濾。安全

S2-007,S2-008,S2-009漏洞詳情是須要開啓decmode開發模式,在調試開發代碼過程當中存在了注入的漏洞,甚至對於單引號並無進行安全限制,致使能夠提交到後臺進行轉義,形成變量上的轉義注入,S2-009也是POST提交參數的注入攻擊,跟S2-005,S2-003的參數注入不一樣的是,沒有對其參數裏的安全值進行過濾,致使能夠插入惡意參數進行SQL數據庫注入攻擊。 一樣的官方修復方案是對其過濾系統進行升級,嚴格執行正則表達式過濾一些可能致使注入的非法參數。app

S2-012漏洞的產生緣由是默認的apache 配置文件struts.xml對默認的對象進行了重定向的一個功能設置,致使該重定向之解析表達式的過程當中產生了遠程代碼執行漏洞,關於該漏洞的修復官方進行了表達式解析的安全過濾。網站

S2-013漏洞利用是由於標籤屬性的緣由,標籤設置參數里居然能夠執行表達式,會讓URL值的參數進行傳遞表達式,漏洞的修復也很簡單對其標籤屬性進行了刪除。S2-015的漏洞是由於系統配置裏的任意通配符映射致使二次執行ognl表達式進行了遠程代碼的執行漏洞,首先該系統沒有對網站URL進行白名單的安全檢測,當使用一些特殊符號歎號,百分號的時候能夠直接提交上去。形成了惡意代碼的遠程執行。漏洞的修補辦法是對DefaultActionMapper的類進行了安全檢測,過濾非法的注入代碼。編碼

若是您對網站的漏洞不懂的話,建議讓網站安全公司幫您修復網站漏洞,以及清除木馬後門,作好網站安全加固防止被入侵,國內的網站安全公司,像SINE安全公司、綠盟安全公司、啓明星辰、都是比較專業的。3d

以上是S2-001到S2-015漏洞的產生緣由,以及漏洞修復的辦法介紹,由於文章字數限制,其餘版本的struts2漏洞將會在下一篇文章中給你們講解。調試

相關文章
相關標籤/搜索