天天看點

業務安全漏洞挖掘歸納總結身份認證安全業務一緻性安全業務資料篡改使用者輸入合規性密碼找回漏洞驗證碼突破業務授權安全業務流程亂序業務接口調用安全時效繞過測試

轉自烏雲,原文連結 http://drops.wooyun.org/web/6917 ,默哀

身份認證安全

1.暴力破解

在沒有驗證碼限制或者一次驗證碼可以多次使用的地方,使用已知使用者對密碼進行暴力破解或者用一個通用密碼對使用者進行暴力破解。 簡單的驗證碼爆破。URL:

http://zone.wooyun.org/content/20839
一些工具及腳本 描述
Burpsuite
htpwdScan 撞庫爆破必備 URL: https://github.com/lijiejie/htpwdScan
hydra 源碼安裝xhydra支援更多的協定去爆破 (可破WEB,其他協定不屬于業務安全的範疇)
2.session & cookie類

會話固定攻擊:利用伺服器的session不變機制,借他人之手獲得認證和授權,冒充他人。案例:WooYun: 新浪廣東美食背景驗證邏輯漏洞,直接登入背景,566764名使用者資料暴露!

Cookie仿冒:修改cookie中的某個參數可以登入其他使用者。 案例:益雲廣告平台任意帳号登入WooYun: 益雲廣告平台任意帳号登入

3.弱加密

未使用https,是功能測試點,不好利用。

前端加密,用密文去背景校驗,并利用smart decode可解

業務一緻性安全

1.手機号篡改
  • 抓包修改手機号碼參數為其他号碼嘗試,例如在辦理查詢頁面,輸入自己的号碼然後抓包,修改手機号碼參數為其他人号碼,檢視是否能查詢其他人的業務。
2.郵箱或者使用者篡改
  • 抓包修改使用者或者郵箱參數為其他使用者或者郵箱
  • 案例: WooYun: 綠盟RSAS安全系統全版本通殺權限管理者繞過漏洞,包括最新 RSAS V5.0.13.2
3.訂單id篡改
  • 檢視自己的訂單id,然後修改id(加減一)檢視是否能檢視其它訂單資訊。
  • 案例: WooYun: 廣之旅旅行社任意通路使用者訂單
4.商品編号篡改
  • 例如積分兌換處,100個積分隻能換商品編号為001,1000個積分隻能換商品編号005,在100積分換商品的時候抓包把換商品的編号修改為005,用低積分換區高積分商品。
  • 案例:聯想某積分商城支付漏洞再繞過 WooYun: 聯想某積分商城支付漏洞再繞過
5.使用者id篡改
  • 抓包檢視自己的使用者id,然後修改id(加減1)檢視是否能檢視其它使用者id資訊。
  • 案例: WooYun: 拉勾網百萬履歷洩漏風險(包括手機、郵件、應聘職位等資訊、還可冒充企業身份篩選履歷、發面試通知等)

業務資料篡改

1.金額資料篡改
  • 抓包修改金額等字段,例如在支付頁面抓取請求中商品的金額字段,修改成任意數額的金額并送出,檢視能否以修改後的金額資料完成業務流程。 b) 案例: WooYun: 12308訂單支付時的總價未驗證漏洞(支付邏輯漏洞)
2.商品數量篡改
  • 抓包修改商品數量等字段,将請求中的商品數量修改成任意數額,如負數并送出,檢視能否以修改後的數量完成業務流程。 b) 案例: WooYun: 蔚藍團支付邏輯漏洞(可負數支付)
3.最大數限制突破
  • 很多商品限制使用者購買數量時,伺服器僅在頁面通過js腳本限制,未在伺服器端校驗使用者送出的數量,通過抓包修改商品最大數限制,将請求中的商品數量改為大于最大數限制的值,檢視能否以修改後的數量完成業務流程。
4.本地js參數修改
  • 部分應用程式通過Javascript處理使用者送出的請求,通過修改Javascript腳本,測試修改後的資料是否影響到使用者。

使用者輸入合規性

1.注入測試 請參考 http://wiki.wooyun.org/web:sql
2.XSS測試 請參考 http://wiki.wooyun.org/web:xss
3.Fuzz
  • 功能測試用的多一些,有可能一個超長特殊字元串導緻系統拒絕服務或者功能缺失。(當然fuzz不單單這點用途。)
  • 不太符合的案例,但思路可借鑒: WooYun: 建站之星模糊測試實戰之任意檔案上傳漏洞
  • 可能會用的工具 —— spike
4.其他用使用者輸入互動的應用漏洞

密碼找回漏洞

1.大力推薦BMa的《密碼找回邏輯漏洞總結》 http://drops.wooyun.org/web/5048

密碼找回邏輯測試一般流程

  1. 首先嘗試正常密碼找回流程,選擇不同找回方式,記錄所有資料包
  2. 分析資料包,找到敏感部分
  3. 分析背景找回機制所采用的驗證手段
  4. 修改資料包驗證推測

腦圖 (詳情請參考BMa的《密碼找回邏輯漏洞總結》)

驗證碼突破

驗證碼不單單在登入、找密碼應用,送出敏感資料的地方也有類似應用,故單獨分類,并進一步詳情說明。

1.驗證碼暴力破解測試
  • 使用burp對特定的驗證碼進行暴力破解
  • 案例: WooYun: 盟友88電商平台任意使用者注冊與任意使用者密碼重置漏洞打包
2.驗證碼時間、次數測試
  • 抓取攜帶驗證碼的資料包不斷重複送出,例如:在投訴建議處輸入要投訴的内容資訊,及驗證碼參數,此時抓包重複送出資料包,檢視曆史投訴中是否存在重複送出的參數資訊。
  • 案例:
3.驗證碼用戶端回顯測試
  • 當用戶端有需要和伺服器進行互動,發送驗證碼時,即可使用firefox按F12調出firebug就可看到用戶端與伺服器進行互動的詳細資訊
4.驗證碼繞過測試
  • 當第一步向第二步跳轉時,抓取資料包,對驗證碼進行篡改清空測試,驗證該步驟驗證碼是否可以繞過。
  • 案例: WooYun: 中國電信某IDC機房資訊安全管理系統設計缺陷緻使系統淪陷
5.驗證碼js繞過
  • 短信驗證碼驗證程式邏輯存在缺陷,業務流程的第一步、第二部、第三步都是放在同一個頁面裡,驗證第一步驗證碼是通過js來判斷的,可以修改驗證碼在沒有擷取驗證碼的情況下可以填寫實名資訊,并且送出成功。

業務授權安全

1.未授權通路
  • 非授權通路是指使用者在沒有通過認證授權的情況下能夠直接通路需要通過認證才能通路到的頁面或文本資訊。可以嘗試在登入某網站前台或背景之後,将相關的頁面連結複制于其他浏覽器或其他電腦上進行通路,看是否能通路成功。
2.越權通路

越權漏洞的成因主要是因為開發人員在對資料進行增、删、改、查詢時對用戶端請求的資料過分相信而遺漏了權限的判定

  • 垂直越權(垂直越權是指使用權限低的使用者可以通路權限較高的使用者)
  • 水準越權(水準越權是指相同權限的不同使用者可以互相通路)(wooyun-2010-0100991 PHPEMS多處存在水準權限問題)
  • 《我的越權之道》URL: http://drops.wooyun.org/tips/727

業務流程亂序

1.順序執行缺陷
  • 部分網站邏輯可能是先A過程後B過程然後C過程最後D過程
  • 使用者控制着他們給應用程式發送的每一個請求,是以能夠按照任何順序進行通路。于是,使用者就從B直接進入了D過程,就繞過了C。如果C是支付過程,那麼使用者就繞過了支付過程而買到了一件商品。如果C是驗證過程,就會繞過驗證直接進入網站程式了。
  • 案例:WooYun: 萬達某分站邏輯錯誤可繞過支付直接獲得取票密碼 http://wooyun.org/bugs/wooyun-2010-0108184

業務接口調用安全

1.重播攻擊

在短信、郵件調用業務或生成業務資料環節中(類:短信驗證碼,郵件驗證碼,訂單生成,評論送出等),對其業務環節進行調用(重放)測試。如果業務經過調用(重放)後被多次生成有效的業務或資料結果

  • 惡意注冊
  • 短信炸彈

在測試的過程中,我們發現衆多的金融交易平台僅在前端通過JS校驗時間來控制短信發送按鈕,但背景并未對發送做任何限制,導緻可通過重放包的方式大量發送惡意短信

案例: WooYun: 一畝田交易網邏輯漏洞(木桶原理)

2.内容編輯

類似案例如下:

點選“擷取短信驗證碼”,并抓取資料包内容,如下圖。通過分析資料包,可以發現參數sendData/insrotxt的内容有用戶端控制,可以修改為攻擊者想要發送的内容

将内容修改“恭喜你獲得由xx銀行所提供的iphone6一部,請登入

http://www.xxx.com

領取,驗證碼為236694”并發送該資料包,手機可收到修改後的短信内容,如下圖:

時效繞過測試

大多有利用的案例發生在驗證碼以及業務資料的時效範圍上,在之前的總結也有人将12306的作為典型,故,單獨分類。

1.時間重新整理缺陷

12306網站的買票業務是每隔5s,票會重新整理一次。但是這個時間确實在本地設定的間隔。于是,在控制台就可以将這個時間的關聯變量重新設定成1s或者更小,這樣重新整理的時間就會大幅度縮短(主要更改autoSearchTime本地參數)。 案例:

WooYun: 12306自動刷票時間可更改漏洞

2.時間範圍測試

針對某些帶有時間限制的業務,修改其時間限制範圍,例如在某項時間限制範圍内查詢的業務,修改含有時間明文字段的請求并送出,檢視能否繞過時間限制完成業務流程。例如通過更改查詢手機網廳的受理記錄的month範圍,可以突破預設隻能查詢六個月的記錄。

安全科普:看視訊了解Web應用安全漏洞TOP10(IBM内部視訊)

http://www.freebuf.com/vuls/63426.html

繼續閱讀