API安全概述
Application Programma Interface (API)由一組定義和協議組合而成,可用于構建和企業集成應用軟體,隨著數字化轉型的深入,API產品的價值日益增高,特別是與微服務、DevOps等技術的融合,使得API成為企業戰略發展加速的利器,但隨之而來的安全問題也不容忽視,常見的API安全漏洞有以下五種:

- 首先是API應該與應用系統一樣在設計之初就考慮安全的因素,比如防篡改(簽名)、防重放(時間戳)、防止敏感資訊泄露(傳輸加密與資料最小化)等,
- API規范性帶來的一個問題就是API很容易被發現,比如在URL中出現的
v1/login,引數中出現的"function": "login"等, - 安全配置錯誤常常包括:未使用加密傳輸協議、CSRF、CORS等,
- 引數過多就會導致資訊泄露以及便于攻擊者執行頻率分析攻擊,比如
"role": "user"容易讓攻擊者聯想到"role": "admin"等, - 資料過多:傳輸過多的資料、回傳過多的資料、引數值暴露敏感資訊等都是資料過多導致的安全問題,
同時OWASP在2019年也列舉了API最受關注的十大安全問題:

從上述的兩張圖中我們就可以大體了解API常面臨的風險是什么,那么如何來解決這些安全問題?
API安全測驗方法
要想全面解決API的安全問題,就要在每次API研發完成之后進行全面的安全測驗,為了防止測驗程序中出現的遺漏,我們可以準備一個檢查串列v1.0(本串列主要來自:https://github.com/shieldfy/API-Security-Checklist/blob/master/README-zh.md,添加了一些自己的分類依據、測驗方法、修復方案等):

API安全測驗工具
很多時候重復的勞動力是不必要的,所以利用好工具事半功倍(工欲善其事必先利其器),
Astra
https://github.com/flipkart-incubator/Astra
安裝Astra非常簡單,我們直接使用Docker部署即可(官網已經有了詳細說明,值得注意的是編譯Astra時網路是個大問題,自行扶墻)
Burp Suite
Burp的強大之處不用多說,但是針對API的測驗,我更喜歡把BurpSuite與Postman結合起來使用,
fuzzapi
https://github.com/Fuzzapi/fuzzapi
安裝程序不贅述,
Postman
結合Burp來使用,后期有空專門寫BurpSuite + Postman,
其實寫本文主要是為了幫自己梳理一下API的安全漏洞和檢查要點,上面的圖只是一個1.0版本,并且本表的很多列我也暫時沒有共享出來,后期2.0會更新,
reference
- API Security Checklist:https://github.com/shieldfy/API-Security-Checklist
- API的五個常見漏洞:https://min.news/zh-cn/tech/24cceb1c0d9169a7dc68e58e0e669864.html
- API介面滲透測驗:https://xz.aliyun.com/t/2412
- 應用程式介面(API)安全:https://www.freebuf.com/articles/web/248251.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/249866.html
標籤:其他
上一篇:saltstack漏洞
