微信小程序 城市服務(wù)接入安全檢測

2020-07-31 13:55 更新

safety-specifications

接入微信城市服務(wù),業(yè)務(wù)方需確保功能安全性。

常見安全檢查表

XSS

  1. 輸入校驗:長度限制、值類型是否正確、是否包含特殊字符(如<>’”等)
  2. 輸出編碼:根據(jù)輸出的位置進行相應(yīng)的編碼,如HTML編碼、JavaScript編碼、URL編碼。
  3. 輸出到HTML標簽之間時,對這些數(shù)據(jù)進行HTML Entity編碼
  4. 輸出到HTML屬性里時,特殊字符編碼為&#xHH
  5. 輸出到SCRIPT里時,對這些數(shù)據(jù)進行SCRIPT編碼,除了阿拉伯數(shù)字和字母,對其他所有的字符進行編碼,只要該字符的ASCII碼小于256。編碼后輸出的格式為\xHH
  6. 輸出到Style屬性里時,對這些數(shù)據(jù)進行CSS編碼,除了阿拉伯數(shù)字和字母,對其他所有的字符進行編碼,只要該字符的ASCII碼小于256。編碼后輸出的格式為\HH
  7. 輸出到HTML URL里時,對這些數(shù)據(jù)進行URL編碼,當需要往HTML頁面中的URL里插入不可信數(shù)據(jù)的時候,需要對其進行URL編碼

SQL注入

  1. 最佳方式就是使用預(yù)編譯語句,綁定變量
  2. 檢查數(shù)據(jù)類型
  3. 使用安全函數(shù),例如php的mysql_real_escape_string
  4. 從數(shù)據(jù)庫自身來說,應(yīng)使用最小權(quán)限原則,切記不要使用dba權(quán)限

上傳漏洞

  1. 在客戶端和服務(wù)器端對用戶上傳的文件名和文件路徑等項目分別進行嚴格的檢查,尤其是服務(wù)端檢測不能少
  2. 服務(wù)器端的檢查最好使用白名單過濾的方法,比如只允許jpg文件上傳等
  3. 上傳目標路徑盡量不在web目錄下,如果在web目錄下去掉該目錄的可執(zhí)行權(quán)限
  4. 慎用Fckeditor、ewebeditor等第三方上傳組件,歷史上曾出現(xiàn)多個漏洞

Struts2

歷史上Struts2框架出過多個高危漏洞,這些漏洞足以黑掉一個網(wǎng)站,要盡量使用最新版本

信息泄漏

  1. 線上機器刪掉測試頁面,例如test.html,phpinfo.php等
  2. 禁掉詳細的錯誤提示
  3. 禁止顯示調(diào)試信息
  4. 禁止將svn相關(guān)的文件更新到線上機器,例如.svn/entries

登錄安全

  1. 登錄頁面最好加入驗證碼
  2. 盡量使用https協(xié)議

會話安全

公眾號開發(fā)中通常將openid作為用戶身份標識,使用openid時要將openid設(shè)置到cookie中不要拼接到URL中例如http://www.qq.com/getuser?code=aaaaaa

管理頁面

Tomcat、jboss、weblogic等管理頁面可以做以下加個方面的安全策略

使用白名單的方式限制可以登錄的IP

如果不使用這些管理界面直接刪掉

平行權(quán)限問題

像訂單等場景需要格外注意平行權(quán)限問題,例如order?Id=111,是否order?Id=112就可以看到其他的訂單。對于這種情況的防御,可以加入校驗參數(shù),order?Id=111&sign=hash(字符串常量+id)

支付金額問題

  1. 涉及到微支付的web應(yīng)用一定要嚴格按照微信支付官方網(wǎng)站的文檔設(shè)計
  2. 確定用戶的支付金額與應(yīng)付金額是否相等


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號