OWASP——開放式web應用程序安全項目
參考文獻:袁鳴凱.OWASP Top 10十大風險 – 10個最重大的Web應用風險與攻防.2016-9-18. https://blog.csdn.net/lifetragedy/article/details/52573897
Open Web Application Security Project
(1)——A1 —— 注入
包括但不限於sql注入、cookie注入、xxe注入等,此類為開發者忽略了客戶端對數據庫的惡意代碼拼接讀取造成的危害,可導致非法分子直接獲取數據庫賬號及密碼獲取管理員權限。如下圖:

防御方案:

附:大概的防御就是waf,一款強大的waf是防御的最佳選擇。
(2)——A2 —— 失效的身份認證和會話管理
SSO單點登錄,cookie相關信息顯示在url內或是未經允許即可訪問部分或全部用戶信息等


(3)——A3 —— 跨站
跨站腳本語言(XSS),常見發生於搜索欄、輸入框、留言板、評論區;存在三種分類:反射型、DOM型、存儲型;其中后兩者的危害較大,跨站腳本常被利用於獲取管理員賬號及密碼,制作木馬、釣魚、網頁截圖等
防范方案:

附:確定允許使用的標簽列表,對部分屬性限定對其設置
(4)——A4 —— 不安全的對象直接引用
類似於常見的業務邏輯漏洞,越權訪問他人賬號信息等。如下所示:

防范方案:

簡單而言就是:不使用明文的輸入;不使用單一cookie驗證;拒絕向上訪問文件操作等
(5)——A5 —— 跨站請求偽造(CSRF)
CSRF:通過模擬真實網頁信息讓用戶點擊訪問,可以直接對用戶的密碼或者重要文件進行跨站篡改、盜取操作,也可以未經用戶的許可,使用用戶的名義散播不良信息、盜取錢財等

防范方案:

附:簡單而言就是:由於cookie未做限制,導致只要簡單的構造惡意頁面就能完成非法操作。
(6)——A6 —— 安全誤配置
管理員對服務器配置不當,開啟了不應該開啟的配置,導致存在的大部分敏感信息泄露或是如下介紹:


防御方案:

(7)——A7—— 限制URL訪問失敗
用戶通過簡單的修改url內post或者get請求的參數即可達到超級訪問。其闡釋可以是偽造URL越權訪問


防御方案:

附:簡單而言就是不同權限的用戶使用相應權限的訪問,不可任意人員都直接訪問超級管理員權限。
(8)——A8—— 未驗證的重定向和轉發
302或301直接跳轉到用戶自己想訪問的網站,如網站管理員禁止的403頁面,跳轉功能可用於釣魚


防御方案:

(9)——A9—— 應用已知脆弱性的組件
應用攜帶漏洞的插件,如wordpress的魔圖插件等。簡單而言即:使用了被爆已知漏洞的插件或組件導致不安全。如:

防御方案:

附:使用安全的組件或及時更新安全組件,在使用時也需要對其進行安全測試。
(10)——A10—— 敏感信息泄露
這一項不做過多解釋,90%的網站都會存在信息泄露。比如用戶身份證或手機號,公司網站源代碼等,或是賬號密碼等直接顯示在網頁上。
主要說一下防范:
防御方案:

附:使用加密存儲個人數據;使用帶有會話ID的SSL加密通道;定制統一出錯頁面,不可直接將出錯頁面暴露給用戶;切忌將敏感信息打印到日志或存儲於數據庫(防sql報錯注入)
