可用fidder測試的一些安全測試點

如下是整理的一些常見的安全滲透測試點前端

1.用工具fidder抓包攔截篡改服務器端返回的代碼,致使下級擁有對上級的訪問操做權限數據庫

如下是公司開發寫的用戶角色權限頁面跳轉安全

修改普通角色跳轉的頁面爲管理員跳轉的頁面服務器

2.篡改傳輸的數據,積分兌換下訂單,能夠花別人的積分兌換東西送貨到我想送的人和地址併發

3.任意修改用戶資料iphone

某交易平臺的用戶能夠經過該系統的我的資料修改頁面修改我的的暱稱和頭像。工具

截取發送修改請求的數據包抓取進行分析。咱們發如今提交的過程當中,其實請求自帶了一個隱藏的參數investor.loginName,其實 investor.loginName爲登陸的手機號碼(或用戶名),investor.Name爲重置的用戶名,經過直接修改掉參數 investor.loginName爲任意註冊的用戶名或者手機號碼,便可成功篡改重置該用戶的用戶名。測試

4.任意查詢用戶信息優化

在對金融交易平臺測試的過程當中,咱們發現大部分平臺並未對查詢功能進行優化,使用用戶的uid之類的帳號標誌參數做爲查詢的關鍵字,而且未對查詢範 圍進行控制,致使出現任意信息查詢的安全漏洞。該類型漏洞在手機客戶端較爲常見,如在某交易平臺手機商城就發現了任意查詢其餘用戶信息的安全問題。網站

當點擊商城的我的資料修改處,系統會經過將當前用戶的phone_client_uuid提交到服務器進行查詢,調出我的資料的內容

 

但因爲系統並未對該功能進行訪問控制,致使可經過遍歷uuid的方式查詢平臺中任意用戶的資料,經過工具對phone_client_uuid的後5位進行爆破嘗試,以下圖:

 

經過對返回值的length進行篩選,發現成功爆破部分phone_client_uuid所對應的用戶信息。

代碼防禦

針對平行權限的訪問控制缺失,咱們建議使用基於用戶或者會話的間接對象引用進行防禦,比方說,一個某個選項包含6個受權給當前用戶的資源,它可使 用一串特殊的數字或者字符串來指示哪一個是用戶選擇的值,而不是使用資源的數據庫關鍵字來表示,數字和字符串的生成能夠結合帳號信息進行生成,使得攻擊者難 以猜想生成的方式。

針對垂直權限的訪問控制缺失,咱們建議可使用缺省拒絕全部的訪問機制,而後對於每一個功能的訪問,能夠明確授予特定角色的訪問權限,同時用戶在使用該功能時,系統應該對該用戶的權限與訪問控制機制進行校對。

5.任意重置用戶密碼

漏洞描述

用戶越權去修改其餘用戶的信息,如密保電話、密保郵箱等,因爲它敏感性因此咱們將它概括成一類進行探討。

案例

繞太短信驗證碼

基本全部的金融交易平臺都有短信找回密碼的功能,但部分短信驗證的功能較爲不完善致使可被利用重置任意用戶的帳號,一樣是某金融平臺的實際案例:

在已知對方用戶名和手機號碼的狀況下,經過站點的密碼找回功能可繞太短信驗證碼直接重置該帳號密碼。下圖爲密碼重置頁面:

 

該漏洞出現主要的緣由在於開發人員在第二步設置新密碼時服務端沒有對手機驗證碼進行二次校驗,提示:重要的功能都須要作服務器端驗證,致使當攻擊者能夠利用修改返回值的方式直接跳轉到設置新密碼頁面,而後重置用戶的密碼。

6.短信驗證碼暴力破解

部分金融交易平臺爲了用戶登陸方便會設置短信驗證碼登陸功能,但並未對驗證碼的登陸錯誤次數進行限制,致使可利用驗證碼爆破的方式強行登陸帳號。在某證券交易平臺就曾出現過該安全問題。

該平臺使用6位數字隨機驗證碼進行登陸,但並未對登陸錯誤次數和驗證碼失效時間進行限制,致使能夠暴力破解該驗證碼強制登陸帳號。以下圖:

 

一樣是經過返回值的length字段進行判斷是否登陸成功。6位字段的爆破須要較長的時間,但4位驗證碼的爆破時間最慢也僅須要約5分鐘左右。

代碼防禦

針對案例一中的漏洞,咱們建議在第二步修改密碼時服務端再次驗證手機驗證碼,部分平臺所採用的作法是,第一步驗證碼提交成功後,將驗證碼隱藏在一個 「hidden」表單中,並在第二步修改密碼中進行提交,服務端再次驗證短信驗證碼,保證準確性,同時對驗證碼的錯誤次數進行限制,當驗證錯誤超過特定次 數,當前驗證碼無效。

針對案例二中的漏洞,咱們一樣建議隨機驗證碼設置錯誤次數限制,當驗證錯誤超過特定次數,當前驗證碼即無效。

7.惡意註冊

漏洞描述

惡意註冊,是指攻擊者利用網站註冊功能的安全漏洞,註冊大量的垃圾帳號,致使系統增多大量無用數據。通常網站開發者爲了防止惡意註冊的行爲,在註冊 頁面均會在加入一些須要人工輸入的步驟,比方說短信驗證碼,郵箱驗證等。可是在對金融平臺測試的過程當中,一樣也發現了部分驗證功能可被繞過。

案例

註冊數據包重放繞過驗證碼

部分金融交易平臺爲了保證註冊用戶的真實性,每每都會要求驗證手機,並經過發送驗證碼的方式來保證註冊帳號並不是殭屍帳號,可是部分平臺的驗證碼可被屢次重放,致使可註冊大量垃圾帳號,在某交易商城的註冊功能就存在該漏洞,下圖爲註冊時須要給手機發送驗證碼的數據包:

短息碼驗證完後,直接註冊寫數據庫,經過修改phoneNum的值能夠實現批量註冊帳號:

經過修改phoneNum的值爲15527xxxx9六、15527xxxx97可成功註冊這兩個帳號:

該漏洞出現的緣由在於後臺未校驗驗證碼的使用次數和時間,只校驗了其準確性,所以可被利用進行屢次註冊。

代碼防禦

目前遇到的大部分惡意註冊類的安全漏洞均爲驗證碼可被屢次使用形成,咱們建議後臺對驗證碼的使用進行限制,任何的驗證碼應爲一次性,防止驗證碼被屢次使用

 

8.惡意短信

漏洞描述

惡意短信是一種相似於DDoS的攻擊方式,他是利用網站的短信相關的功能,對用戶的手機進行長時間的短信轟炸,致使手機癱瘓。除了單純的短信轟炸以外,咱們在測試過程當中也發現,部分金融交易平臺對所發送的短信內容也並無進行限制,致使可被利用進行短信欺詐。

案例

短信轟炸

在測試的過程當中,咱們發現衆多的金融交易平臺僅在前端經過JS校驗時間來控制短信發送按鈕,但後臺並未對發送作任何限制,致使可經過重放包的方式大 量發送惡意短信。如某交易平臺的手機註冊處就出現過該類型漏洞。利用fiddler抓取數據包,並進行重放能夠繞過前端的限制,大量發送惡意短信。

 

任意短信內容編輯

在某平臺的修改綁定手機功能就曾出現過可編輯短信內容的問題。

點擊「獲取短信驗證碼」,並抓取數據包內容,以下圖。經過分析數據包,能夠發現參數sendData/insrotxt的內容有客戶端控制,能夠修改成攻擊者想要發送的內容

 

將內容修改「恭喜你得到由xx銀行所提供的iphone6一部,請登陸http://www.xxx.com領取,驗證碼爲236694」併發送該數據包,手機可收到修改後的短信內容,以下圖:

技術分享

 

該類型漏洞對系統的影響不大,但若被攻擊者利用進行短信欺詐,將嚴重影響平臺的聲譽,甚至可能會惹上法律糾紛。

代碼防禦

針對惡意短信類的安全問題,咱們建議能夠經過如下兩種方式進行防禦:

一、從服務端限制每一個號碼的發送頻率和天天的發送次數,防止攻擊者利用短信接口進行惡意轟炸。‍‍

‍‍二、發送短信的內容應直接由系統內部進行定義,客戶端可經過數字或字符的方式,對所須要發送的內容進行選擇,如messagetype=1 爲密碼找回,messtype=2爲註冊,而後經過數字來索引要發送的內容。

 

9.增長抽獎機會

原本沒有抽獎的次數,技術分享點擊當即抽獎,fidder抓包,篡改狀態技術分享將0改成1,去掉提示

技術分享技術分享

相關文章
相關標籤/搜索