1.反射性xss(reflacted)
僅執行一次,非持久型,主要存在于攻擊者將惡意腳本附加到url的引數中,發送給受害者,服務端未經嚴格過濾處理而輸出在用戶瀏覽器中,導致瀏覽器執行代碼資料,
利用場景:
直接插入JS代碼,修改url引數

攻 <script>alert('hack')</script>
防 $name=str_replace('<script>', ' ',$name) #將<script>替換成空
攻 <Script>alert('hack')</script>
<scri<script>pt>alert('hack')</script>
防 $name=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i',' ',$name); #pre_replace()正則替換 i為忽略大小寫
攻 <img src=https://www.cnblogs.com/sun371/archive/2023/07/10/1 one rror=alert('hack')> #用事件代替<script>標簽
防 $name=htmlspacialchars($name); #htmlspacialchars(string)把預定義的字符<>$、轉換為HTML物體,防止瀏覽器將其作為HTNL元素,
2.存盤型xss(stored)
持久型,主要存在于攻擊者將惡意腳本存盤到服務器資料庫中,當用戶訪問包含惡意相關資料的頁面時,服務端未經嚴格過濾處理而輸出在用戶瀏覽器中,導致瀏覽器執行代碼資料,
利用場景:


防(輸入)$message=strip_tags(addsashes($message)); #strip_tags(addsashes($message))函式剝去字串中的HTML、XML以及PHP的標簽;
(輸出)$message=htmlspecialchar($massage);
$name=htmlspecialchar($row[''name]);
3.DOM型xss
通過JavaScript操作document,實作dom樹的重構,主要存在于用戶能修改頁面的dom,造成客戶端payload在瀏覽器中執行,
利用場景:
在url中


(結合網頁的代碼,補全前面,使<script>……</script>成為獨立代碼)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556953.html
標籤:其他
上一篇:云原生周刊:Dapr 完成模糊測驗審計 | 2023.7.10
下一篇:返回列表
