10秒后自動關(guān)閉
如何一勞永逸解決Apache Struts文件上傳漏洞

Apache Struts又雙叒叕爆文件上傳漏洞了。

自Apache Struts框架發(fā)布以來,就存在多個版本的漏洞,其中一些漏洞涉及到文件上傳功能。這些漏洞可能允許攻擊者通過構(gòu)造特定的請求來繞過安全限制,從而上傳惡意文件。雖然每次官方都發(fā)布補丁進行修復(fù),但是問題一直沒有根除過,時不時的又爆出新的漏洞。


那么有沒有辦法杜絕Apache Struts文件上傳漏洞呢?

依靠Apache Struts自身肯定是不行的,畢竟官方也不知道什么時候爆出新的漏洞。

所謂文件上傳漏洞,是指繞過系統(tǒng)安全限制,非法上傳惡意文件。哪如果讓黑客不能上傳惡意文件,或是讓上傳的惡意文件不能被執(zhí)行,不就解決問題了嗎?


思路有了,接下來就是如何實現(xiàn)攔截功能。要阻止黑客上傳惡意文件,可以使用殺毒軟件和防篡改功能來解決。殺毒軟件不說了,沒有一家殺毒公司敢保證100%的攔截效果,只能作為輔助手段。那就只剩下防篡改功能了。

但新的問題又來了,惡意文件有兩種,一種是破壞操作系統(tǒng)的可執(zhí)行文件,一種是破壞網(wǎng)站的網(wǎng)頁木馬。對于破壞操作系統(tǒng)的可執(zhí)行文件,總不至于對全操作系統(tǒng)做防篡改保護吧,這樣操作系統(tǒng)將立刻藍屏。幸運的是,可以使用《護衛(wèi)神.防入侵系統(tǒng)》的“進程防護”來解決這個問題!斑M程防護”模塊用于對軟件做防護,可以限制軟件的網(wǎng)絡(luò)通信范圍和文件訪問范圍。設(shè)置以后,軟件只能按照預(yù)定規(guī)則訪問文件和網(wǎng)絡(luò),沒有任何辦法越權(quán),輕松搞定非法提權(quán)。


Apache Struts一般和Tomcat集成使用,接下來我們以Tomcat為防護對象,通過《護衛(wèi)神.防入侵系統(tǒng)》,手把手演示如何一勞永逸的解決Apache Struts文件上傳漏洞。


防護思路如下:

1、 設(shè)置Tomcat對jsp文件和可執(zhí)行文件只有讀取權(quán)限(阻止上傳非法文件)

2、 設(shè)置Tomcat只對網(wǎng)站目錄和日志目錄有寫權(quán)限(保障網(wǎng)站正常訪問)

3、 設(shè)置Tomcat不能執(zhí)行任何文件(禁止執(zhí)行高危命令,例如cmd.exe、net.exe)


注意:雖然本文以Windows為例,但對Linux系統(tǒng)也適用,只是設(shè)置方法大同小異,詳情請咨詢護衛(wèi)神客服!


第一步:添加Tomcat防護對象

添加Tomcat防護

(圖一:添加Tomcat防護)



第二步:在“文件訪問”選項卡,添加如下文件訪問規(guī)則

溫馨提示:護衛(wèi)神.防入侵系統(tǒng)按優(yōu)化級順序逐條匹配訪問路徑規(guī)則,匹配到禁止操作就跳出。優(yōu)先級數(shù)字越小,越優(yōu)先執(zhí)行!
優(yōu)先級訪問路徑操作限制
1*\conhost.exe禁止新建、禁止改名、禁止修改、禁止刪除
1*\werfault.exe禁止新建、禁止改名、禁止修改、禁止刪除
10*.jsp禁止執(zhí)行、禁止新建、禁止改名、禁止修改、禁止刪除
10*.exe禁止執(zhí)行、禁止新建、禁止改名、禁止修改、禁止刪除
20d:\wwwroot\*禁止執(zhí)行
20c:\hws.com\hwsjspmaster\tomcat9\*禁止執(zhí)行
20c:\windows\temp\*禁止執(zhí)行
20c:\windows\syswow64\config\systemprofile\*禁止執(zhí)行
20c:\programdata\microsoft\*禁止執(zhí)行
99*禁止執(zhí)行、禁止新建、禁止改名、禁止修改、禁止刪除


添加結(jié)果如下圖:

Tomcat進程防護規(guī)則

(圖二:Tomcat進程防護規(guī)則)


文件訪問規(guī)則解釋:


優(yōu)先級為“1”的規(guī)則:

最先執(zhí)行的規(guī)則,這2個是Windows啟動Tomcat產(chǎn)生的配套進程。

只允許讀取和執(zhí)行,防止黑客創(chuàng)建同名文件繞過防護。

Windows啟動Tomcat產(chǎn)生的配套進程



優(yōu)先級為“10”的規(guī)則:

設(shè)置禁止寫操作的文件類型。.jsp是網(wǎng)頁木馬,.exe是可執(zhí)行文件。同樣還可以添加其他類型,例如:.do、.dll、.vbs等等。

只允許讀取,防止黑客上傳此類惡意文件。

禁止寫操作的文件類型



優(yōu)先級為“20”的規(guī)則:

設(shè)置允許寫操作的目錄。一般填寫網(wǎng)站目錄、Tomcat安裝目錄、系統(tǒng)臨時目錄。

允許讀取和寫操作,禁止執(zhí)行。

允許寫操作的目錄



優(yōu)先級為“99”的規(guī)則:

設(shè)置其他文件的訪問規(guī)則。填寫“*”,表示所有文件。

只允許讀取,禁止黑客寫操作任何文件,或執(zhí)行高危命令(cmd.exe、net.exe)。

其他文件的訪問規(guī)則



第三步:檢查攔截效果

設(shè)置好防護規(guī)則后,黑客再想通過Apache Struts上傳網(wǎng)頁木馬、惡意病毒,或執(zhí)行高危命令(cmd.exe、net.exe)就成為不可能了,都會被護衛(wèi)神攔截,輕松搞定Apache Struts文件上傳漏洞。即使后期再次爆出此種漏洞,也不用擔(dān)心,護衛(wèi)神會一如既往的守護服務(wù)器安全!攔截效果如下圖:


攔截非法執(zhí)行cmd.exe提權(quán)

(圖七:攔截非法執(zhí)行cmd.exe提權(quán))



攔截上傳可執(zhí)行文件

(圖八:攔截上傳可執(zhí)行文件)



攔截上傳JSP文件

(圖八:攔截上傳JSP文件)