簡體   English   中英

跨站點腳本注入

[英]Cross Site Scripting injection

我正在測試一個Web應用程序。 我想編寫一個顯示警告"Hello"XSS腳本。

我寫的第一個腳本是:

<script >alert("Hello");</script > 

但沒有顯示警報"Hello" 我發現有效的XSS腳本是

<SCRIPT >alert(String.fromCharCode(72,101,108,108,111,33))</SCRIPT >

我想知道為什么第一個腳本不起作用。

很可能該網站用HTML實體替換雙引號或嘗試以某種其他方式轉義它們使它們不適合JavaScript。 使用String.fromCharCode(...)您不必使用任何引號,這樣它就可以工作。 它獲取字符串字符的ASCII代碼列表,並在運行時創建一個字符串。 所以不需要任何引用。

避免這種XSS的正確方法是替換< with &lt; - 這樣就根本無法創建腳本標記。

請注意>"& "在清理包含HTML的數據時也應該用它們各自的HTML實體替換!但是,假設在HTML屬性中沒有不受信任的數據可用,那么只有<才能打敗XSS攻擊(這就是"需要的地方"消毒)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM