標籤:

淺析圖片XSS中的哪些技術問題

跨站請求漏洞是web漏洞中最普遍的漏洞,在特定的場景下可以造成很嚴重的破壞。可以讓攻擊者在受害者瀏覽器上執行一個惡意腳本,網路上關於這方面的文章已經很多了。

危害

想像下,如果我們能夠在圖片里直接插入JS腳本,並且在訪問圖片的時候能夠觸發這個腳本。那麼我們就可以在網站文章下面的留言中上傳圖片,讓用戶不知不覺中招。

生成圖片

首先,以下腳本是一個向gif文件中注入JavaScript的腳本:

pastebin.com/6yUbfGX5

還有這個,是向bmp中注入的:

pastebin.com/04y7ee3u

兩個都是用python寫的,其中,我們注意到他們的重點是:

以下是對GIF的頭部進行的處理:

用Hexadecimal打開,可以看到元數據GIF89a。

此外就是注入的內容:

演示過程

把腳本放到kali下執行

接下來,我們運行如下命令,將語句注入到圖片中。以下是一個彈窗語句,在實際應用中,語句就很可能變成直接盜取cookie

好了,現在在html頁面中直接載入圖片,看xss是否可以被執行:

開啟網站服務,apache2

訪問頁面,發現js腳本成功被執行:

我們可以把語句改成以下,就能重定向了:

也有用C或者ASM做的工具:

github.com/jklmnn/image

gist.github.com/ajinabr

如何防範

防禦這類漏洞是很難的,不過有以下幾點建議可以參考:

過濾用戶輸入內容

用白名單的方式限制元素的載入,及時是來自同一個域

用一些高級的開發模型例如MVC, PEAR, SRUTS…

使用令牌系統

總結

XSS漏洞存在於互聯網的各個角落,千萬不能忽視他的存在。開發的過程中一定要記得過濾用戶輸入。

如若轉載,請註明原文地址: 4hou.com/technology/334 更多內容請關注「嘶吼專業版——Pro4hou」

推薦閱讀:

好書一起讀(147):XSS,CSRF,SQL注入
「每日一題」XSS 是什麼?
了解黑客:這是黑客思維
XSS常見攻擊與防禦
記一次沒什麼技術含量的XSS注入

TAG:XSS | 技术分析 |