還在學校上課的時候
某堂課的老師跟我們分享他在準備CEH的考試
老師示範了Cross Site Scripting的攻擊
學習寫Web Javascript以來
我從來沒想過要在input中放入script的內容(乖乖的User思維)
alert彈出來的瞬間
就好像在變魔術一樣非常震撼....原來還有這一招??!
至今依舊難忘
Cross Site Scripting主要分為三種
讓使用者所輸入的資料,使Script被應用執行
得以在他人網站中執行Javascript
常見搭配社交工程,配合有問題的連結傳給受害者,讓受害者自行點擊。
回應將於使用者端直接運行script的代碼
由於攻擊者可以控制在受害者瀏覽器中執行的script
表單提示請輸入姓名
嘗試輸入Bill,得到結果如下:
上方網址列顯示為http://172.17.0.2/vulnerabilities/xss_r/?name=Bill#
<script>alert('xss test')</script>
http://172.17.0.2/vulnerabilities/xss_r/?name=<script>alert('xss test')</script>#
script也可改用16進位的值取代一些關鍵字
於留言板的內容送出<script>alert('123456')</script>
當下一次點擊至同一畫面時
由於我們送出的script已被儲存
將呈現下圖的結果
由於我們可以利用DOM(Document Object Model)
使javascript在執行過程中不必透過伺服器也能動態地產生網頁
這類型如使用了innerHTML的語法,造成了script的注入機會
而javascript將惡意的代碼放入DOM中,導致瀏覽器執行此惡意的代碼