作者:京東物流 陳維
一、引言
本文我們將以圍繞系統安全質量提升為目標,講述在功能安全測驗&安全滲透測驗上實踐程序,
希望通過此篇文章,幫助大家更深入、透徹地了解安全測驗,
二、安全滲透測驗實踐
安全前置掃描主要是識別白盒漏洞、黑盒漏洞問題,針對JSRC類問題,需要通過滲透測驗進行漏洞發現,
1.安全測驗類別
安全測驗根據開展的階段不同,測驗物件不同,可以分為:功能安全測驗、安全滲透測驗,
以下是兩者定義、兩者的區別:
| 兩者定義 | 功能安全測驗 | 在安全開發生命周期(SDL)的測驗驗證階段,對應用系統進行檢驗,驗證是否符合安全需求定義和產品質量標準的程序 , |
|---|---|---|
| 安全滲透測驗 | 在功能安全測驗完成后和產品正式上線發布前,以黑客視角對應用系統的可以被利用的安全漏洞進行發現和檢查,以保護資產和重要資料的機密性、完整性和可用性, |
| 功能安全測驗 | 安全滲透測驗 | ||
|---|---|---|---|
| 兩者區別 | 出發點不同 | 以發現系統所有可能的安全隱患為出發點 | 以成功入侵系統,證明系統存在安全問題為出發點 |
| 視角不同 | 站在防護者角度思考問題,盡量發現所有可能被攻擊者利用的安全隱患,并指導其進行修復 | 滲透測驗是以攻擊者的角度來看待和思考問題 | |
| 思考域不同 | 以系統所具有的功能為思考域 | 不但包括系統的功能,還有系統的機制、外部環境、應用與資料自身安全風險與安全屬性等 |
具體內容:
功能安全測驗:
在功能測驗階段進行,由各業務線測驗工程師進行,主要包括以下幾個方面:
? 人員權限設定,是否滿足需求檔案中的說明:
1). 是否初始化好所有的角色;
2). 每個角色是否按最小權限進行功能配置;
?權限測驗:水平越權、垂直越權、交叉越權;
?敏感資訊處理是否符合規范;
1). 加密存盤;
2). 顯示屏蔽;
3). 脫敏匯出;
4). 操作安全日志記錄;
安全滲透測驗:
| 邏輯安全測驗 | 登錄邏輯安全測驗 | 主要測驗登錄驗證邏輯是否可以繞過,是否存在驗證碼、是否可以撞庫和暴力破解 |
|---|---|---|
| 修改密碼邏輯安全測驗 | 針對修改密碼邏輯順序繞過問題測驗,針對修改密碼中短信、郵件發送邏輯和其中驗證碼邏輯做相關測驗 | |
| 驗證碼邏輯測驗 | 對驗證碼復雜度和驗證碼驗證順序邏輯、驗證碼驗證重放攻擊做安全測驗 | |
| 認證模塊測驗 | 對手機短信、ca證書等強認證模塊的繞過測驗 | |
| 客戶端安全測驗 | XSS測驗 | 用戶輸入畸形腳本及標簽過濾轉義 |
| CSRF測驗 | 驗證服務器是否添加會話TOKEN及驗證referer | |
| JSON挾持測驗 | 檢測json格式變化及是否驗證referer | |
| XSIO測驗 | 測驗是否限制圖片postion為absolute | |
| 基礎認證釣魚測驗 | 檢查是否可以修改img標簽的src屬性構造基礎釣魚頁面 | |
| URL跳轉測驗 | 檢測用戶能否修改應用的url引數使頁面跳轉到指定頁面 | |
| Flash安全測驗(客戶端) | 測驗Flash配置中allowscriptaccess、allowNetworking是否合理配置 | |
| cookie安全測驗 | 測驗重點cookie是否使用了HttpOnly | |
| CRLF測驗 | 檢查用戶輸入在HTTP頭中回傳,并且沒有過濾%0a%0d | |
| 服務端安全測驗 | SQL注入測驗 | 在資料庫互動操作的輸入點,輸入sql陳述句測驗是否可以執行 |
| 上傳漏洞測驗 | 在上傳功能點,測驗服務端是否對上傳檔案型別進行有效限制 | |
| 資訊泄露測驗 | 測驗應用是否對系統報錯、測驗頁面等進行有效處理,是否會泄露系統敏感資訊 | |
| 檔案下載安全測驗 | 在檔案下載或者讀取功能上,測驗功能設計是否合理,是否檔案名稱和路徑用戶可控 | |
| HTTP頭測驗 | HTTP頭代理偽造、HTTP頭PUT請求等畸形資料測驗 | |
| 遠程代碼執行測驗 | 提交特定的代碼,測驗代碼是否會被應用執行 | |
| 路徑遍歷測驗 | 訪問各個路徑,測驗是否可以顯示路徑下檔案資訊 | |
| 垂直權限測驗 | 檢測普通用戶是否能進入當前用戶權限不能進入的功能,執行高權限操作 | |
| Flash安全測驗(服務端) | 檢查組態檔crossdomain.xml是否配置合理 | |
| 水平權限測驗 | 測驗用戶是否只能操作自己當前用戶的資源,是否能夠操作其他相同權限用戶的資源 | |
| SSRF漏洞 | 測驗相關服務是否存在對內部網路探測 | |
| 框架安全測驗 | struts框架安全測驗 | 針對struts2運算式代碼執行漏洞進行測驗 |
| springMVC框架安全測驗 | 針對springMVC標簽多個代碼執行漏洞進行測驗 | |
| openssl安全測驗 | 針對openssl“心臟出血”等漏洞進行測驗 |
1.功能安全測驗
(1)開展功能安全測驗
Step1:確定專案是否需要安全評審
參考標準(來源安全部):
?公司重點戰略專案
?外網新系統
?大量外部人員使用的內網系統(建議15人以上)
?含重大商業機密,特殊敏感性的系統;
?新采購的乙方專案或外包專案;
?上面幾類系統在重大升級時,
Step2:依托SDL流程開展安全測驗:
Step3:測驗階段的功能安全測驗:
安全用例設計->測驗執行->漏洞報告
Step4:上線前的提交滲透測驗
(2)功能安全在專案中開展
SDL測驗階段開展功能安全測驗:
①確定測驗方案:功能安全測驗、安全滲透測驗、代碼白盒掃描、應用黑盒掃描,
②安全用例設計
③功能安全用例: 基于功能點,從權限控制、越權類、資料類 維度進行用例設計,
SDL上線前提交安全滲透測驗.
2.安全滲透測驗
(1)開展滲透測驗
Step1:使用測驗工具:
?BurpSuite安裝:
下載地址:https://portswigger.net/burp/communitydownload
Proxy SwitchyOmega(代理插件):代理插件下載地址
?瀏覽器代理配置:
?BurpSuite -Proxy監聽配置:
?BurpSuite使用:
瀏覽器啟用Proxy進行代理,通過BurpSuite進行資料抓取:
Proxy-Repeater進行請求包的重發:
Proxy-Intruder進行暴力爆破:
選定變數引數--引數化--批量重發請求--結果獲取分析,
Step2:測驗執行
Step3:整理報告
(2)常見漏洞測驗
權限繞過
定義:指權限控制功能不嚴謹,系統用戶可以訪問或者操作未授權的功能或者資料,
水平越權場景:當系統存在多個相同權限的用戶時,A用戶越權訪問或操作到B用戶的資源,
垂直越權場景:當系統存在不同權限的用戶時,低權限用戶越權訪問或操作到高權限用戶的資源,
未授權訪問:用戶在沒有通過認證授權的情況下能夠直接訪問需要通過認證才能訪問的頁面或者資訊,
提交了大量的舉證單資訊:
SSRF(服務端請求偽造)
定義:由攻擊者構造請求,由服務端發起請求的安全漏洞,SSRF攻擊的目標是外網無法訪問的內部系統(正因為請求是服務端發起的,所以服務端能請求到與自身相連而與外網隔離的內部系統),
存盤XSS漏洞
定義:跨站腳本攻擊是一種針對網站應用程式的安全漏洞攻擊技術,是代碼注入的一種,允許惡意用戶將代碼注入網頁,其他用戶在瀏覽網頁時會受到影響,惡意用戶利用XSS代碼攻擊成功后,很可能獲得很高的權限,
XSS分為:反射型,存盤型,DOM型,
三、總結
本文主要講述了功能安全測驗&安全滲透測驗 的定義、區別、開展方案,以及實踐舉例,
這兩中安全測驗既可在專案開展SDL流程的程序中開展,同時也可將安全滲透測驗單獨拿出來,針對組內外網系統,專項進行滲透測驗,
通過這樣的測驗,可以降低遺漏到JSRC外部白帽問題數,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/550025.html
標籤:訊息安全
上一篇:【D01】Django中實作帶進度條的倒計時功能(簡易版)
下一篇:百度翻譯介面的獲取與使用方法
