1.反射性xss(reflacted)
? 僅執(zhí)行一次,非持久型。主要存在于攻擊者將惡意腳本附加到url的參數(shù)中,發(fā)送給受害者,服務(wù)端未經(jīng)嚴(yán)格過濾處理而輸出在用戶瀏覽器中,導(dǎo)致瀏覽器執(zhí)行代碼數(shù)據(jù)。
利用場(chǎng)景:
直接插入JS代碼,修改url參數(shù)
??
攻 <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=1 onerror=alert('hack')>? #用事件代替<script>標(biāo)簽
防 $name=htmlspacialchars($name);? ?#htmlspacialchars(string)把預(yù)定義的字符<>$、轉(zhuǎn)換為HTML實(shí)體,防止瀏覽器將其作為HTNL元素。
2.存儲(chǔ)型xss(stored)
持久型。主要存在于攻擊者將惡意腳本存儲(chǔ)到服務(wù)器數(shù)據(jù)庫中,當(dāng)用戶訪問包含惡意相關(guān)數(shù)據(jù)的頁面時(shí),服務(wù)端未經(jīng)嚴(yán)格過濾處理而輸出在用戶瀏覽器中,導(dǎo)致瀏覽器執(zhí)行代碼數(shù)據(jù)。
利用場(chǎng)景:
??
防(輸入)$message=strip_tags(addsashes($message));? #strip_tags(addsashes($message))函數(shù)剝?nèi)プ址械腍TML、XML以及PHP的標(biāo)簽;
? ?(輸出)$message=htmlspecialchar($massage);
? ? ? ? ? ? ? ? ?$name=htmlspecialchar($row[''name]);
3.DOM型xss
通過JavaScript操作document,實(shí)現(xiàn)dom樹的重構(gòu)。主要存在于用戶能修改頁面的dom,造成客戶端payload在瀏覽器中執(zhí)行。
利用場(chǎng)景:
在url中
(結(jié)合網(wǎng)頁的代碼,補(bǔ)全前面,使<script>……</script>成為獨(dú)立代碼)文章來源:http://www.zghlxwxcb.cn/news/detail-541731.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-541731.html
到了這里,關(guān)于web安全學(xué)習(xí)日志---xss漏洞(跨站腳本攻擊)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!