最近,一些網友通過偽造圖片繞過各論壇的上傳系統,從而將代碼隱藏在圖片文件中以獲得執行。據悉,將HTML代碼偽裝成GIF圖片后,瀏覽器在對其進行解析的時候會將其中隱藏的HTML或客戶端腳本代碼解釋執行,但所幸的是服務器端腳本不會被執行。目前的大多數論壇、或博客等CMS系統均無法有效識別和阻止這種偽造的GIF文件上傳。
筆者得到消息后前往多個論壇實驗,均可成功上傳這種偽造的GIF圖片。隨即咨詢了動網論壇高級工程師焦崧源(雨·漫步),他講到:圖片中隱藏的HTML代碼會被執行并非論壇或博客程序導致的漏洞,可能是部分瀏覽器在解析圖片時出現了問題,這個問題可能導致別有用心的人使用發論壇貼圖的形式惡意引導其他網友訪問某一個站點或掛馬,嚴重的甚至可能導致跨站攻擊或盜取cookies等危險。目前動網已經提供了針對此問題的解決方案,通過對上傳的圖片文件進行詳細信息驗證以確定此圖片是否為偽造。
雨·漫步通過其blog向筆者演示其偽裝后的GIF圖片示例
火狐內核的瀏覽器則不會執行
截至發稿時,并沒有聽說因此次漏洞造成較大規模的攻擊事件。由于影響不嚴重,包括社區軟件供應商Discuz方面暫時未對此問題做出響應。但筆者對Discuz 6.0程序進行測試,發現只要偽造時稍加改造便可繞過其驗證進行上傳。
這應該是IE一個漏洞,但仍希望能引起相關CMS廠商和站長的注意,以免自己的網站被不法份子利用,造成不必要的損失。