欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

七大最常見的WEB網站前端頁面安全攻擊

admin
2024年5月11日 14:22 本文熱度 758

如果你正在構建 web 應用,那么你不僅要關注應用的開發,還要關注其安全性。

事實上,由于 web 應用程序設計不當,每天發生的網絡攻擊超過 2,200 起[1]

因此,你必須了解 web 應用中可能發生的不同類型的攻擊,以及如何防范這些攻擊。

1. 跨站腳本攻擊 (Cross-Site Scripting:XSS)

  1. 攻擊者發現網站存在漏洞,然后注入腳本。
  2. 攻擊者在網站上注入惡意腳本,目的是竊取每個訪問者的會話 cookie。
  3. 每次訪問網站,惡意腳本都會被執行。
  4. 訪問者的會話 cookie 會被發送給攻擊者。

跨站腳本攻擊[2](XSS)是最常見的攻擊之一。在 XSS 攻擊中,攻擊者將惡意腳本注入可信網站,然后在用戶瀏覽器中執行。

什么會導致 XSS 攻擊?

XSS 攻擊的主要原因之一是在頁面上渲染用戶輸入內容之前,對這些輸入未處理或處理不當。例如,攻擊者可以使用 JavaScript 注入惡意代碼,并在應用渲染 DOM 時執行。

這些惡意代碼最終會訪問并竊取用戶會話令牌、cookie 和其他存儲在瀏覽器中的敏感信息。

筆者舉例:比如用戶輸入 <script>alert('foolish!'')</script>,未進行處理的話,在展示這段內容時可能會在瀏覽器提示 foolish。

如何防止 XSS 攻擊?

防止跨站腳本攻擊并不難,對用戶輸入內容的驗證是核心。

確保對用戶插入的數據進行過濾,內容進行編碼。此外,考慮使用內容安全策略(CSP)[3]來限制加載的資源和腳本。或者,只需使用 Angular、Vue 和 React 等框架,這些框架都有針對跨站腳本攻擊的內置預防機制。

2. SQL 注入

  1. 攻擊者訪問 http://student.com?studentId=117 or 1=1; 接口。
  2. 服務器生成 SQL(SELECT *FROM students WHERE studentId=117 or 1=1;) 訪問數據庫。
  3. 數據庫返回所有學生數據給服務端。
  4. 服務端接口把所有學生數據返回給攻擊者。

SQL 注入是一種存在已久的致命攻擊。攻擊會操縱數據庫查詢以獲得未經授權的數據庫訪問權限,從而執行惡意活動,如破壞數據庫或竊取敏感數據。

簡單地說,SQL 注入可讓攻擊者從你的前端執行 SQL 查詢。這可能會導致破壞性操作,使你的數據庫宕機!

例如,2020 年對愛沙尼亞中央健康數據庫的攻擊導致幾乎所有愛沙尼亞公民的健康記錄泄露,就是近年來發生的大規模 SQL 注入事件的一個令人痛心的例子。

如何防止 SQL 注入?

防止 SQL 注入的策略分為兩個部分:

  1. 首先,需要確保前端輸入的字段經過正確過濾和編碼。你需要防止用戶在輸入的字段中插入惡意代碼。
  2. 前端對內容驗證后,后端接口對接收到的參數進行驗證和轉義同樣重要。不要相信你的接口參數,因為任何人都可以獲取你的接口地址并開始發送惡意輸入。因此,后端也要確保對參數進行驗證。此外,利用 Burp Scanner[4]sqlmap[5]jSQL Injection[6] 和 Invicti[7] 等工具來檢測應用中潛在的 SQL 攻擊和相關漏洞。

3. 跨站請求偽造(Cross Site Request Forgery: CSRF)

  1. 攻擊者偽造一個向網站轉賬的請求。
  2. 攻擊者會將請求嵌入在一個超鏈接中,并將其發送給可能已登錄網站的訪問者。
  3. 訪問者點擊鏈接,無意中將請求發送至網站。
  4. 網站驗證完請求并從訪問者賬戶向攻擊者轉賬。

跨站請求偽造(CSRF)是一種前端安全攻擊,它會欺騙特定應用上的認證用戶,讓他們執行他們不希望執行的請求。

這可能是一個偽裝過的表單、鏈接或按鈕,在用戶發出請求時會更改用戶憑據、刪除或篡改敏感數據,或無意中從用戶的銀行賬戶中轉移資金。

筆者舉例:<img src="http://bank.example/withdraw?account=bob&amount=1000000&for=Mallory" />,登錄的用戶訪問到這個 img 標簽時,會發起轉賬請求并自動帶上登錄相關的 cookie。

如何防止 CSRF 攻擊?

防止 CSRF 攻擊的最簡單方法之一就是使用從服務器生成的 CSRF 令牌。你可以與客戶端共享這些令牌,這樣服務端就可以在收到的每個請求中檢查令牌并驗證其真實性。如果客戶端未能提供準確的令牌,服務器就可以拒絕所請求的操作。

此外,.NET、Joomla、Spring(Spring Security)和 Ruby on Rails 等框架都內置了 CSRF 支持,可防止此類攻擊。

4. 中間人攻擊

中間人(MitM)攻擊指攻擊者截獲并操縱雙方之間傳輸的信息。

例如,攻擊者可以攔截你與 Facebook.com 的連接,竊取你的憑據,然后將你的請求轉發給 Facebook。

當攻擊者利用不安全的通信渠道(通常通過公共 WiFi)時,就可以發生此類攻擊。這種攻擊的受害者并不覺得自己受到了攻擊,因為他們認為自己正在與服務器進行非常正常和安全的對話,而他們正在共享的信息卻在途中被窺探或篡改。

如何防止中間人攻擊?

  1. 使用安全的互聯網連接,并在不使用應用時及時退出登錄。
  2. 不要連接不熟悉的網絡。例如,不要連接咖啡館里的免費 WiFi。
  3. 使用安全通信協議,如 HTTPS 和 TLS,對傳輸中的所有數據進行加密。

5. 點擊劫持

  1. 攻擊者將點擊劫持的 “內容” 放在廣告位置的頂部。
  2. 用戶訪問廣告所在頁面。
  3. 用戶點擊廣告后會被重定向到與廣告無關的頁面 - 這時用戶就被 “點擊劫持”了。

點擊劫持(A.K.A - UI 糾錯攻擊)是一種欺騙機制,它欺騙用戶點擊了不是他們想要訪問的東西。

它將隱藏元素覆蓋在網站上一些可點擊的內容之上。在這種情況下,用戶實際上是在點擊一個非預期元素,而該元素可能會在未經用戶同意的情況下觸發資金轉移等意外操作。

筆者舉例:攻擊者開發了一個頁面,里面用 iframe 加載平鋪了百度頁面,并在百度搜索的按鈕上覆蓋一個元素,用戶點擊搜索時,實際點擊的是搜索之上的那個元素。

如何防止點擊劫持攻擊?

為了降低點擊劫持攻擊的潛在風險,可以使用一種機制,即使用 X-Frame-Options[8] 標頭,以確保你的網站沒有嵌入到其他網站或 IFrames 中。

6. 安全配置錯誤攻擊

不恰當的設置、默認值和過時的配置往往會導致應用出現安全配置錯誤問題,從而使網絡犯罪分子有機可乘。

例如,可能會出現以下情況:啟用目錄列表可能會泄露敏感信息、密碼和仍是默認值的密鑰,以及暴露錯誤處理信息。

如何防止安全配置錯誤問題?

  1. 始終確保已更新服務的默認密鑰和密碼,并定期進行配置審計。
  2. 定期審查安全設置也有助于降低可能存在安全配置錯誤或過時配置漏洞的風險。
  3. 在配置相似的生產、開發和測試環境中使用不同的憑據進行自動構建和部署流程,也有助于保護你的應用。

7. 依賴性利用

筆者:上圖中公司內部和公共 npm 上都有名為 company-interal-lib 的庫,如果你安裝時不指定公司的源,你可能會安裝 npm 上的包,這個包有安全漏洞。

前端應用由大量第三方庫組成,這些庫的使用使開發人員的工作變得更加輕松。但開發人員經常疏忽的一點是,這些庫有時可能存在安全漏洞。

例如,Log4j[9] 存在一個巨大的漏洞,攻擊者可以在 Java 環境中執行遠程代碼。因此,任何使用 Log4j 的應用程序都會成為這種攻擊的受害者!

如何防止依賴性利用?

使用廣泛使用、維護得當、可靠并經過社區測試的庫。

除此之外,定期審計、更新依賴關系和使用漏洞掃描工具[10]也能確保前端應用的安全。

總結

確保你構建的 web 應用保持高度安全非常重要。這不僅僅是為了你的應用有良好的用戶體驗,更是為了確保用戶數據的安全。

閱讀完這篇文章后,我建議你檢查一下你的應用代碼,看看你的應用是否容易出現上述問題,如果有,請立即采取相關策略!


該文章在 2024/5/13 10:35:10 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved