2013 年 7 月的 Struts2 漏洞實際帶來多大影響?

2016.12:京東數據疑似泄露 源於Struts 2的安全漏洞問題


謝邀。

貼下今晚寫在微信里的文章吧。

《一朵奇葩》
來自微信公號:道哥的黑板報。

昨晚很多安全公司和互聯網公司安全部門的工程師們都沒睡好覺,通宵達旦的在加班。

Struts這個漏洞這次來勢之所以這麼兇猛(見昨天的文章,點擊右上角可查看歷史文章)—- 直接導致國內的很多銀行、政府機構、幾乎所有的大中型互聯網公司,國外的包括蘋果的開發者網站都被黑掉了 —-和Struts官方不負責任的態度有很大關係。官方這次在自己的漏洞公告中直接把漏洞利用代碼給貼出來了,這是一種很罕見的做法。

從很多年前起,安全行業里默認的行規是「提示漏洞存在,但只公布描述,不公布細節」。大多數安全公告連漏洞涉及的代碼都不公布,更遑論直接給出漏洞利用方法的。這樣做的原因就是為了防止漏洞細節被黑客看到後,直接利用漏洞攻擊用戶。

一般的安全廠商在看到漏洞公告後,可能會通過「補丁對比」,或者是二進位軟體的逆向分析等技術來定位漏洞的原理。這對分析人員的技術要求是非常高的,熟練掌握這種技術的人一般都有個外號,叫做「大牛」。這種技術門檻從一定程度上遏制了漏洞被大面積利用。

從歷史來看,一個漏洞對互聯網的影響大小,與該漏洞是否存在傻瓜化利用工具有關。漏洞的利用工具被傳播的越廣,對互聯網來說造成的影響就越大。因為會有很多腳本小子,拿著傻瓜化的工具肆無忌憚的四處搞破壞。

Struts這個漏洞這次本來不會這麼嚴重,過往有些比這更嚴重的漏洞也沒有造成這麼惡劣的影響。但官方不負責任的披露了漏洞利用方法,首先就讓這個漏洞被大面積利用成為可能。然後國內的黑客們看到後,在某社區里引起了熱烈的討論。接下來有不少黑客,利用官方給出的「幫助」,很輕鬆的就寫出了自動利用的工具,並開始找網站漏洞。

如果僅僅到這裡,局面也不會失控。但是接下來有黑客們開始展開競賽一般的「戰果展示」,把存在漏洞的網站公布在第三方平台上,這就好比「殺人比賽」一樣,就看誰幹掉的網站多,看誰幹掉的網站大。他們的戰果豐碩,幹掉了包括百度、騰訊、淘寶等在內的很多大網站,甚至是國家級的政府網站,這進一步又在微博上引發了不少大號們對這個漏洞的討論。至此,局面徹底失控。

很多之前沒有關注這個漏洞的黑客們也開始關注這個漏洞,他們出於各自的目的,開始找尋存在漏洞的網站。可以不誇張的說,整個中國互聯網應該被狠狠的捋了一遍,如果你用了Struts但卻沒被黑客關注過,那隻能很可悲的說明你的網站太小了,小到整個安全行業所有人打著燈籠都找不到你。

這就是互聯網的放大作用。

而對於始作俑者,Apache基金會下的Struts,我只能說Struts官方真是一朵奇葩。這並非Struts第一次出這種高危漏洞,但Struts官方對於安全問題的處理一直都很有問題,要麼就是沒有搞明白漏洞的原理,同一個漏洞補兩三次都補不好,要麼就是像這次這樣,直接公布了漏洞利用方法。

在我寫的《白帽子講Web安全》第291頁,就記載了Struts修補一個漏洞時笑話百出的場景。官方完全沒有理解漏洞原理,僅僅針對漏洞報告者提供的特徵字元做了過濾,結果接二連三的被繞過,一個簡單的漏洞,修補了兩三次都沒有修補好。所以Struts在安全問題上的低智商是有歷史的,屢教不改,還桀驁不馴。

這次中國互聯網被捋了一遍,造成的損失不可估量。如果很多大網站的資料庫因為這個漏洞被盜,在接下來的一兩年中,大家又會多接到很多騷擾電話和騷擾簡訊,有針對性的詐騙案件也會上升。

我想到了黑哥的那句話:官方都需要教育!


受影響最大的是黑客圈子,或者叫黑產圈。
網站方面只修復自己的漏洞就行了,而黑客要給大量肉雞修復漏洞。如果不修復,肉雞會被其他黑客分分鐘搶走,人家會修復漏洞,清除你的後門、並植入自己的後門。

每次新漏洞出現,都是各個黑產團隊火拚的時刻。
很多地區有職業搶站隊,這個時候最忙了。越是google inurl:等命令 容易搜到的站,就有越多的黑客爭搶。手慢一點,就只能眼巴巴看著漏洞被其他黑客修復。
網路安全人員要下班,要休息,要睡覺。而黑客不會。午夜奮戰 抓雞、爭地盤的,正是掛馬、賣黑鏈、脫庫、盜錢的一線黑客。

等過兩天,你會發現,這個漏洞修復的差不多了。掃描器什麼也掃不到了。
其實,大部分是被黑客「修復」了。


已經逃離struts,使用spring mvc


這麼說吧,我加入了一個java的扣扣群,有天有人進來說幫搭個JSP的網站,我閑著無聊就幫他搭,發現是個SSH架構的網站,完整的。搭完後問他這是哪裡來的,他說他用掃描器掃的一共掃了三個站點並全部下載下來了。心中各種草泥馬奔騰啊..


apache基金會提供的項目都是免費的,都沒讓你花半毛錢,你還罵人家娘。素質啊!!!!


影響巨大,幾乎有所的互聯網公司都受到影響,當天wooyun平台上就收到了100+的各種漏洞,一個漏洞足夠控制該網站甚至伺服器及內部網路,外國的網站如蘋果開發者http://developer.apple.com也因此被拿下


還行吧


一個有著十多年歷史,漏洞不斷的 framework 為什麼生命力一直持續到現在?誰之過?讓我想起了 IE6,雖然我不認可 SpringMVC 會有多麼的安全,但我慶幸早在幾年前就已經轉到了她上面。想起 SSH 架構組合我就感覺到嘔吐...可恥的是現在 N 多培訓機構,主講 SSH.哎!


2017年3月,又來了新情況,繼續擼一遍,繼續高潮一把。


17號當晚就升級補丁了,之前升級補丁都是在24點升級,17號升級補丁是在20點,此前絕無僅有的!
電信行業已經一級預警了。


最起碼我這邊接觸的上海的項目、河南的項目都緊急升級了。


12日便有黑客拖了幾億的資料庫,17日才放出來,其實遭殃的是數據泄漏,無論國內國外,無一倖免。大家快改賬戶密碼吧。


中國移動的電話費都不能交了。啊。


好想跟你們學習技術啊,啊,啊,啊


我們當時也換了一批struts的JAR包,看單位里資深同事把JAR文件提交上去,有個歷史記錄,提交的注釋寫什麼Struts漏洞之類的,當時對我來說挺新鮮的,看個熱鬧。


貌似spring mvc還好點。


好像影響不小,尤其是涉及不少的通信、銀行、保險行業,不過總算有升級的辦法出現,大面積的升級啊


推薦閱讀:

為什麼寫程序的時候可以堅持很久,但是學習數學就很難保持注意力?
為什麼大多數中國高校不直接使用英文原版教材教學?
把代碼寫的太靈活不好嗎?為什麼會被上司批評?
當你學會了什麼之後感覺自己的編程算是入門了?
程序員必須掌握哪些演算法?

TAG:網路安全 | Java | Struts 2 | Java 編程 | Java 安全 |