OWASP Top 10關鍵點記錄

FLy_鵬程萬里發表於2018-05-31

注入

注入攻擊漏洞,例如SQL,OS以及LDAP注入。這些攻擊發生在當不可信的資料作為命令或者查詢語句的一部分,被髮送給直譯器的時候。攻擊者傳送的惡意資料可以欺騙直譯器,以執行計劃外的命令或者在未被恰當授權時訪問資料。

注入型別

SQL查詢語句、LDAP查詢語句、Xpath查詢語句、OS命令、XML直譯器、SMTP頭注入等

關鍵技術點

SQL、儲存過程、ORM、Hibernate、Mybatis、XML、LDAP、SSI、程式碼注入、命令注入、Buffer Overflow、預編譯/引數化查詢、HQL、XXE


身份認證和會話管理

與身份認證和會話管理相關的應用程式功能往往得不到正確的實現,這就導致了攻擊者破壞密碼、密匙、會話令牌或攻擊其他的漏洞去冒充其他使用者的身份(暫時的或者永久的)。

常見問題功能

退出登入、密碼管理、記住我、祕密問題、賬戶更新

關鍵技術點

HTTP協議、Session、Cookie、Session fixation、Referer、Oauth、Openid、XSS、CSRF

跨站指令碼

每當應用程式在新網頁中包含不受信任的資料而無需正確的驗證或轉義時,或者使用可以建立JavaScript的瀏覽器API並使用使用者提供的資料更新現有網頁就會發生XSS缺陷。XSS允許攻擊者在受害者的瀏覽器上執行指令碼,從而劫持使用者會話、危害網站、或者將使用者轉向至惡意網站。

常見危害

盜取身份認證資訊、網站掛馬、資料篡改、拒絕服務、掛黑鏈、流量劫持、賬戶劫持、廣告彈窗、蠕蟲等

關鍵點技術

反射型XSS、DOM型XSS、儲存型XSS、JavaScript、轉義(escape)、編碼(encode)、瀏覽器解析順序、瀏覽器解碼順序、CRLF、Cross Site Tracing(XST)、同源策略(SOP)、跨域資源共享(CORS)、內容安全策略(CSP)、X-XSS-Protection、X-Frame-Options、HttpOnly、Content-Type。

失效訪問控制

僅允許通過身份驗證的使用者的限制沒有得到適當的強制執行。攻擊者可以利用這些缺陷來訪問未經授權的功能和/或資料,例如訪問其他使用者的帳戶,檢視敏感檔案,修改其他使用者的資料,更改訪問許可權等。

安全威脅

使用者資訊洩漏、商業資訊洩漏、破壞資料完整性等

關鍵點技術

目錄穿越、本地檔案包含、遠端檔案包含、越權

安全配置錯誤

好的安全需要對應用程式、框架、應用程式伺服器、web伺服器、資料庫伺服器和平臺定義和執行安全配置。由於許多設定的預設值並不是安全的,因此,必須定義、實施和維護這些設定。這包含了對所有的軟體保持及時地更新,包括所有應用程式的庫檔案。

常見問題

DNS域傳送、目錄瀏覽、弱口令等

關鍵點技術

補丁不及時、預設口令或弱口令、不必要的功能或服務、錯誤資訊回顯、配置錯誤導致資訊洩漏等

敏感資訊洩露

許多Web應用程式沒有正確保護敏感資料,如信用卡,稅務ID和身份驗證憑據。攻擊者可能會竊取或篡改這些弱保護的資料以進行信用卡詐騙、身份竊取,或其他犯罪。敏感資料值需額外的保護,比如在存放或在傳輸過程中的加密,以及在與瀏覽器交換時進行特殊的預防措施。

常見問題

資料傳輸不加密、資料儲存不加密、脆弱的加密演算法、缺乏金鑰管理

關鍵點技術

對稱加密、非對稱加密、雜湊演算法、雜湊長度擴充攻擊、金鑰、Bcrypt、中間人攻擊、SSL/TSL、HSTS、CA、證照、簽名、PKI

攻擊檢測於防禦不足

大多數應用程式和API缺乏針對手動和自動攻擊的檢測,預防和響應的基本功能。攻擊保護遠遠超出了基本輸入驗證,並且涉及自動檢測,記錄,響應甚至阻止攻擊。應用程式所有者還需要有快速部署補丁以防止攻擊的能力。

常見問題

識別到攻擊不做阻止、導致可以不斷嘗試測試,造成安全隱患。

跨站請求偽造(CSRF)

一個跨站請求偽造攻擊迫使登入使用者的瀏覽器將偽造的HTTP請求,包括該使用者的會話cookie和其他認證資訊,傳送到一個存在漏洞的web應用程式。這就允許了攻擊者迫使使用者瀏覽器向存在漏洞的應用程式傳送請求,而這些請求會被應用程式認為是使用者的合法請求。

關鍵點技術

cookie/session機制、jsonp、跨域資源共享、json劫持

使用含有已知漏洞的元件

元件,比如:庫檔案、框架和其它軟體模組,幾乎總是以全部的許可權執行。如果一個帶有漏洞的元件被利用,這種攻擊可以造成更為嚴重的資料丟失或伺服器接管。應用程式使用帶有已知漏洞的元件會破壞應用程式防禦系統,並使一系列可能的攻擊和影響成為可能。

常見漏洞元件

struts2、heartbleed、反序列化、weblogic、websphere、jboss、jenkins

未收保護的APIs

現代應用程式和API通常涉及豐富的客戶端應用程式,例如瀏覽器中的JavaScript和移動端應用程式,連線到某種API(SOAP / XML,REST / JSON,RPC,GWT等)。這些API通常是不受保護的,並且包含許多漏洞。

關鍵點技術

API格式:XML、JSON、RPC、GWT、自定義

客戶端:微服務、服務、終端、移動app

防禦建議

保護API的關鍵在於確保您充分了解威脅模型以及防禦方式:

1.確保您已經保護客戶端和您的API之間的通訊。

2.確保您的API具有強大的身份驗證方案,並且所有憑據,金鑰和令牌已被保護。

3.確保您的請求使用的任何資料格式,解析器都被配置並強化到可以防止此類攻擊。

4.實現訪問控制方案,保護API不被不正確地呼叫,包括未經授權的功能和資料引用。

5.防止所有形式的注入,即便它們適用於普通應用,但是這些攻擊對API同樣可行。


相關文章