浅析图片XSS中的哪些技术问题
危害
想象下,如果我們能夠在圖片里直接插入JS腳本,并且在訪問圖片的時(shí)候能夠觸發(fā)這個腳本。那么我們就可以在網(wǎng)站文章下面的留言中上傳圖片,讓用戶不知不覺中招。
生成圖片
首先,以下腳本是一個向gif文件中注入JavaScript的腳本:
http://pastebin.com/6yUbfGX5
還有這個,是向bmp中注入的:
http://pastebin.com/04y7ee3u
兩個都是用python寫的,其中,我們注意到他們的重點(diǎn)是:
以下是對GIF的頭部進(jìn)行的處理:
用Hexadecimal打開,可以看到元數(shù)據(jù)GIF89a。
此外就是注入的內(nèi)容:
演示過程
把腳本放到kali下執(zhí)行
接下來,我們運(yùn)行如下命令,將語句注入到圖片中。以下是一個彈窗語句,在實(shí)際應(yīng)用中,語句就很可能變成直接盜取cookie
好了,現(xiàn)在在html頁面中直接加載圖片,看xss是否可以被執(zhí)行:
開啟網(wǎng)站服務(wù),apache2
訪問頁面,發(fā)現(xiàn)js腳本成功被執(zhí)行:
我們可以把語句改成以下,就能重定向了:
也有用C或者ASM做的工具:
https://github.com/jklmnn/imagejs
https://gist.github.com/ajinabraham/f2a057fb1930f94886a3
如何防范
防御這類漏洞是很難的,不過有以下幾點(diǎn)建議可以參考:
過濾用戶輸入內(nèi)容 用白名單的方式限制元素的加載,及時(shí)是來自同一個域 用一些高級的開發(fā)模型例如MVC,?PEAR,?SRUTS… 使用令牌系統(tǒng)總結(jié)
XSS漏洞存在于互聯(lián)網(wǎng)的各個角落,千萬不能忽視他的存在。開發(fā)的過程中一定要記得過濾用戶輸入。
原文發(fā)布時(shí)間為:2017年2月15日 本文作者:Change 本文來自云棲社區(qū)合作伙伴嘶吼,了解相關(guān)信息可以關(guān)注嘶吼網(wǎng)站。 原文鏈接
總結(jié)
以上是生活随笔為你收集整理的浅析图片XSS中的哪些技术问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【五】MongoDB管理之生产环境说明
- 下一篇: 华月互网获得2012全国十大IDC服务商