[記錄] web安全之XSS攻擊

1. 什么是XSS?

CSRF(Cross-site request forgery),中文名稱:跨站請求偽造。
將惡意代碼植入到提供給其他用戶使用的頁面中,簡單的理解為一種javascript代碼注入。

2. XSS危害

  • 掛馬
  • 盜取用戶Cookie。
  • DOS(拒絕服務(wù))客戶端瀏覽器。
  • 釣魚攻擊,高級的釣魚技巧。
  • 刪除目標(biāo)文章、惡意篡改數(shù)據(jù)、嫁禍。
  • 劫持用戶Web行為,甚至進(jìn)一步滲透內(nèi)網(wǎng)。
  • 爆發(fā)Web2.0蠕蟲。
  • 蠕蟲式的DDoS攻擊。
  • 蠕蟲式掛馬攻擊、刷廣告、刷瀏量、破壞網(wǎng)上數(shù)據(jù)

3.XSS分類

XSS分為三類:

  • 反射型XSS(非持久型)
    • 發(fā)出請求時,XSS代碼出現(xiàn)在URL中,作為輸入提交到服務(wù)器端,服務(wù)器端解析后響應(yīng),XSS代碼隨響應(yīng)內(nèi)容一起傳回給瀏覽器,最后瀏覽器解析執(zhí)行XSS代碼。這個過程像一次反射,故叫反射型XSS。
  • 存儲型XSS(持久型)
    • 存儲型XSS和反射型XSS的差別僅在于,提交的代碼會存儲在服務(wù)器端(數(shù)據(jù)庫,內(nèi)存,文件系統(tǒng)等),下次請求目標(biāo)頁面時不用再提交XSS代碼。
  • DOM XSS(客戶端)
    • DOM XSS和反射型XSS、存儲型XSS的差別在于DOM XSS的代碼并不需要服務(wù)器參與,觸發(fā)XSS靠的是瀏覽器端的DOM解析,完全是客戶端的事情。

4.XSS的防御措施:

  • 過濾轉(zhuǎn)義輸入輸出
  • 避免使用eval、new Function等執(zhí)行字符串的方法,除非確定字符串和用戶輸入無關(guān)
  • 使用cookie的httpOnly屬性,加上了這個屬性的cookie字段,js是無法進(jìn)行讀寫的
  • 使用innerHTML、document.write的時候,如果數(shù)據(jù)是用戶輸入的,那么需要對象關(guān)鍵字符進(jìn)行過濾與轉(zhuǎn)義
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容