業務安全之介面呼叫安全

2021-08-27 04:07:50 字數 1386 閱讀 1647

關於介面設計安全,主要需要考慮兩個方面的安全問題,一是介面訪問驗證及許可權問題,主要解決介面訪問的合法性(使用者登入驗證、**驗證、頻率控制等);另外是資料傳輸安全,主要解決介面資料被監聽篡改和介面錯誤處理(https安全傳輸、敏感內容加密、數字簽名等)。

一.介面呼叫重放攻擊

修復建議:

2.簡訊/郵件介面,需要對接呼叫頻率進行控制或者上限限制;

3.每乙個訂單(介面訪問)使用唯一的token,提交一次後,token失效。

二.介面呼叫遍歷漏洞

web介面一般將常見的一些功能需求進行封裝,通過傳入不同的引數來獲取對應的資料或者執行相應的功能,其中最常見的場景就是通過介面傳入id引數,返回對應id的資訊。此類介面如請求合法性校驗不嚴,很容易出現非授權訪問或者越權訪問的問題。

修復建議:

1.在session中儲存當前使用者的憑證或者id,只有傳入憑證或者id引數值與session中的一致才返回結果。

一般涉及身份校驗的介面,不要直接將敏感資訊的明文資訊在客戶端與服務端之間傳遞,可以將敏感資訊在服務端關聯到使用者標識 id,在客戶端儲存使用者標識 id 並提交到服務端,服務端根據 id 取出對應資訊後進行校驗;

三.介面呼叫引數篡改漏洞

在簡訊、郵件呼叫業務環節中,例如簡訊驗證碼、郵件驗證碼。修改對應請求中手機號或郵箱位址引數提交後,如果修改後的手機號或郵箱收到系統傳送的資訊,則表示介面引數可被篡改。

修復建議:

1.會話session中儲存重要的憑證,在忘記密碼、重新傳送驗證碼等業務中,從session獲取使用者憑證而不是從客戶請求的引數中獲取;

2.從客戶端處獲取手機號、郵箱等賬號資訊,要與session中的憑證進行核驗,驗證通過後才允許進行業務操作。

四.介面未授權訪問/呼叫漏洞

在正常的業務中,敏感功能的介面需要對訪問者的身份進行驗證,驗證通過後才允許呼叫介面進行操作。介面未做身份驗證或身份校驗不嚴,可能導致非授權訪問或越權呼叫,越權又分為垂直越權和水平越權。

修復建議:

1.採用token校驗的方式,在url中新增乙個token引數,只有token驗證通過才返回介面資料且token使用一次後失效;

2.在介面被呼叫時,伺服器端對會話狀態進行驗證,如果已經登入,便返回介面資料;如未登入,則返回自定義的錯誤資訊;

3.未授權訪問介面做session認證,並對使用者訪問的每乙個url做身份鑑別,正確的校驗使用者id及token等;

3.伺服器端需校驗身份唯一性,訪問介面**驗證,不同身份只能檢視修改刪除新增自己的資訊。

介面安全之簽名

第1步 將所有引數 注意是所有引數 除去sign本身,以及值是空的引數,按引數名字母公升序排序。第2步 然後把排序後的引數按引數1值1引數2值2 引數n值n 這裡的引數和值必須是傳輸引數的原始值,不能是經過處理的,如不能將 轉成 後再拼接 的方式拼接成乙個字串。第3步 把分配給接入方的驗證金鑰key...

介面安全之簽名

1.介面請求採用https的post方式,返回資訊全部採用json格式報文。2.請求和返回報文雙方約定採用utf 8編碼,並對請求引數做urlencoder。3.簽名規則 簽名在urlencoder之前做。4.商戶金鑰 207b6c6843a20c4acf7e8583b9d463c6 簽名規則 第1...

業務安全滑塊

問題討論 防止機器批量登,爬,刷。在識別到安全風險時返回乙個滑塊對抗機器。從客戶端提取資訊,加密後上傳 後端識別這些是否機器或者是惡意行為。1.最終停止位置xpos 每次驗證請求都會得到三張圖,fullbg 完整的驗證圖形 slice 拼圖那一小塊 bg 拼圖對應那一塊加陰影的fullbg,對比fu...