天天看點

滲透測試業務邏輯測試彙總—通用篇

本文作者:Angus(Ms08067實驗室 SRSP TEAM小組成員)
滲透測試業務邏輯測試彙總—通用篇

0x00:前言

     在漫漫滲透路中,“業務邏輯漏洞“一詞,想必各位都不陌生。行業内統一把程式邏輯不嚴謹或複雜導緻的邏輯錯誤,造成的一系列危害的問題稱為邏輯漏洞。業務邏輯漏洞覆寫面極廣,可以說存在于目标的各個方方面面。網上對于業務邏輯的文章多到數不清,但是能盡可能詳細的歸納總結的卻少之又少。因為一人一個思想,對于不同人員開發的系統,邏輯問題也各不相同,是以菜雞我主要是針對于通用的子產品的測試點,盡可能的細化的整理。能讓大家腦海中能有個大緻的測試思維導圖。

0x01:通用測試點

使用者類

主要包含使用者的登入、密碼找回、個人資訊查閱等測試點

登入子產品

使用者名枚舉

密碼爆破

登入繞過 //篡改伺服器傳回包的狀态碼資訊

登入憑證未及時失效 //登入成功後,伺服器傳回的使用者憑證未及時失效或憑證時間過長,導緻可重複利用進行登入。

登入越權 //篡改伺服器傳回包的使用者 id 參數,來登入他人賬号、或請求包的使用者 ID

空密碼登入//抓包将 password 字段改為空進行發送

SQL 注入//存在注入,可利用萬能密碼進行登陸等

Cookie 仿冒攻擊//通過修改 Cookie 中的某個參數來實作登入其他使用者

Session 會話固定攻擊

Cookie\Session 機制缺陷//網站會利用 Cookie 是否為空、Session 是否為 true 來

判斷使用者是否可以登入,隻要構造一個 Cookie 或 Session 為 true 就可以繞過認證登入

注冊子產品

使用者批量注冊

使用者注冊資訊覆寫 //通過對已存在的賬号再次進行注冊,進而對原有的賬号注冊資訊進行覆寫

密碼找回、重置子產品

前端校驗繞過導緻任意重置 //篡改伺服器傳回包狀态碼

驗證碼繞過//詳情見‘驗證碼類’

重置密碼流程跳過 //篡改請求包參數,跳過校驗步驟,直接對目标賬号進行密碼重置

越權篡改他人密碼//先進行合法校驗再篡改 ID 為他人使用者進行越權重置

Session 覆寫 //同一浏覽器,首先輸入自己的賬戶進行郵箱密碼找回,進入郵箱檢視連結,接着輸入他人賬戶,進行密碼找回,傳回剛剛自己的郵箱點選連結,由于 session 覆寫導緻了,這個連結成為了修改他人密碼的連結,成功修改他人密碼

密保問題缺陷 // 驗證邏輯可為空,通過密碼保護問題找回密碼,抓包,将密碼保護問題删除,直接修改密碼||密保問題答案直接暴露在頁面源代碼中

CSRF 攻擊

個人資訊子產品

水準越權  //手機号、郵箱、密碼等資訊篡改,個人資料越權周遊檢視

垂直越權  //同水準越權

CSRF 攻擊

XSS 攻擊

SQL 注入攻擊

活動類

主要包含報名、參與遊戲活動、邀請活動等測試點

請求重放 //批量報名,消耗活動資格、積分刷取等

XSS 蠕蟲攻擊

流程亂序 //跳過部分校驗流程,進行報名、參加

短信内容可控 //比如好友邀請功能,可對短信内容進行編輯,進行釣魚攻擊

交易類

主要包含資金交易類型業務測試點

并發邏輯漏洞  //常見于購買限量商品、領取優惠券等功能上

支付繞過

交易金額/數量篡改   //修改對應參數、或替換訂單 ID、商品 ID 等||金額負數、整數溢出等

訂單号、收貨位址等資訊越權周遊、篡改

請求參數幹擾   //金錢做了簽名認證之後,修改後不通過,但是在裡面仍然會有一個參數對金額産生影響導緻問題産生

強制攻擊   //強制攻擊發生在暴力破解的情況下,如果一個商家運用一個自己的網店,接入第三方支付接口,由于設計上的不當導緻商家與第三方支付約定的密鑰 Key 可以單獨被 MD5 加密,導緻可以使用 MD5 碰撞技術對密鑰進行破解,攻擊者可以設計簡單的密鑰加密資訊使得 MD5 加密是可以用 MD5 碰撞技術進行暴力破解

金額機關替換   //産生在 paypal 類似的國際支付的場景

收款人資訊篡改   //收款二維碼可控等

順序執行缺陷   //正常的邏輯是 a-b-c-d 循環漸進的進行流程操作。這個時候就會産生邏輯問題:可以直接從中繞過某一個過程進入到下一步操作。如果說有一項是支付的操作,那麼也就會産生支付繞過,如果說有一項是驗證機制,就會繞過驗證直接進入下一步。

訂單未捆綁   //确定支付之後還可以将商品加入購物車:把商品放入購物車點選下單支付,會跳轉到微信,支付寶等第三方支付平台。這個時候還可以繼續在購物車中加入商品,支付結束之後,商家發放的商品是現在的購物車裡面的東西

服務類

主要包含目标類型給予使用者的服務功能測試點

業務服務接口未授權越權   //更多于 JS 裡的接口洩露、FUZZ 模糊測試等

重播攻擊   //在短信、郵件調用業務或生成業務資料環節中(類:短信驗證碼,郵件驗證碼,訂單生成,評論送出等),對其業務環節進行調用(重放)測試

内容可控   //可對短信内容、郵件内容進行編輯,一般常見于邀請體驗類功能

多餘敏感資訊回顯 //針對于一些查詢接口,可能傳回該使用者綁定的其他資訊

流程跳過 //對于部分校驗流程可繞過,例如一些開卡、貸款服務等業務申請等服務

CSRF 攻擊

XSS 攻擊

SQL 注入攻擊

SSRF 攻擊

任意檔案上傳

任意檔案下載下傳/讀取

驗證碼類

主要包含重要操作點時的驗證碼機制測試點

圖形驗證碼

圖形驗證碼可自動識别進行暴力破解

圖形驗證碼可複用導緻暴力破解

圖形驗證碼未合理校驗導緻暴力破解  //删除驗證碼參數、驗證碼為空或 cookie 中的值

圖形驗證碼DDOS   //篡改驗證碼的長寬參數

短信驗證碼

短信驗證碼弱可暴力破解 //主要應用于四位純數字驗證碼||部分站點會采用固定的幾種驗證碼組合,随機使用。

短信驗證碼繞過 //篡改傳回包狀态碼繞過,主要應用于先進行短信驗證碼校驗等場景(密碼重置找回、登入、修改手機号等子產品)||未正常進行短信驗證碼校驗,例如短信驗證碼為空,成功進行登入

萬能驗證碼(000000、111111、0000、1111) //主要是應用于登入功能,開發人員便于系統測試時,所設定的萬能短信驗證碼,投産時并未删除,導緻可被利用

短信驗證碼回顯//1、網站頁面傳回2、伺服器傳回包傳回

短信炸彈(重播攻擊) //直接重放測試、或在手機号末尾添加空格,手機号前添加“+86、逗号、分号”、參數污染(再添加一個 phone 等參數)、删除或篡改 cookie 中的部分參數(伺服器對于短信擷取的限制取決于 cookie 中的部分參數)、請求參數修改大小寫、傳回包狀态碼篡改、參數周遊。

未綁定使用者憑證 //通過他人手機号找回密碼,抓包,将他人手機号替換成自己的手機号,擷取驗證碼,送出後修改密碼||通過自己手機号找回密碼,擷取驗證碼後抓包,将資料包中的 username 改為他人使用者名,送出後成功修改他人密碼

郵箱驗證碼

郵箱綁定缺陷 //通過郵箱找回密碼,URL 連結中修改 使用者 ID 為他人,郵箱不變,之後通過連結可以将他人賬戶綁定為自己的郵箱,之後通過郵箱找回密碼

郵箱 token 缺陷(未綁定、可周遊枚舉) //通過郵箱找回密碼,通路連結重置密碼,輸入新密碼後送出時抓包,雖然有 token,但是依然可以直接修改 使用者 ID 進而修改他人密碼||有的郵箱 token 可能會采用 Unix 時間戳 + md5 的方式,可自行爆破枚舉,

郵箱校驗繞過 //同短信驗證碼

0x02:小結

     業務邏輯顧名思義,重點便在于邏輯上,當進行業務邏輯測試時,牢記一點“不放過、掌流程、理關系”,也就是在測試中,不要放過任何一個可操作參數,或者對不存在的參數進行 fuzz 測試,完整的對正常的業務流程走一遍,掌握并了解清楚其運作的整體過程,理清參數之間、業務之間的關系。

滲透測試業務邏輯測試彙總—通用篇

招新

微信聯系方式:cos2606596924,

滿足以下要求均可嘗試

1.至少會一門程式設計語言

2.漏洞平台上送出過漏洞超過20個

3.每月一文章分享(考慮有些要上班)‍

掃描下方二維碼加入星球學習

加入後會邀請你進入内部微信群,内部微信群永久有效!

滲透測試業務邏輯測試彙總—通用篇

目前25000+人已關注加入我們

滲透測試業務邏輯測試彙總—通用篇

繼續閱讀