日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

给你汇报Struts2 S2-016漏洞修复的总结

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 给你汇报Struts2 S2-016漏洞修复的总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要介紹了Struts2 S2-016漏洞修復的總結,有需要的小伙伴可以進來參考下,來一起互相探討一下哦
Struts2的S2-016漏洞是之前比較重大的漏洞,也是一些老系統的歷史遺留問題

此漏洞影響struts2.0-struts2.3的所有版本,可直接導致服務器被遠程控制從而引起數據泄漏,影響巨大

漏洞修復總結有4種方式:
1、升級版本

這也是Apache官方給出的建議,把Struts2的版本升級到2.3.15以上的版本,這種方式只需要替換一些jar包,歸納如下:

commons-lang3-3.2.jar freemarker-2.3.22.jar javassist-3.11.0.GA.jar
ognl-3.0.6.jar struts2-core-2.3.24.jar
struts2-spring-plugin-2.3.24.jar xwork-core-2.3.24.jar

只需要用上述jar包(版本可能會有差距)替換老系統中的舊版本jar包;

但是這種方式存在一定的缺陷,如果系統非常復雜,可能會有版本不兼容,jar版本沖突,導致系統功能不能 使用的情況;

2、覆蓋JAR包

下載上述圖片,把后綴名改為zip,把里面解壓出來的三個文件夾添加到漏洞的系統的src目錄下

然后再web.xml文件中添加代碼:

代碼如下:

<listener
<listener~class>org.hdht.commonweb.listener.MyServletContextListener
</listener

最后發布項目,重啟服務器

3、修改Struts2的源碼

找到項目中的struts2-core-2.2.3.jar,反編譯得到源碼,在eclipse中新建一個java項目,把反編譯的源碼導進去

修改org\apache\struts2\dispatcher\mapper\DefaultActionMapper.java這個文件中的handleSpecialParameters方法

在while循環(for循環)中加入下面代碼:

代碼如下:

if (key.endsWith(".x") || key.endsWith(".y")) { key = key.substring(0, key.length() - 2); }

保存,這個新項目可能會有錯誤,需要導入兩個jar包,xwork-core-2.1.6.jar和servlet-api.jar

把這個新項目導出成jar包,把下圖中的7個類,替換掉原先struts2-core-2.2.3.jar中的7個類

4、結合上面的第2和第3種方式

還是需要用到struts2的源碼,同第3步,反編譯得到源碼,導入到一個新的項目中

下載第2步中的壓縮包,解壓之后得到三個文件,把這三個文件夾添加到新項目的 org\apache\struts2\dispatcher\mapper包中,如下圖

然后,再修改org\apache\struts2\dispatcher\mapper\DefaultActionMapper.java這個文件中的handleSpecialParameters方法

在while循環中加入如下代碼:

代碼如下:

if (JavaEEbugRepair.repair_s2_017(key)) {
return;
}
if ((key.contains(“action:”)) || (key.contains(“redirect:”)) ||
(key.contains(“redirectAction:”))) { return;
}

保存,把新項目導出成jar包

把原來jar中的7個類替換,加入新包repair,再把替換之后的jar復制到項目中,替換之前的jar包

總結:

以上4種方式基本能處理所有項目的S2-016漏洞;

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的给你汇报Struts2 S2-016漏洞修复的总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。