在接口測試過程中常見的接口安全性問題,通用測試點整理歸納

atstudy網校 發佈 2022-07-01T03:44:35.847501+00:00

我們日常的接口測試工作主要是驗證接口的功能性(入參、出參、邊界值等),沐沐在接口測試過程中遇到的一些接口安全性的問題,整理成了通用的測試點,不一定適用於全部的產品,僅做參考。

我們日常的接口測試工作主要是驗證接口的功能性(入參、出參、邊界值等),沐沐在接口測試過程中遇到的一些接口安全性的問題,整理成了通用的測試點,不一定適用於全部的產品,僅做參考。

一、登錄接口校驗

驗證登錄接口中密碼是否密文傳輸

這個測試點聽起來很荒唐,應該大家都知道密碼應該加密,但是在很多時候,研發人員為了趕工就會忽略這個點,所以建議大家測試登錄功能的時候,一定要F12查看一下登錄接口中密碼是否是密文。

驗證登錄接口是否可以爆破登錄

對於一些安全性較高的系統,測試的時候有必要驗證一下是否可以爆破登錄,可以使用Burpsuit進行爆破登錄測試。當然現在很多系統都是用手機號碼進行動態登錄,如果還是常規的帳戶和密碼登錄,就一定要對安全性提出質疑了,密碼強度符合等保要求麼?驗證碼要不要加上去?

二、接口規則校驗

驗證接口類型是否合理

理論上來說,除了查詢接口使用GET,其餘的接口都應該使用POST,這樣接口的安全性更高。沐沐以往的接口測試過程中確實遇到了不少業務接口使用get,參數拼接在url上及其不安全。此外,還有一個特殊情況,即不需要用戶登錄的系統,查詢類的接口也不建議使用GET,在安全掃描中會出現跨站點請求偽造的問題。

驗證新增和修改接口是否是獨立的接口

這個測試點有點離譜了,沐沐在測試過程中發現新增和修改接口共用同一個,這樣似乎是沒有什麼問題,但是後期遇到了一些複雜的業務邏輯,新增和修改接口融合在一起,導致了生產數據被篡改。所以接口設計還是要嚴謹一點,新增和修改接口儘量是獨立的接口。

驗證POST接口中是否將參數拼接成URL

沐沐曾經還遇到過將post接口的參數拼接到了url上,如果數據量較大的時候,url字符長度太大接口就會報錯,可能此類情況並不常見,但是遇到過就記錄下來了。

三、接口越權校驗

接口的越權分為水平越權和垂直越權,我們可以通過Burpsuit、Appcan等工具進行越權測試,測試過程中也遇到了以下問題:

驗證接口url上是否區域編碼、身份證號等參數;

驗證接口url上存在true或false時,進行篡改,功能、數據是否越權;

驗證接口url上存在type=1或2時,進行篡改,功能、數據是否越權;

接口參數中存在pagesize或者size時,進行篡改,是否進行最大值限制;

接口body參數中存在身份證號碼時,篡改參數值,接口是否返回正確提示。

最後:

1)關注+私信回覆:「測試」,可以免費領取一份10G軟體測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試等。

2)關注+私信回覆:"入群" 就可以邀請你進入軟體測試群學習交流~~

關鍵字: