[英]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 <
- 這樣就根本無法創建腳本標記。
請注意>
, "
和&
"
在清理包含HTML的數據時也應該用它們各自的HTML實體替換!但是,假設在HTML屬性中沒有不受信任的數據可用,那么只有<
才能打敗XSS攻擊(這就是"
需要的地方"
消毒)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.