主頁 >  其他 > 實用的業務邏輯漏洞

實用的業務邏輯漏洞

2022-05-07 08:42:17 其他

零基礎學黑客,搜公眾號:白帽子左一

概述

傳統安全測驗主要依靠基于漏洞型別的自動化掃描檢測,輔以人工測驗,來發現如SQL注入、XSS、任意檔案上傳、遠程命令執行等傳統型別的漏洞,這種方式往往容易忽略業務系統的業務流程設計缺陷、業務邏輯、業務資料流轉、業務權限、業務資料方面的安全風險,過度依賴基于漏洞的傳統安全測驗方式脫離了業務系統本身,不與業務資料相關聯,很難發現業務層面的漏洞,企業很可能因為簡單的業務邏輯漏洞而蒙受巨大損失,

一.登錄認證模塊

1.暴力破解測驗

概述

暴力破解測驗是指標對應用系統用戶登錄賬號與密碼進行的窮舉測驗,針對賬號或密碼進行逐一比較,直到找出正確的賬號與密碼,一般分為以下三種情況:①.在已知賬號的情況下,加載密碼字典針對密碼進行窮舉測驗;②.在未知賬號的情況下,加載賬號字典,并結合密碼字典進行窮舉測驗;③.在未知賬號和密碼的情況下,利用賬號字典和密碼字典進行窮舉測驗,

復現程序

第一步:在目標的登陸頁面輸入賬戶名和密碼,點擊確定時用burp抓包,

第二步:將資料包發送給Intruder模塊,并且指定爆破點

第三步:加載字典,開始攻擊,根據回應來判斷密碼/用戶名是否正確

2.Session 會話固定測驗

概述

Session 是應用系統對瀏覽器客戶端身份認證的屬性標識,在用戶退出應用系統時,應將客戶端 Session 認證屬性標識清空,如果未能清空客戶端 Session 標識,下次登錄系統時,系統會重復利用該 Session 標識進行認證會話,攻擊者可利用該漏洞生成固定Session 會話,并誘騙用戶利用攻擊者生成的固定會話進行系統登錄,從而導致用戶會話認證被竊取,

漏洞復現

第一步:登陸目標網站之后,用burp查看資料包,重點查看類似SessionID的字符,并記錄,

第二步:重新登陸,再次用burp查看資料包,對比兩個資料包中的SessionID的字符,如果相同則漏洞存在,

3.Seesion 會話注銷測驗

概述

Session 是應用系統對瀏覽器客戶端身份認證的屬性標識,在用戶注銷或退出應用系統時,系統應將客戶端 Session 認證屬性標識清空,如果未能清空 Session 認證會話,該認證會話將持續有效,此時攻擊者獲得該 Session 認證會話會導致用戶權限被盜取,

漏洞復現

第一步:登陸目標網站之后,選擇一個功能,比如結算訂單等等,然后將這個資料包發送給Repeater模塊,

第二步:退出網站,然后在Repeater模塊將資料包再次發送,如果成功,則說明存在該漏洞,

4.Seesion 會話超時時間測驗

概述

在用戶成功登錄系統獲得 Session 認證會話后,該 Session 認證會話應具有生命周期,即用戶在成功登錄系統后,如果在固定時間內(例如 10 分鐘)該用戶與服務器無任何互動操作,應銷毀該用戶 Session 認證會話資訊,要求用戶重新登錄系統認證,

漏洞復現

第一步:登陸目標網站之后,選擇一個功能,比如結算訂單等等,然后將這個資料包發送給Repeater模塊,

第二步:網站不再動,等30分鐘或者更長之間之后,將資料包發送,如果結算成功,則漏洞存在,

概述

服務器為鑒別客戶端瀏覽器會話及身份資訊,會將用戶身份資訊存盤在 Cooki中,并發送至客戶端存盤,攻擊者通過嘗試修改 Cookie 中的身份標識,從而達到仿冒其他用戶身份的目的,并擁有相關用戶的所有權限,

漏洞復現

第一步:準備兩個賬號,A、B , 使用A賬戶登陸目標網站,然后使用burp查看資料包,記錄其中的cookie資料,

第二步:再用B賬號,應用網站提供的一個功能,比如洗掉某個資料,攔截資料包,將其中的Cookie替換成A賬戶的cookie,如果能洗掉成功,則說明存在cookie仿冒,

6.登錄失敗資訊測驗

概述

在用戶登錄系統失敗時,系統會在頁面顯示用戶登錄的失敗資訊,假如提交賬號在系統中不存在,系統提示“用戶名不存在”、“賬號不存在”等明確資訊;假如提交賬號在系統中存在,則系統提示“密碼/口令錯誤”等間接提示資訊,攻擊者可根據此類登錄失敗提示資訊來判斷當前登錄賬號是否在系統中存在,從而進行有針對性的暴力破解口令測驗,

漏洞復現

第一步:在系統登錄頁面中輸入不存在的賬號資訊并提交,或者輸出錯誤的密碼,如果網站會進行相應的賬號錯誤/密碼錯誤等的提示,就說明存在該漏洞,

二.業務辦理模塊

1.訂單 ID 篡改測驗

概述

在有電子交易業務的網站中,用戶登錄后可以下訂單購買相應產品,購買成功后,用戶可以查看訂單的詳情,當開發人員沒有考慮登錄后用戶間權限隔離的問題時,就會導致平行權限繞過漏洞,攻擊者只需注冊一個普通賬戶,就可以通過篡改、遍歷訂單 id,獲得其他用戶訂單詳情,其中多數會包括用戶的姓名、身份證、地址、電話號碼等敏感隱私資訊,黑色產業鏈中的攻擊者通常會利用此漏洞得到這些隱私資訊,

漏洞復現

第一步:在目標網站查看訂單時,抓包,修改訂單號,

第二步:如果修改訂單號之后,能看到其他人的訂單,就說明漏洞存在,

2.手機號碼篡改測驗

概述

手機號通常可以代表一個用戶身份,當請求中發現有手機號引數時,我們可以試著修改它,測驗是否存在越權漏洞,系統登錄功能一般先判斷用戶名和密碼是否確,然后通過 Session 機制賦予用戶令牌,但是在登錄后的某些功能點,開發者很容易忽略登錄用戶的權限問題,所以當我們用 A 的手機號登錄后操作某些功能時,或通過其他方式嘗試篡改手機號,即可對這類問題進行測驗,

漏洞復現

第一步:比如修改密碼時,存在手機號驗證,那么發送驗證碼時抓包,然后將手機號修改成其他人的手機號,如果能收到資訊,則說明漏洞存在,

3.郵箱和用戶篡改測驗

概述

在發送郵件或站內訊息時,篡改其中的發件人引數,導致攻擊者可以偽造發信人進行釣魚攻擊等操作,這也是一種平行權限繞過漏洞,用戶登錄成功后擁有發信權限,開發者就信任了客戶端傳來的發件人引數,導致業務安全問題出現,

漏洞原理

第一步:在目標網站發送郵箱處,點擊并且攔截資料包,找到郵箱對應的引數,

第二步:在郵箱對應的引數處,進行修改成其他的郵箱號,如果郵箱能發送,并且郵箱內容發送給了指定的郵箱號,則漏洞存在,

4.競爭條件測驗

概述

競爭條件通常是在作業系統編程時會遇到的安全問題:當兩個或多個行程試圖在同
時刻訪問共享記憶體,或讀寫某些共享資料時,最后的競爭結果取決于執行緒執行的順序(執行緒運行時序),稱為競爭條件(Race Conditions),在 Web 安全中,我們可以沿用這個概念,在服務端邏輯與資料庫讀寫存在時序問題時,就可能存在競爭條件漏洞,如圖 5-25 所示,攻擊者通常利用多執行緒并發請求,在資料庫中的余額欄位更新之前,多次兌換積分或購買商品,從中獲得利益,

漏洞復現

第一步:某網站退款提現時存在競爭條件漏洞,申請退款時,點了兩次,生成了兩單退款申請,ps:將功能的資料包發送到Intruder模塊,更容易實作,

5.業務授權訪問模塊

概述

非授權訪問是指用戶在沒有通過認證授權的情況下能夠直接訪問需要通過認證才
能訪問到的頁面或文本資訊,可以嘗試在登錄某網站前臺或后臺之后,將相關的頁面鏈接復制到其他瀏覽器或其他電腦上進行訪問,觀察是否能訪問成功,

漏洞復現

第一步:在 IE 瀏覽器中登錄某網站進行交費

第二步:復制交費成功的 URL,在火狐瀏覽器里訪問,成功訪問,

三.回退及流程模塊

1.回退測驗

概述

很多 Web 業務在密碼修改成功后或者訂單付款成功后等業務模塊,在回傳上一步重新 修改密碼或者重新付款時存在重新設定密碼或者付款的功能,這時如果能回傳上一步重復 操作,而且還能更改或者重置結果,則存在業務回退漏洞,

漏洞復現

第一步:密碼修改成功后,進行回退測驗(檢查是否可以回退,并進行操作,如果存在,可能存在回退漏洞)

第二步:嘗試是否可以進行回退,結果可以回到重置密碼這一步,即第三步,可以修改密碼,成功且無限制

2.業務流程亂序測驗

簡述

該項測驗主要針對業務流程的處理流程是否正常,確保攻擊者無法通過技術手段
繞過某些重要流程步驟,檢驗辦理業務程序中是否有控制機制來保證其遵循正常流程,例如業務流程分為三步:第一步,注冊并發送驗證碼;第二步,輸入驗證碼;第三步,注冊成功,在第三步進行抓包分析,將郵箱或手機號替換為其他人的,如果成功注冊,就跳過了第一步和第二步,繞過了正常的業務流程,

漏洞復現

第一步:使用網站的充值按鈕,并用 Burp Suite 工具進行資料包截取,金額可隨意填寫,截獲支付訂單資料包,放棄支付,獲取生成的訂單號,

第二步:利用獲取的訂單號構造鏈接 http://www.xxx.com/index.php? controller=site&action=payok&out_trade_no=充值訂單號,直接訪問這個鏈接即可成功充值

四.驗證碼模塊

1.驗證碼暴力破解測驗

簡述

驗證碼機制主要被用于防止暴力破解、防止 DDoS 攻擊、識別用戶身份等,常見的
驗 證碼主要有圖片驗證碼、郵件驗證碼、短信驗證碼、滑動驗證碼和語音驗證碼,
以短信驗證碼為例,短信驗證碼大部分情況下是由 4~6 位數字組成,如果沒有對驗證碼的失效時間和嘗試失敗的次數做限制,攻擊者就可以通過嘗試這個區間內的所有數字來 進行暴力破解攻擊,

漏洞復現

第一步:填寫任意號碼進行注冊,本案例使用手機號碼為 16666666666,單擊獲取手機動態碼,會向手機發送一條驗證碼資訊

第二步:抓包,并且將驗證碼的部分進行爆破,

2.驗證碼重復使用測驗

簡述

在網站的登錄或評論等頁面,如果驗證碼認證成功后沒有將 session 及時清空,將會導致驗證碼首次認證成功之后可重復使用,測驗時可以抓取攜帶驗證碼的資料包重復提交,查看是否提交成功,

漏洞復現

第一步:在客戶投訴建議處,輸入要投訴的內容,并輸入驗證碼,抓取資料包并修改投訴內容引數 complaintsContent 的值,通過 BurpSuite 工具重復提交投訴資訊

第二步:經過暴力重復提交后,客戶端顯示提交成功,

3.驗證碼客戶端回顯測驗

簡述

當驗證碼在客戶端生成而非服務器端生成時,就會造成此類問題,當客戶端需要和服務器進行互動發送驗證碼時,可借助瀏覽器的工具查看客戶端與服務器進行互動的詳細資訊,

漏洞復現

第一步:使用瀏覽器訪問該網站,在找回密碼頁面中任意輸入一個手機號碼和開戶證件號

第二步:按F12,查看網路中的網路請求資訊,

4.驗證碼繞過測驗

簡述

在一些案例中,通過修改前端提交服務器回傳的資料,可以實作繞過驗證碼,執行我們的請求,

漏洞復現

第一步:首先輸入任意手機號碼和密碼,我們此處以 18888888886 為例,單擊“獲取手機驗證碼”,由于我們無法獲取到 18888888886 這個手機的真實驗證碼,我們隨意填寫一個驗證碼 1234,然后抓包,攔截它的回應包,

第二步:單擊 Forword 后,burp 工具里顯示的就是網站回傳的資料包,因為我
們填寫的手機驗證碼 1234 肯定是錯誤的,而此時 res_code 的值為 1,證明了當手機驗證碼錯誤時 res_code 的值為 1,我們將回傳資料包中的 res_code 的值改為 0,從而實作繞過驗證碼

 

 

 

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/469837.html

標籤:其他

上一篇:C++進階-3-容器(string)

下一篇:異步任務處理系統,如何解決業務長耗時、高并發難題?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more