0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

驗(yàn)證碼滲透最全總結(jié)

jf_Fo0qk3ln ? 來源:小艾搞安全 ? 2024-01-05 11:33 ? 次閱讀

驗(yàn)證碼滲透最全總結(jié)

> 不少人在碰見驗(yàn)證碼的時(shí)候,大多數(shù)只是看了一眼就過去了,沒想到驗(yàn)證碼還有啥可測試的。但其實(shí)驗(yàn)證碼也能在項(xiàng)目中導(dǎo)致高危,并且驗(yàn)證碼漏洞能在一定情況下造成危害。

驗(yàn)證碼總結(jié)

驗(yàn)證碼分為兩塊內(nèi)容,一塊是圖形驗(yàn)證碼,一塊是短信驗(yàn)證碼。下面是對這些技巧總結(jié)的思維導(dǎo)圖。

c976b6be-9ecf-11ee-8b88-92fbcf53809c.png

圖形驗(yàn)證碼

圖形驗(yàn)證碼長寬可控

簡單測試方法,就是看到一個(gè)登錄框,然后新建打開圖片鏈接,在圖片鏈接中就有機(jī)會(huì)看到兩個(gè)參數(shù)值,一個(gè)是 width,一個(gè)是 length。這兩個(gè)參數(shù)是計(jì)算圖片驗(yàn)證碼的長寬,如果長寬過高就會(huì)過度消耗的是服務(wù)器的 CPU 資源。

c99145a6-9ecf-11ee-8b88-92fbcf53809c.png


當(dāng)length為比較大的時(shí)候,響應(yīng)時(shí)間為2767millis

c9a8e21a-9ecf-11ee-8b88-92fbcf53809c.png


注意:該漏洞能造成服務(wù)器拒絕服務(wù)攻擊。有的 SRC 里面注明了,禁止使用 DDOS 攻擊,這種漏洞是不收的,如果提交了漏洞,很有可能面臨法律責(zé)任。

c9ba3e98-9ecf-11ee-8b88-92fbcf53809c.png

圖形驗(yàn)證碼可繞過

有時(shí)候開發(fā),會(huì)寫兩套圖形驗(yàn)證碼流程,一套是在生產(chǎn)運(yùn)行階段必須使用正確驗(yàn)證碼才能通過服務(wù)器校驗(yàn)。另外一套是在測試 SIT 環(huán)境下,把驗(yàn)證碼設(shè)置為只要是 null 或者是空都可以登錄驗(yàn)證碼置為空,提高開發(fā)工作效率。還有的時(shí)候,將驗(yàn)證碼修改為 true 就好了。這個(gè)是因?yàn)殚_發(fā)在進(jìn)行圖形驗(yàn)證碼判斷的時(shí)候,只要是驗(yàn)證碼收到的是 true 就會(huì)通過。具體測試過程已經(jīng)找不到了,大概寫一下吧。

圖形驗(yàn)證碼不失效

簡單易懂,圖形驗(yàn)證碼沒有對應(yīng)的失效機(jī)制。導(dǎo)致圖形驗(yàn)證碼能被多次利用。圖形驗(yàn)證碼在使用后未失效,發(fā)送短信時(shí)抓包,發(fā)送到Repeter中進(jìn)行重放,可以發(fā)送成功!

圖形驗(yàn)證碼可識(shí)別

這個(gè)就是開發(fā)在制作圖形驗(yàn)證碼功能的時(shí)候,沒有將圖形驗(yàn)證碼加入足夠多的噪點(diǎn),使驗(yàn)證碼能夠被現(xiàn)有的工具進(jìn)行識(shí)別。一般是項(xiàng)目硬湊數(shù)用的,SRC 全部都不收。具體不做解釋

圖形驗(yàn)證碼隨機(jī)值可控

都知道圖形驗(yàn)證碼是后端隨機(jī)生成的。那么隨機(jī)生成的時(shí)候,有沒有可能是能控制這個(gè)隨機(jī)值?有可能! 生成驗(yàn)證碼的隨機(jī)值被寫在了 url 里面

c9bf1800-9ecf-11ee-8b88-92fbcf53809c.png

將characters固定為aaaa,可以看到圖形驗(yàn)證碼為aaaa

c9c2c950-9ecf-11ee-8b88-92fbcf53809c.png

圖形驗(yàn)證碼返回到前端

測試過程已經(jīng)找不到了,口頭描述下大致就是登錄后會(huì)在響應(yīng)包中返回了下次圖形驗(yàn)證碼的內(nèi)容。

短信驗(yàn)證碼

我們已經(jīng)寫完了圖形驗(yàn)證碼部分,現(xiàn)實(shí)情況下短信驗(yàn)證碼也是比較多。短信驗(yàn)證碼的漏洞技巧要比圖形驗(yàn)證碼多很多

短信炸彈縱向

在一個(gè)限制時(shí)間的情況下對一個(gè)手機(jī)號,發(fā)送的短信驗(yàn)證碼條數(shù)超過發(fā)送預(yù)期,這種漏洞我們都稱為短信炸彈or短信轟炸or短信炸彈縱向

c9d590b2-9ecf-11ee-8b88-92fbcf53809c.png

c9e0c4a0-9ecf-11ee-8b88-92fbcf53809c.png


不停點(diǎn)擊repeter或者放到intruder里面,就可以實(shí)現(xiàn)一個(gè)手機(jī)號接收到多條短信

c9f21160-9ecf-11ee-8b88-92fbcf53809c.png

短信炸彈橫向

上面我們提到了在限定時(shí)間內(nèi),對一個(gè)手機(jī)號發(fā)送超過預(yù)期的短信條數(shù)是短信轟炸。造成的結(jié)果就是浪費(fèi)短信資源。如果開發(fā)把這個(gè)漏洞給改了,那么還有沒有漏洞?還有?不能給一個(gè)人發(fā)送短信驗(yàn)證了,那么給其他人發(fā)送驗(yàn)證碼一樣的。

ca0077fa-9ecf-11ee-8b88-92fbcf53809c.png

ca0abeea-9ecf-11ee-8b88-92fbcf53809c.png


將phone設(shè)置成變量,進(jìn)行遍歷

ca1b93dc-9ecf-11ee-8b88-92fbcf53809c.png

短信驗(yàn)證碼可爆破

我們講了 2 個(gè)發(fā)送短信驗(yàn)證碼,都知道驗(yàn)證碼通常 4 位數(shù)或者 6 位數(shù)的數(shù)字驗(yàn)證碼。如果服務(wù)器沒有限制提交的驗(yàn)證碼的次數(shù),那么我們可以爆破這個(gè)驗(yàn)證碼。并且如果有 4 位驗(yàn)證碼被爆破成功的話,在 SRC 里面通常是按照高危處理。

短信驗(yàn)證碼可編輯

我們講了發(fā)送短信驗(yàn)證碼以及爆破短信驗(yàn)證碼。我們知道短信驗(yàn)證碼功能發(fā)送的是短信,那么我們就有可能把短信內(nèi)容給更改。

ca1ffa12-9ecf-11ee-8b88-92fbcf53809c.png

ca246520-9ecf-11ee-8b88-92fbcf53809c.png


通過修改transAmt 參數(shù)內(nèi)容,可隨意修改短信內(nèi)容

短信炸彈的繞過技巧

我們在了解基礎(chǔ)短信驗(yàn)證碼的漏洞后,相應(yīng)的開發(fā)也會(huì)進(jìn)行了解。那么我們就需要增加技巧來繞過這些東西。

短信炸彈的繞過技巧 1--特殊字符

通常,開發(fā)在發(fā)送短信驗(yàn)證碼的時(shí)候,沒有對特殊字符進(jìn)行過濾。比如在手機(jī)號是 15312341234。我們加上+86,變成+8615312341234,這樣的話服務(wù)器就有可能判定為兩個(gè)手機(jī)號了。

在 mobile=15312341234 的前面,加空格,86,086,0086,+86,0,00,/r,/n,?,#,!,,...只要想法多就有可能繞過。

ca3d1390-9ecf-11ee-8b88-92fbcf53809c.png

ca470cba-9ecf-11ee-8b88-92fbcf53809c.png


控制phone參數(shù)進(jìn)行攻擊

ca4bc8a4-9ecf-11ee-8b88-92fbcf53809c.png

短信炸彈的繞過技巧 2--添加 XFF

在請求包中添加XFF頭,有的時(shí)候服務(wù)器是按照IP地址進(jìn)行判定的。

短信炸彈的繞過技巧 3--添加多個(gè)值

在發(fā)送手機(jī)短信驗(yàn)證碼的時(shí)候可以把一個(gè)參數(shù)賦上多個(gè)值。比如 Mobile=18312341234,13612341234&code=1234

短信炸彈的繞過技巧 4--添加多個(gè)參數(shù)

比如 Mobile=18312341234&Mobile=13612341234

短信炸彈的繞過技巧 5--修改返回包

在發(fā)送短信驗(yàn)證碼的數(shù)據(jù)包,修改返回包的 Flase 為 Success

短信炸彈的繞過技巧 6--并發(fā)

對短信驗(yàn)證碼的數(shù)據(jù)包進(jìn)行并發(fā),有機(jī)會(huì)繞過限制

ca693d80-9ecf-11ee-8b88-92fbcf53809c.png

ca74f116-9ecf-11ee-8b88-92fbcf53809c.png

在響應(yīng)包里面可以看到短信驗(yàn)證碼

在抓取短信驗(yàn)證碼的數(shù)據(jù)包后,在 response 可以看到短信驗(yàn)證碼

提交別人的驗(yàn)證碼

假設(shè)有一個(gè)需要短信驗(yàn)證碼功能點(diǎn)。給自己手機(jī)號 13512341234 發(fā)送驗(yàn)證碼為 111111,給別人手機(jī)號 18312341234 收到驗(yàn)證碼為 222222。那么自己手機(jī)號使用 222222 驗(yàn)證碼,也能正常登錄

每次短信驗(yàn)證碼都是同一個(gè)

一個(gè)手機(jī)號,點(diǎn)擊 2 次發(fā)送短信驗(yàn)證碼,驗(yàn)證碼都是同一個(gè)。這樣的情況下,可以試試爆破驗(yàn)證碼,如果爆破次數(shù)無限制,還是存在驗(yàn)證碼固定這樣漏洞的

驗(yàn)證碼不失效 1

比如驗(yàn)證碼是在修改密碼處使用。在使用短信驗(yàn)證碼進(jìn)入修改密碼后,驗(yàn)證碼沒有失效。當(dāng)前用戶還可以再次用這個(gè)短信驗(yàn)證碼修改密碼

驗(yàn)證碼不失效 2

場景:收到兩條短信驗(yàn)證碼,時(shí)間順序?yàn)椋? 在前,2 在后。收到的 2 后,1 還是沒有失效-

驗(yàn)證碼繞過技巧

項(xiàng)目在上線前,只是寫好驗(yàn)證碼接口,不會(huì)調(diào)用短信資源。因而為了功能登錄會(huì)把驗(yàn)證碼設(shè)計(jì)成固定的比如嘗試 6 個(gè) 1,6 個(gè) 0 短信驗(yàn)證碼

驗(yàn)證碼技巧

在找回密碼方面,填寫完賬號名,要給A發(fā)短信驗(yàn)證碼,通過burp攔截包,給B發(fā)送短信驗(yàn)證碼。這樣的話,就能用B的驗(yàn)證碼提交給A用,造成任意賬號密碼重置

本文僅用于技術(shù)討論與學(xué)習(xí),利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負(fù)責(zé),文章作者及本公眾號不為此承擔(dān)任何責(zé)任。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10769

    瀏覽量

    210420
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8843

    瀏覽量

    84946
  • 驗(yàn)證碼
    +關(guān)注

    關(guān)注

    2

    文章

    20

    瀏覽量

    4657

原文標(biāo)題:驗(yàn)證碼滲透最全總結(jié)

文章出處:【微信號:菜鳥學(xué)信安,微信公眾號:菜鳥學(xué)信安】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    無法驗(yàn)證郵箱,總是提示驗(yàn)證碼錯(cuò)誤,驗(yàn)證碼明明是正確的。

    `無法驗(yàn)證郵箱,總是提示驗(yàn)證碼錯(cuò)誤,驗(yàn)證碼明明是正確的。是不是系統(tǒng)的bug?`
    發(fā)表于 05-12 10:41

    平臺(tái)是如何高效的破解市面上各家驗(yàn)證碼平臺(tái)的各種形式驗(yàn)證碼的?

    眾所周知,驗(yàn)證碼的出現(xiàn)是為了區(qū)分人和機(jī)器,但隨著科技的發(fā)展,黑產(chǎn)從業(yè)者的可圖之利增多,驗(yàn)證碼的戰(zhàn)場也進(jìn)入了一段破解與抗破解的持久博弈。驗(yàn)證碼在逐漸復(fù)雜的同時(shí),黑灰產(chǎn)的攻擊手段也不斷提升。本文就從
    發(fā)表于 11-01 15:21

    基于加密短信驗(yàn)證碼的移動(dòng)安全支付解決方案

    針對移動(dòng)支付過程中支付驗(yàn)證碼容易泄露的問題,提出了基于加密短信息驗(yàn)證碼的雙因素移動(dòng)支付系統(tǒng)方案。該方案基于公開密鑰系統(tǒng),使用公鑰基礎(chǔ)設(shè)施/認(rèn)證機(jī)構(gòu)( PKI/CA)的認(rèn)證方法進(jìn)行服務(wù)器與客戶端的在線
    發(fā)表于 11-29 14:40 ?0次下載
    基于加密短信<b class='flag-5'>驗(yàn)證碼</b>的移動(dòng)安全支付解決方案

    多樣變換的手寫驗(yàn)證碼自動(dòng)識(shí)別算法

    研究驗(yàn)證碼自動(dòng)識(shí)別技術(shù)可以進(jìn)一步提升人識(shí)別驗(yàn)證碼的可讀性,增強(qiáng)機(jī)器識(shí)別的難度,從而提高網(wǎng)絡(luò)安全性。針對目前提出的驗(yàn)證碼識(shí)別方法基本都是采用光學(xué)字符識(shí)別(OCR)方法對機(jī)器寫的標(biāo)準(zhǔn)字符進(jìn)行識(shí)別,本文
    發(fā)表于 12-20 14:14 ?0次下載

    SQLyog_12.4.1_帶驗(yàn)證碼

    SQLyog_12.4.1_帶驗(yàn)證碼.rar
    發(fā)表于 04-12 21:03 ?22次下載

    以一個(gè)真實(shí)網(wǎng)站的驗(yàn)證碼為例,實(shí)現(xiàn)了基于一下KNN的驗(yàn)證碼識(shí)別

    很多網(wǎng)站登錄都需要輸入驗(yàn)證碼,如果要實(shí)現(xiàn)自動(dòng)登錄就不可避免的要識(shí)別驗(yàn)證碼。本文以一個(gè)真實(shí)網(wǎng)站的驗(yàn)證碼為例,實(shí)現(xiàn)了基于一下KNN的驗(yàn)證碼識(shí)別。
    的頭像 發(fā)表于 12-24 17:27 ?7709次閱讀

    如何使用Python機(jī)器學(xué)習(xí)解決驗(yàn)證碼的資料說明

    寫爬蟲有一個(gè)繞不過去的問題就是驗(yàn)證碼,現(xiàn)在驗(yàn)證碼分類大概有4種: 圖像類 滑動(dòng)類 點(diǎn)擊類 語音類
    的頭像 發(fā)表于 05-03 13:43 ?2255次閱讀

    驗(yàn)證碼層出不窮?試試這個(gè)自動(dòng)跳過驗(yàn)證碼的工具

    目前網(wǎng)絡(luò)上越來越多使用驗(yàn)證碼了,驗(yàn)證碼的本意是阻止機(jī)器刷流量擠占服務(wù)器資源,這本來無可厚非;但是驗(yàn)證碼已經(jīng)變得越來越過分,別說機(jī)器人了,連人也經(jīng)常沒法辨認(rèn)!這就相當(dāng)煩了,特別是被廣泛使用更多
    的頭像 發(fā)表于 11-15 10:42 ?5862次閱讀

    驗(yàn)證碼太麻煩,自動(dòng)跳過驗(yàn)證碼神器試一試

    目前網(wǎng)絡(luò)上越來越多使用驗(yàn)證碼了,驗(yàn)證碼的本意是阻止機(jī)器刷流量擠占服務(wù)器資源,這本來無可厚非;但是驗(yàn)證碼已經(jīng)變得越來越過分,別說機(jī)器人了,連人也經(jīng)常沒法辨認(rèn)! 這就相當(dāng)煩了,特別是被廣泛使用更多
    的頭像 發(fā)表于 11-15 11:15 ?1w次閱讀

    16位CRC驗(yàn)證碼生成VI工具下載

    16位CRC驗(yàn)證碼生成VI工具下載
    發(fā)表于 03-22 10:40 ?55次下載
    16位CRC<b class='flag-5'>驗(yàn)證碼</b>生成VI工具下載

    帶帶弟弟OCR通用驗(yàn)證碼識(shí)別SDK免費(fèi)開源版

    在使用爬蟲登錄網(wǎng)站的時(shí)候,經(jīng)常輸入用戶名和密碼后會(huì)遇到驗(yàn)證碼,簡單一點(diǎn)的有字母驗(yàn)證碼,復(fù)雜一點(diǎn)的有滑塊驗(yàn)證碼,點(diǎn)選文章和點(diǎn)選圖片驗(yàn)證碼。這些都是爬蟲中的老大難問題,今天介紹一款通用
    的頭像 發(fā)表于 03-30 17:26 ?4558次閱讀

    一個(gè)短信驗(yàn)證碼爆破重置

    以前倒是遇到過不少四位數(shù)驗(yàn)證碼爆破的,但是這種可以結(jié)合短信遍歷,一個(gè)短信驗(yàn)證碼只能驗(yàn)證三次的,最后能成功利用的還是第一次遇到,關(guān)鍵還是這里不存在圖片驗(yàn)證碼或者行為
    的頭像 發(fā)表于 09-07 09:14 ?4890次閱讀

    驗(yàn)證碼到底在驗(yàn)證啥?聊一聊驗(yàn)證碼是怎么為難我們?nèi)祟惖?/a>

    在文章開頭,老狐先給大家玩一個(gè)驗(yàn)證碼的游戲,猜出圖中驗(yàn)證碼字母。
    的頭像 發(fā)表于 08-12 10:25 ?1966次閱讀
    <b class='flag-5'>驗(yàn)證碼</b>到底在<b class='flag-5'>驗(yàn)證</b>啥?聊一聊<b class='flag-5'>驗(yàn)證碼</b>是怎么為難我們?nèi)祟惖? />    </a>
</div>                            <div   id=

    Java 中驗(yàn)證碼的使用

    今天我們講一下在 Java 中驗(yàn)證碼的使用。 驗(yàn)證碼生成 本效果是利用easy-captcha工具包實(shí)現(xiàn),首先需要添加相關(guān)依賴到pom.xml中,代碼如下: com .github.whvcse
    的頭像 發(fā)表于 09-25 11:11 ?895次閱讀
    Java 中<b class='flag-5'>驗(yàn)證碼</b>的使用

    SpringBoot分布式驗(yàn)證碼登錄方案

    傳統(tǒng)的項(xiàng)目大都是基于session交互的,前后端都在一個(gè)項(xiàng)目里面,比如傳統(tǒng)的SSH項(xiàng)目或者一些JSP系統(tǒng),當(dāng)前端頁面觸發(fā)到獲取驗(yàn)證碼請求,可以將驗(yàn)證碼里面的信息存在上下文中,所以登錄的時(shí)候只需要 用戶名、密碼、驗(yàn)證碼即可。
    的頭像 發(fā)表于 10-12 17:34 ?656次閱讀
    SpringBoot分布式<b class='flag-5'>驗(yàn)證碼</b>登錄方案