2023_OWASP TOP10_漏洞详情
OWASP TOP 10 漏洞講解
1 、 s q l 注入 1、sql注入 1、sql注入
原理:
SQL 注入就是指 web 應用程序對用戶輸入的數據合法性沒有過濾或者是判斷,前端傳入的參數是攻擊者可以控制,并且參數帶入數據庫的查詢,攻擊者可以通過構造惡意的 sql 語句來實現對數據庫的任意操作。
?
分類:
1、報錯注入
2、bool 型注入
3、延時注入
4、寬字節注入
?
防御:
1.使用預編譯語句,綁定變量
2.使用存儲過程
3.使用安全函數
4.檢查數據類型
?
2 、失效的身份認證和會話管理 2、失效的身份認證和會話管理 2、失效的身份認證和會話管理
原理:
在開發web應用程序時,開發人員往往只關注Web應用程序所需的功能,所以常常會建立自定義的認證和會話方案。但是要正確的實現這些方案卻是很難的。結果就在退出、密碼管理、超時、密碼找回、帳戶更新等方面存在漏洞。
?
防御:
1、區分公共區域和受限區域。
2、對最終用戶帳戶使用帳戶鎖定策略。
3、支持密碼有效期。
4、能夠禁用帳戶。
5、不要存儲用戶密碼。
6、要求使用強密碼。
7、不要在網絡上以純文本形式發送密碼。
8、保護身份驗證 Cookie。
9、使用 SSL 保護會話身份驗證 Cookie。
10、對身份驗證 cookie 的內容進行加密。
11、限制會話壽命。
12、避免未經授權訪問會話狀態。
3 、跨站腳本攻擊( X S S ) 3、跨站腳本攻擊(XSS) 3、跨站腳本攻擊(XSS)
XSS是跨站腳本攻擊,原理是攻擊者向有XSS漏洞的網站中輸入惡意的HTML代碼,當其它用戶瀏覽該網站時,這段HTML代碼會自動執行,從而達到攻擊的目的。
?
分類:反射型(非持久型)XSS、存儲型(持久型)XSS、DOM型XSS.
?
區別:
DOM XSS和反射型XSS、存儲型XSS的差別在于DOM XSS的代碼并不需要服務器參與,觸發XSS靠的是瀏覽器端的DOM解析,完全是客戶端的事情。
?
預防:
1.使用XSS Filter,即跨站腳本過濾器,用于分析用戶提交的輸入,并過濾可能存在的腳本攻擊及惡意的THML或簡單的HTML格式錯誤等。
2.輸入過濾
輸入是否僅僅包含合法的字符;
輸入字符串是否超過最大長度限制;
輸入如果為數字,數字是否在指定的范圍;
輸入是否符合特殊的格式要求,如E-mail地址、IP地址等
3.輸出編碼
4.黑名單和白名單
5.內容安全策略(csp):CSP用于限制瀏覽器查看您的頁面,以便它只能使用從受信任來源下載的資源。
4 、直接引用不安全的對象 4、直接引用不安全的對象 4、直接引用不安全的對象
定義:
不安全的直接對象引用(IDOR)允許攻擊者繞過網站的身份驗證機制,并通過修改指向對象鏈接中的參數值來直接訪問目標對象資源,這類資源可以是屬于其他用戶的數據庫條目以及服務器系統中的隱私文件等等。
?
出現的原因:
Web應用往往在生成Web頁面時會用它的真實名字,且并不會對所有的目標對象訪問時來檢查用戶權限,所以這就造成了不安全的對象直接引用的漏洞。
服務器上的具體文件名、路徑或數據庫關鍵字等內部資源被暴露在URL或網頁中,攻擊者可以嘗試直接訪問其他資源。
?
防御措施:
1.使用基于用戶或會話的間接對象訪問,這樣可防止攻擊者直接攻擊未授權資源
2.訪問檢查:對任何來自不受信源所使用的所有對象進行訪問控制檢查
3.避免在url或網頁中直接引用內部文件名或數據庫關鍵字
4.驗證用戶輸入和url請求,拒絕包含./ …/的請求
5 、安全配置錯誤 5、安全配置錯誤 5、安全配置錯誤
定義:
安全配置錯誤可以發生在一個應用程序堆棧的任何層面,通常是由于不安全的默認配置、不完整的臨時配置、開源云存儲、錯誤的HTTP 標頭配置以及包含敏感信息的詳細錯誤信息所造成的。
?
影響:
攻擊者能夠通過未修復的漏洞、訪問默認賬戶、不再使用的頁面、未受保護的文件和目錄等來取得對系統的未授權的訪問或了解。
?
防御措施:
1、 配置所有的安全機制
2、 最小原則,關掉或限制不使用的服務
3、 更改默認賬戶信息
4、 使用日志和警報
5、 回顯信息不顯示任何與實際錯誤相關的信息
6、 檢查和修復安全配置項
6 、敏感信息泄露 6、敏感信息泄露 6、敏感信息泄露
漏洞描述:
由于管理員或者技術人員等各種原因導致敏感信息泄露。許多web應用程序和app都無法正確保護敏感數據,攻擊者可以通過竊取或修改未加密的數據來實施信用卡詐騙、身份盜竊或其他犯罪行為。未加密的敏感數據容易受到破壞,因此,我們需要對敏感數據加密,這些數據包括:傳輸過程中的數據、存儲的數據以及瀏覽器的交互數據。
?
檢測方法:
1、手工挖掘,查看web容器或網頁源碼代碼,可能存在敏感信息。比如訪問url下的目錄,直接列出了目錄下的文件列表,錯誤的報錯信息包含了網站的信息。
2、工具挖掘,像爬蟲之類的工具可以掃描到敏感文件路徑,從而找到敏感數據。
?
防范措施:
1、 對系統處理、存儲或傳輸的數據進行分類,根據分類進行訪問控制。
2、 對用戶敏感信息的傳輸和存儲進行加密
3、 強化安全意識
7 、缺少功能級的訪問控制 7、缺少功能級的訪問控制 7、缺少功能級的訪問控制
原理:
大多數Web應用程序的功能在UI頁面顯示之前,會驗證功能級別的訪問權限。但是,應用程序需要在每個功能被訪問時在服務器端執行相同的訪問控制檢查。如果請求沒有被驗證,攻擊者能夠偽造請求從而在未經適當授權時訪問功能。
?
測試方法:
1、 保證合法授權用戶可以訪問成功
2、 限制非法未授權用戶的訪問
?
防御措施:
1、 設計嚴格的權限控制系統,對于每個請求和URL都要進行校驗和權限確認,防止非法請求被執行
2、 對于每個功能的訪問,都要有明確的角色授權,采用過濾器的方式校驗每個請求的合法性
3、 實現Web訪問的IP白名單列表,禁止不可信的IP訪問Web系統
8 、跨站請求偽造( C S R F ) 8、跨站請求偽造(CSRF) 8、跨站請求偽造(CSRF)
CSRF概念:
CSRF跨站點請求偽造(Cross—Site Request Forgery),跟XSS攻擊一樣,存在巨大的危害性,你可以這樣來理解:攻擊者盜用了你的身份,以你的名義發送惡意請求,對服務器來說這個請求是完全合法的,但是卻完成了攻擊者所期望的一個操作,比如以你的名義發送郵件、發消息,盜取你的賬號,添加系統管理員,甚至于購買商品、虛擬貨幣轉賬等。 如下:其中Web A為存在CSRF漏洞的網站,Web B為攻擊者構建的惡意網站,User C為Web A網站的合法用戶。
?
攻擊原理:
CSRF攻擊攻擊原理及過程如下:
1. 用戶C打開瀏覽器,訪問受信任網站A,輸入用戶名和密碼請求登錄網站A;
2.在用戶信息通過驗證后,網站A產生Cookie信息并返回給瀏覽器,此時用戶登錄網站A成功,可以正常發送請求到網站A;
3. 用戶未退出網站A之前,在同一瀏覽器中,打開一個TAB頁訪問網站B;
4. 網站B接收到用戶請求后,返回一些攻擊性代碼,并發出一個請求要求訪問第三方站點A;
5. 瀏覽器在接收到這些攻擊性代碼后,根據網站B的請求,在用戶不知情的情況下攜帶Cookie信息,向網站A發出請求。網站A并不知道該請求其實是由B發起的,所以會根據用戶C的Cookie信息以C的權限處理該請求,導致來自網站B的惡意代碼被執行。
?
分類:
GET型和POST型。
?
防御手段:
1、驗證 HTTP Referer 字段。
根據HTTP協議,在HTTP頭中有一個字段叫Referer,它記錄了該HTTP請求的來源地址。
2、在請求地址中添加 token 并驗證
在HTTP請求中以參數的形式加入一個隨機產生的token(隨機字符串),并在服務器端建立一個攔截器來驗證這個token,如果請求中沒有token或者token內容不正確,則認為可能是CSRF攻擊而拒絕該請求。
3、二次驗證
在轉賬等關鍵操作之前提供當前用戶的密碼或者驗證碼。二次驗證可以有效防御CSRF 攻擊。
9 、使用含有已知漏洞的組件 9、使用含有已知漏洞的組件 9、使用含有已知漏洞的組件
原理:
大多數的開發團隊并不會把及時更新組件和庫當成他們的工作重心,更不關心組件和庫的版本,然而應用程序使用帶有已知漏洞的組件會破壞應用程序防御系統,可能導致嚴重的數據丟失或服務器接管。
?
防御措施:
1.標識正在使用的所有組件和版本,包括所有依賴項。
2.及時關注這些組件的安全信息并保證他們是最新的。
3.建立使用組件的安全策略,禁止使用未經安全評估的組件。
4.在適當情況下,對組件進行安全封裝,精簡不必要的功能,封裝易受攻擊部分。
10 、未驗證的重定向和轉發 10、未驗證的重定向和轉發 10、未驗證的重定向和轉發
重定向:
重定向是服務端根據邏輯,發送一個狀態碼(通常為3xx),告訴瀏覽器重新去請求那個地址.所以地址欄顯示的是新的URL。(重定向是在客戶端完成的)
轉發:
轉發是在服務器內部將請求轉發給另一個資源,把那個URL的響應內容讀取過來,然后把這些內容再發給瀏覽器.瀏覽器根本不知道服務器發送的內容從哪里來的,因為這個跳轉過程是在服務器實現的,并不是在客戶端實現的所以客戶端并不知道這個跳轉動作,所以它的地址欄還是原來的地址。(轉發是在服務器端完成的)
?
兩者的區別:
1、重定向是瀏覽器向服務器發送一個請求并收到響應后再次向一個新地址發出請求,轉發是服務器收到請求后為了完成響應跳轉到一個新的地址。
2、重定向有兩次請求,不共享數據,轉發是有一次請求且共享數據。
3、重定向后地址欄會發生變化,轉發不會。
4、重定向的地址可以是任意地址,轉發的地址只能是當前應用類的某一個地址。
?
預防措施:
1、重定向外部網站需要驗證是否在白名單。
2、轉發內部網站要驗證是否有權限,有權限才轉發。
總結
以上是生活随笔為你收集整理的2023_OWASP TOP10_漏洞详情的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小程序如何帮助超市拓展线上销售渠道、拉新
- 下一篇: 【C语言】——迷宫问题详解