網站漏洞檢測 身份驗證碼與重要操作驗證碼安全問題
在對客戶網站以及APP進行安全檢測的同時,我們SINE安全對驗證碼功能方面存在的安全問題,以及驗證碼漏洞檢測有著十多年的經驗,在整個APP,網站的安全方面,驗證碼又分2種,第一個是登陸的身份驗證碼,再一個對重要的操作進行的操作驗證碼,雖然從名字上都是驗證碼,但這兩種所包含的內容是不一樣的。
登陸身份驗證碼的功能是用來判斷當前賬戶登陸是否是賬戶者本身,簡單來說是判斷是否是賬戶的擁有者,用驗證碼來效驗,使用者註冊賬號的時候都會填寫手機號,那麼手機號就作為身份唯一的證明,透過接收簡訊驗證碼來登陸網站,以及APP。重要操作方面的驗證碼,比如一些資金,提現,轉幣,充值,修改銀行卡,牽扯資金類的重要操作,含有這個修改密碼等等的屬於操作型別的驗證碼,為的是防範別人盜用賬戶,對賬戶進行篡改,給賬戶擁有者帶來損失,把握風控。
這兩種驗證碼的功能都不一樣,所以在對APP,網站進行安全檢測的同時,查詢出來的漏洞,以及發生的安全問題,都不一樣。我們SINE安全工程師在對其他客戶平臺,APP進行測試總結下來的經驗,來跟大家講將驗證碼安全上的問題。
使用驗證碼為的就是提高APP安全,網站的安全效能,解決網站賬戶被暴力破解,頻繁的API訪問,重要操作上的驗證碼二次確認,防止惡意操作導致使用者賬戶本身受損失,這些安全方面,都是為了區別開軟體與人工,當使用者被暴力破解,一般都是採用軟體進行攻擊操作,包括頻繁的訪問某一個API介面,也都是由軟體實施,人工根本不可能實現。驗證碼安全檢測,主要從以下幾個方面進行測試:
驗證碼是否可以重複利用,驗證碼是否可被軟體ocr文字自動識別,驗證碼是否被可以被繞過,驗證碼在一分鐘內是否有數量的安全限制,驗證碼的生成規則是否可逆,輸入驗證碼出錯的次數是否會開啟二次安全驗證,根據近10年的安全測試經驗,我們SINE安全統計發現驗證碼被重複利用,被自動識別這些漏洞是經常出現的,下面講一下驗證碼被重複利用漏洞:
正常來講驗證碼在設計過程都是與session值進行繫結,當session產生第一時間,驗證碼也會緊跟其後,也會直接生成與當前的session值進行雙向的繫結。當使用者訪問APP,網站登入的時候,會自動載入驗證碼,登入請求到資料庫進行查詢比對,使用者的賬號是否正常,驗證碼也會判斷是否正確,但這兩個請求是分開來的,一個走資料庫,一個走驗證碼,各盡其責。如果是可以先請求驗證碼,再請求資料庫,這就導致安全問題的發生,APP的開發人員在設計的時候大多數考慮的是驗證碼是否輸入正確,如果正確就透過,而忽略掉了可以調換業務流程的先後順序,要判斷登陸與驗證碼的請求是否同步,在這個細節上,導致驗證碼被重複利用。
我們在測試其他客戶APP,網站的時候,使用者登陸時候先輸入驗證碼,驗證碼透過安全效驗後,直接可以進行登陸使用者賬戶與,在這個過程可以導致暴力破解的漏洞產生。
下一篇我們將會分享驗證碼被自動識別漏洞,希望我們的分享能給網站運營者與開發人員一些幫助,當在開發APP,網站驗證碼功能上一定要謹慎,根據我們分享的安全問題著重測試,並修復漏洞,完善網站的整體功能。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542418/viewspace-2655057/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP 驗證身份證號碼PHP
- 身份證號碼驗證系統
- 身份證號碼之js驗證JS
- 精確驗證身份證號碼程式碼
- 直播app原始碼,進行身份驗證時,檢測身份證位數夠不夠APP原始碼
- 身份證號碼驗證演算法演算法
- js實現身份證號碼驗證JS
- javascript身份證號碼校驗JavaScript
- javascript實現的身份證號碼驗證程式碼JavaScript
- 支招 | 如何解決身份驗證系統安全問題
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- Ext實現的身份證格式驗證程式碼
- C++身份核驗介面程式碼、身份證OCR、身份證實名認證APIC++API
- javascript 驗證身份證JavaScript
- 無密碼身份驗證:安全、簡單且部署快速密碼
- python 驗證碼識別示例(一) 某個網站驗證碼識別Python網站
- Sql語句密碼驗證安全漏洞(轉)SQL密碼
- Python識別網站驗證碼Python網站
- 驗證碼安全基礎
- php與js方式驗證手機號碼和郵件地址的合法性,js驗證身份證號碼PHPJS
- 驗證碼原理及驗證
- 身份證校驗碼的計算方法
- 身份證驗證工具類
- 實時驗證碼技術可改進生物識別身份驗證
- javascript實現的身份證號碼合法性驗證程式碼JavaScript
- 精確驗證身份證號碼合法性程式碼例項
- 極驗驗證碼破解與研究
- 驗證碼---js重新整理驗證碼JS
- WEB身份驗證Web
- 為網站實現一個驗證碼網站
- 影片直播app原始碼,姓名,身份證input驗證過濾APP原始碼
- java身份證驗證程式碼IdcardUtils.java分享Java
- js實現的身份證合法性驗證程式碼JS
- 無密碼身份驗證如何保障使用者隱私安全?密碼
- 中國身份證號驗證庫
- C++身份證號驗證C++
- C#驗證身份證號C#
- JavaScript驗證碼生成和驗證效果JavaScript