【漏洞學習筆記1】XSS 跨站腳本攻擊(Cross Site Scripting)
一、練習平台
(1):https://xssaq.com/yx/
對應:https://www.cnblogs.com/bmjoker/p/9446472.html
(線上網站練習本地無下載下傳資源沒有js代碼,參考文章中的js源代碼)
(2):XSS Chanllenges:http://xss-quiz.int21h.jp/
對應:https://blog.csdn.net/taozijun/article/details/81277187
(線上網站練習,js代碼參考文章,更偏近模拟真實xss挖洞)
(3):DVWA dvwa搭建參考:https://blog.csdn.net/u011585332/article/details/105132868/
搭建成功後通路http://127.0.0.1/dvwa/index.php即可。
對應練習教程:https://blog.csdn.net/weixin_43625577/article/details/89917893
(https://blog.csdn.net/python_LC_nohtyp/article/details/106731406)
(4)搭建的win2003的iis伺服器網站(留言本網站)
針對XSS漏洞使用kali中beef工具生産惡意代碼&挾持網站,參考:https://blog.csdn.net/python_LC_nohtyp/article/details/109734663
二、XSS
1、XSS簡介
XSS,跨站腳本攻擊(Cross Site Scripting),為了不和層疊樣式表(Cascading Style Sheets,CSS)的縮寫混淆,故将跨站腳本攻擊縮寫為XSS。惡意攻擊者往Web頁面裡插入惡意的 Script 代碼,當使用者浏覽該頁面時,嵌入其中 Web 裡面的 Script 代碼就會被執行,進而達到惡意攻擊使用者的目的。
2、XSS類型
反射型XSS:非持久化,需要欺騙使用者自己去點選連結才能觸發XSS代碼(伺服器中沒有這樣的頁面和内容),一般容易出現在搜尋頁面。特點:彈窗警告、廣告;javascript;在浏覽器中執行。
**存儲型XSS:**持久化,代碼是存儲在伺服器中的,如在個人資訊或發表文章等地方,加入代碼,如果沒有過濾或過濾不嚴,那麼這些代碼将儲存到伺服器中,使用者通路該頁面的時候觸發代碼執行。這種XSS比較危險,容易造成蠕蟲,盜竊cookie。
**DOM型XSS:**文本對象模式XSS,通過修改頁面的DOM節點形成的XSS,可存儲型,可反射型,隻取決于輸出地點。
3、漏洞形成的根源
伺服器對使用者送出的資料過濾不嚴;
送出給伺服器端的腳本被直接傳回給其他用戶端執行;
腳本在用戶端執行惡意操作;
三、反射型XSS
1、原理
擷取cookie
- 黑客首先向伺服器發送js腳本
- 伺服器将含有js腳本的頁面發給黑客
- 黑客将js腳本的頁面的url發送給被攻擊方
- 黑客擷取被攻擊方的cookie

重定向
- 黑客首先向伺服器發送js腳本
- 伺服器将含有js腳本的頁面發給黑客
- 黑客将js腳本的頁面的url發送給被攻擊方
- 被攻擊方點選url重定向到第三方網站
四、XSS常用手段
1)cookie劫持
HttpOnly或者ip與cookie綁定等方式都可以阻止。
2)構造GET和POST請求
3)釣魚
4)識别浏覽器
UserAgent可以僞造,辨識浏覽器自身的獨特的功能可知版本。
5)XSS Worm