XSS攻擊時是怎么繞過htmlspecialchars函數的?
很遺憾,只能在特定場景下才能繞過htmlspecialchars函數。
htmlspecialchars() 函數把預定義的字符轉換為 HTML 實體,從而使XSS攻擊失效。但是這個函數默認配置不會將單引號( ' )過濾,只有設置了:quotestyle 選項為ENT_QUOTES的時候才會過濾掉單引號,但仍然可以通過單引號閉合某一個事件然后插入惡意的XSS代碼。
如下圖(圖來源自網絡,侵刪)
XSS攻擊時是怎么繞過htmlspecialchars函數的?
很遺憾,只能在特定場景下才能繞過htmlspecialchars函數。
htmlspecialchars() 函數把預定義的字符轉換為 HTML 實體,從而使XSS攻擊失效。但是這個函數默認配置不會將單引號( ' )過濾,只有設置了:quotestyle 選項為ENT_QUOTES的時候才會過濾掉單引號,但仍然可以通過單引號閉合某一個事件然后插入惡意的XSS代碼。
如下圖(圖來源自網絡,侵刪)