欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文詳細(xì)講講7種常見的前端攻擊

 更新時(shí)間:2024年11月09日 09:41:24   作者:夕陽_醉了  
這篇文章主要給大家介紹了7種常見的前端攻擊,包括跨站腳本(XSS)、依賴庫風(fēng)險(xiǎn)、跨站請(qǐng)求偽造(CSRF)、點(diǎn)擊劫持(Clickjacking)、內(nèi)容交付網(wǎng)絡(luò)(CDN)劫持、HTTPS降級(jí)和中間人攻擊,每種攻擊都有其攻擊方式和防御措施,需要的朋友可以參考下

前言

大家都知道,保證網(wǎng)站的安全是十分重要的,一旦網(wǎng)站被攻陷,就有可能造成用戶的經(jīng)濟(jì)損失,隱私泄露,網(wǎng)站功能被破壞,或者是傳播惡意病毒等重大危害。所以下面我們就來講講7 種常見的前端攻擊。

1. 跨站腳本 (XSS)

跨站腳本攻擊 (XSS) 是一種注入攻擊,攻擊者通過將惡意腳本注入到網(wǎng)頁中,欺騙用戶瀏覽器執(zhí)行,從而竊取用戶敏感信息或破壞網(wǎng)站。XSS 攻擊是 Web 應(yīng)用程序中最常見的安全威脅之一,也是造成重大安全事故的常見原因。

攻擊方式:

  • 反射型 XSS: 攻擊者將惡意腳本注入到用戶提交的數(shù)據(jù)中,例如評(píng)論表單、搜索表單等。當(dāng)用戶提交數(shù)據(jù)時(shí),惡意腳本會(huì)被原樣反射回用戶瀏覽器,并被執(zhí)行。

  • 存儲(chǔ)型 XSS: 攻擊者將惡意腳本存儲(chǔ)在服務(wù)器端,例如將惡意腳本注入到數(shù)據(jù)庫中。當(dāng)用戶訪問包含惡意腳本的頁面時(shí),惡意腳本會(huì)被瀏覽器執(zhí)行。

  • DOM 型 XSS: 攻擊者利用瀏覽器 DOM 的漏洞來執(zhí)行惡意腳本。例如,攻擊者可以利用 <script> 標(biāo)簽的 onerror 屬性來執(zhí)行惡意腳本。

防御措施:

  • 對(duì)用戶輸入進(jìn)行轉(zhuǎn)義和過濾: 使用 HTML 實(shí)體轉(zhuǎn)義或其他安全編碼方法來轉(zhuǎn)義用戶輸入中的特殊字符,防止惡意腳本注入。

  • 使用 HTTPOnly Cookie: 將 Cookie 的 HttpOnly 屬性設(shè)置為 true,可以防止 JavaScript 代碼直接訪問 Cookie。

  • 使用 Content Security Policy (CSP): CSP 是一種通過配置瀏覽器安全機(jī)制來限制網(wǎng)頁中可執(zhí)行內(nèi)容的安全技術(shù)。

  • 使用前端常用框架 (如Vue,React等):這些框架模板字符一般都經(jīng)過轉(zhuǎn)義和過濾,具有一定的安全性 。代碼示例

    <form action="/submit_comment">
      <input type="text" name="comment" value="">
      <button type="submit">提交評(píng)論</button>
    </form>
  • 上面表單中沒有對(duì)用戶輸入的評(píng)論進(jìn)行過濾,攻擊者可以輸入惡意JavaScript代碼,例如:

    <script>
      alert(document.cookie); // 竊取用戶Cookie
    </script>
  • 當(dāng)用戶提交評(píng)論時(shí),惡意代碼會(huì)被嵌入到評(píng)論中,并保存在服務(wù)器上。

  • 當(dāng)其他用戶訪問包含惡意評(píng)論的頁面時(shí),惡意代碼會(huì)被瀏覽器執(zhí)行,從而竊取用戶Cookie或造成其他傷害。

2. 依賴庫風(fēng)險(xiǎn)

前端網(wǎng)站通常會(huì)依賴很多的第三方庫和組件來實(shí)現(xiàn)各種功能。如果這些依賴庫存在漏洞,攻擊者可以利用這些漏洞來攻擊網(wǎng)站。

攻擊方式:

  • 遠(yuǎn)程代碼執(zhí)行 (RCE): 攻擊者可以利用依賴庫漏洞在受害者的瀏覽器或服務(wù)器上執(zhí)行任意代碼。

  • 跨站請(qǐng)求偽造 (CSRF): 攻擊者可以利用依賴庫漏洞偽造用戶請(qǐng)求,誘騙用戶執(zhí)行非預(yù)期的操作。

防御措施:

  • 使用經(jīng)過安全審計(jì)的依賴庫: 選擇使用經(jīng)過安全審計(jì)的依賴庫,可以減少依賴庫漏洞的風(fēng)險(xiǎn)。

  • 定期更新依賴庫: 定期更新依賴庫,及時(shí)修復(fù)已知的安全漏洞。

  • 盡量減少對(duì)第三方庫的依賴: 盡量減少對(duì)第三方庫的依賴,自己開發(fā)代碼,可以

代碼示例:

// 使用存在漏洞的第三方庫
const jsdom = require("jsdom"); 

jsdom.jsdom('<script>alert(1)</script>'); // 解析包含惡意JavaScript代碼的HTML

3. 跨站請(qǐng)求偽造 (CSRF)

跨站請(qǐng)求偽造 (CSRF) 是一種安全攻擊,攻擊者誘騙用戶在其已登錄的應(yīng)用程序中執(zhí)行非預(yù)期的操作,例如轉(zhuǎn)賬、修改個(gè)人信息等。CSRF 攻擊通常利用用戶的信任來實(shí)施,因?yàn)橛脩粼谧约旱臑g覽器中看到的是來自可信網(wǎng)站的請(qǐng)求,而沒有意識(shí)到該請(qǐng)求實(shí)際上是被攻擊者偽造的。

攻擊方式:

  • 利用表單提或者鏈接跳轉(zhuǎn)。攻擊者會(huì)構(gòu)造一個(gè)惡意表單或者鏈接,誘騙用戶點(diǎn)擊。當(dāng)用戶點(diǎn)擊表單時(shí),會(huì)向受害者的應(yīng)用程序發(fā)送一個(gè) POST 請(qǐng)求或者GET 請(qǐng)求,其中包含攻擊者想要執(zhí)行的操作。

  • 利用圖片請(qǐng)求: 攻擊者利用瀏覽器對(duì)圖片的自動(dòng)請(qǐng)求特性,構(gòu)造一個(gè)包含惡意請(qǐng)求的圖片。當(dāng)用戶瀏覽包含惡意圖片的頁面時(shí),瀏覽器會(huì)自動(dòng)向受害者的應(yīng)用程序發(fā)送請(qǐng)求,其中包含攻擊者想要執(zhí)行的操作。

防御措施:

  • 在表單中添加 CSRF 令牌: 在表單中添加一個(gè)隨機(jī)生成的 CSRF 令牌,并將其作為隱藏域提交給服務(wù)器。服務(wù)器端在驗(yàn)證用戶請(qǐng)求時(shí),會(huì)檢查 CSRF 令牌的有效性。

  • 使用 HTTP Referer 頭: 使用 HTTP Referer 頭來檢查請(qǐng)求來源,防止跨域請(qǐng)求。

  • 使用 SameSite Cookie 屬性: 將 Cookie 的 SameSite 屬性設(shè)置為 Strict,可以防止 CSRF 攻擊。

代碼示例:

<form action="/transfer">
  <input type="hidden" name="amount" value="1000">
  <input type="submit" value="轉(zhuǎn)賬">
</form>
  • 上面的表單中沒有使用CSRF令牌,攻擊者可以構(gòu)造一個(gè)惡意鏈接,誘騙用戶點(diǎn)擊。

  • 當(dāng)用戶點(diǎn)擊惡意鏈接時(shí),會(huì)向轉(zhuǎn)賬頁面發(fā)送一個(gè)POST請(qǐng)求,其中包含轉(zhuǎn)賬金額等信息。

  • 由于用戶的瀏覽器會(huì)自動(dòng)攜帶Cookie,攻擊者可以利用Cookie來冒充用戶身份,執(zhí)行轉(zhuǎn)賬操作。

4. 點(diǎn)擊劫持 (Clickjacking)

點(diǎn)擊劫持 (Clickjacking) 是一種欺騙攻擊,攻擊者在可信賴的頁面上使用透明或半透明的覆蓋層來欺騙用戶點(diǎn)擊他們所看到的以外的內(nèi)容,例如按鈕或鏈接。當(dāng)用戶點(diǎn)擊覆蓋層時(shí),實(shí)際上點(diǎn)擊的是攻擊者精心設(shè)計(jì)的惡意內(nèi)容,例如釣魚網(wǎng)站或下載惡意軟件的鏈接。

攻擊方式:

  • 利用透明層: 攻擊者在可信賴的頁面上使用透明層覆蓋真正的鏈接或按鈕。當(dāng)用戶點(diǎn)擊頁面時(shí),實(shí)際上點(diǎn)擊的是透明層中的惡意內(nèi)容。

  • 利用iframe: 攻擊者在可信賴的頁面中嵌入一個(gè)iframe,iframe的內(nèi)容是一個(gè)精心設(shè)計(jì)的惡意頁面。當(dāng)用戶點(diǎn)擊頁面時(shí),實(shí)際上點(diǎn)擊的是iframe中的惡意內(nèi)容。

  • 利用CSS定位: 攻擊者利用CSS定位技術(shù)將惡意內(nèi)容定位在可信賴的頁面之上。當(dāng)用戶點(diǎn)擊頁面時(shí),實(shí)際上點(diǎn)擊的是惡意內(nèi)容。

防御措施:

  • 使用 X-Frame-Options 頭: 在服務(wù)器端設(shè)置 X-Frame-Options 頭,禁止其他網(wǎng)站嵌入本網(wǎng)站的頁面。

  • 使用 Content Security Policy (CSP): CSP 是一種通過配置瀏覽器安全機(jī)制來限制網(wǎng)頁中可執(zhí)行內(nèi)容的安全技術(shù)。

  • 避免使用透明層: 盡量避免在頁面中使用透明層,如果必須使用,則需要仔細(xì)測試并確保透明層不會(huì)被攻擊者利用。

示例:

<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.7;">
  <button style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">點(diǎn)擊我</button>
</div>

<a  rel="external nofollow" >真正的鏈接</a>
  • 上述代碼中,存在一個(gè)透明的覆蓋層,覆蓋了真正的鏈接。

  • 當(dāng)用戶點(diǎn)擊頁面時(shí),實(shí)際上點(diǎn)擊的是覆蓋層中的按鈕,而不是真正的鏈接。

  • 攻擊者可以利用此漏洞來誘騙用戶執(zhí)行惡意操作,例如訪問釣魚網(wǎng)站或下載惡意軟件。

5. 內(nèi)容交付網(wǎng)絡(luò) (CDN) 劫持

內(nèi)容交付網(wǎng)絡(luò) (CDN) 劫持是指攻擊者劫持 CDN 節(jié)點(diǎn),修改 CDN 上的庫文件,在其中注入惡意代碼,進(jìn)而使應(yīng)用程序的用戶下載到這些惡意代碼。CDN 劫持攻擊通常利用 CDN 節(jié)點(diǎn)的安全漏洞或配置錯(cuò)誤來實(shí)施。

攻擊方式:

  • 利用 CDN 節(jié)點(diǎn)漏洞: 攻擊者利用 CDN 節(jié)點(diǎn)的漏洞,例如 SQL 注入、遠(yuǎn)程代碼執(zhí)行 (RCE) 等,獲取對(duì) CDN 節(jié)點(diǎn)的控制權(quán)。

  • 利用 CDN 配置錯(cuò)誤: 攻擊者利用 CDN 配置錯(cuò)誤,例如未啟用 SSL/TLS 加密、未配置訪問控制等,將惡意代碼注入到 CDN 節(jié)點(diǎn)上。

防御措施:

  • 使用 HTTPS 加密: 在 CDN 節(jié)點(diǎn)和用戶瀏覽器之間使用 HTTPS 加密,可以防止攻擊者竊取或篡改傳輸數(shù)據(jù)。

  • 使用內(nèi)容完整性驗(yàn)證 (CV): 使用 CV 技術(shù)來確保 CDN 內(nèi)容的完整性,防止惡意代碼被注入。

  • 定期監(jiān)控 CDN 節(jié)點(diǎn): 定期監(jiān)控 CDN 節(jié)點(diǎn)的安全狀況,及時(shí)發(fā)現(xiàn)并修復(fù)安全漏洞。

  • 選擇可靠的 CDN 服務(wù)商: 選擇可靠的 CDN 服務(wù)商,可以降低被攻擊的風(fēng)險(xiǎn)。

6. HTTPS 降級(jí)

HTTPS 降級(jí)是指攻擊者誘使用戶使用不安全的 HTTP 連接訪問應(yīng)用程序,從而竊取用戶敏感信息。HTTPS 是一種安全協(xié)議,可以對(duì)傳輸數(shù)據(jù)進(jìn)行加密,防止攻擊者竊取或篡改。然而,一些舊的瀏覽器或設(shè)備可能不支持 HTTPS,或者用戶可能被攻擊者誘騙使用不安全的 HTTP 連接。

攻擊方式:

  • 利用社會(huì)工程: 攻擊者通過社交工程手段,例如釣魚網(wǎng)站、虛假信息等,誘騙用戶點(diǎn)擊不安全的鏈接。

  • 利用瀏覽器漏洞: 攻擊者利用瀏覽器漏洞,將用戶重定向到不安全的 HTTP 連接。

  • 利用中間人攻擊: 攻擊者在用戶和服務(wù)器之間進(jìn)行攔截,將用戶連接降級(jí)為不安全的 HTTP 連接。

防御措施:

  • 強(qiáng)制使用 HTTPS: 在服務(wù)器端強(qiáng)制使用 HTTPS 連接,并禁止 HTTP 連接。

  • 使用 HSTS 頭: 在服務(wù)器端設(shè)置 HSTS 頭,告訴瀏覽器始終使用 HTTPS 連接訪問該網(wǎng)站。

示例:

<a  rel="external nofollow" >訪問網(wǎng)站</a>

上面的鏈接使用不安全的HTTP協(xié)議,攻擊者可以監(jiān)聽用戶的網(wǎng)絡(luò)流量,竊取用戶Cookie、表單數(shù)據(jù)等敏感信息。

7. 中間人攻擊

中間人攻擊 (Man-in-the-Middle Attack) 是攻擊者在用戶和服務(wù)器之間進(jìn)行攔截,竊取或篡改通信內(nèi)容。中間人攻擊通常利用不安全的網(wǎng)絡(luò)連接或 Wi-Fi 熱點(diǎn)來實(shí)施。

攻擊方式:

  • 利用不安全的網(wǎng)絡(luò)連接: 攻擊者建立一個(gè)偽造的 Wi-Fi 熱點(diǎn),并誘騙用戶連接。當(dāng)用戶通過偽造的 Wi-Fi 熱點(diǎn)訪問網(wǎng)站時(shí),攻擊者可以竊取用戶發(fā)送到服務(wù)器的 Cookie、表單數(shù)據(jù)、登錄憑證等敏感信息。

  • 利用 SSL/TLS 漏洞: 攻擊者利用 SSL/TLS 協(xié)議的漏洞,例如心臟出血漏洞、POODLE 漏洞等,解密用戶和服務(wù)器之間的通信內(nèi)容。。

防御措施:

為了防御中間人攻擊,開發(fā)人員可以采取以下措施:

  • 使用 HTTPS 加密: 在服務(wù)器端和用戶瀏覽器之間使用 HTTPS 加密,可以防止攻擊者竊取或篡改傳輸數(shù)據(jù)。

  • 使用公鑰密碼認(rèn)證: 使用公鑰密碼認(rèn)證可以確保通信雙方身份的真實(shí)性,防止攻擊者冒充服務(wù)器或用戶進(jìn)行攻擊。

  • 安裝殺毒軟件和防火墻: 安裝殺毒軟件和防火墻可以幫助防御一些常見的中間人攻擊。

總結(jié) 

到此這篇關(guān)于7種常見的前端攻擊的文章就介紹到這了,更多相關(guān)常見的前端攻擊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論