自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Cookie欺騙 騰訊拍拍秒殺活動(dòng)的驗(yàn)證碼漏洞

安全
有誰還記得大概幾年前突然出現(xiàn)了驗(yàn)證碼這東西,許多網(wǎng)站甚至桌面應(yīng)用程序都陸續(xù)實(shí)現(xiàn)了驗(yàn)證碼技術(shù),主要作用無非就是防止用戶利用程序進(jìn)行自動(dòng)提交,避免暴力破解,避免服務(wù)器遭受惡意攻擊。

首先我想討論一下驗(yàn)證碼這玩意兒。

有誰還記得大概幾年前突然出現(xiàn)了驗(yàn)證碼這東西,許多網(wǎng)站甚至桌面應(yīng)用程序都陸續(xù)實(shí)現(xiàn)了驗(yàn)證碼技術(shù),主要作用無非就是防止用戶利用程序進(jìn)行自動(dòng)提交,避免暴力破解,避免服務(wù)器遭受惡意攻擊。

那么,驗(yàn)證碼機(jī)制又該如何實(shí)現(xiàn)。

目前主流的實(shí)現(xiàn)技術(shù)主要有session和cookie兩種方式,而這兩種方式可以說技術(shù)是一樣的,區(qū)別在于將驗(yàn)證碼字符串存儲(chǔ)在服務(wù)器還是客戶端。

前者工作流程:服務(wù)器發(fā)送驗(yàn)證碼圖片到客戶端并在服務(wù)器保存驗(yàn)證碼字符串到session,用戶辨認(rèn)圖片并提交驗(yàn)證碼字符串到服務(wù)器,服務(wù)器將用戶提交的驗(yàn)證碼字符串與session中保存的字符串進(jìn)行比較。

后者工作流程:服務(wù)器發(fā)送驗(yàn)證碼圖片以及驗(yàn)證碼字符串(可能會(huì)進(jìn)行加密)到客戶端,客戶端將驗(yàn)證碼字符串存儲(chǔ)到本地cookie,用戶辨認(rèn)圖片并提交驗(yàn)證碼字符串以及cookie中所存儲(chǔ)的字符串到服務(wù)器,服務(wù)器將用戶提交的兩個(gè)字符串(進(jìn)行解密后)進(jìn)行比較。

相對(duì)而言,存放在服務(wù)器的session更為安全,只不過消耗服務(wù)器內(nèi)存,程序員除了使用模式識(shí)別辨認(rèn)出驗(yàn)證碼,沒有其他辦法。而對(duì)于使用cookie方式的驗(yàn)證碼,不增加服務(wù)器內(nèi)存消耗,但我們可以通過對(duì)傳輸數(shù)據(jù)進(jìn)行分析輕易破解驗(yàn)證碼。

這種傳統(tǒng)的驗(yàn)證碼方式,其框架非常簡(jiǎn)單。

  

看上圖,我們從大的框架分析問題,這里面說的“提供驗(yàn)證碼服務(wù)”已經(jīng)不區(qū)分session還是cookie了。

接下來從圖中我們可以看出什么了呢,對(duì)于有多臺(tái)服務(wù)器的大企業(yè)是十分平常的,那么,假如每一個(gè)服務(wù)程序都使用驗(yàn)證碼技術(shù),那么每一個(gè)服務(wù)程序就需要獨(dú)自實(shí)現(xiàn)驗(yàn)證碼服務(wù),這樣做不是不可以,只是增加了程序員的負(fù)擔(dān)而已。

好吧,現(xiàn)在我們正式進(jìn)入今天的主題,也是接著上面的話題,騰訊的驗(yàn)證碼框架有何不同。

我們隨便進(jìn)入一個(gè)需要驗(yàn)證碼的騰訊頁面:

http://web2.qq.com

登錄webQQ的時(shí)候需要輸入驗(yàn)證碼,我們通過抓包或者看源代碼,可以知道點(diǎn)擊“換一張”時(shí)其實(shí)是訪問了這個(gè)URL:http://captcha.qq.com/getimage,來自tencent http server。多嘗試幾個(gè)需要驗(yàn)證碼的頁面,發(fā)現(xiàn)其驗(yàn)證碼依然是是通過訪問http://captcha.qq.com/getimage獲得。當(dāng)然也有例外的情況,不過總體看來騰訊的驗(yàn)證碼機(jī)制的框架與上面討論的又有些不一樣。

看到了嗎,在這種框架體系下,驗(yàn)證碼成了一個(gè)單獨(dú)的組件,不同服務(wù)器不同應(yīng)用程序都可使用它提供的驗(yàn)證碼服務(wù)接口。

具體流程

好吧,我們繼續(xù)進(jìn)一步研究騰訊驗(yàn)證碼的具體流程。

訪問http://captcha.qq.com/getimage,看到“zqcu”驗(yàn)證碼圖片,抓包,查看響應(yīng)標(biāo)頭:

鍵 值

響應(yīng) HTTP/1.1 200 OK

Server tencent http server

Accept-Ranges bytes

Pragma No-cache

Content-Length 2559

Set-Cookie verifysession=h0052f5e46e7ca7d3f1bbb1cfa3bbb2a9ea86bded65adbf78e575c50e0d361145fcd232015653790eb

4;PATH=/; DOMAIN=qq.com;

Connection close

Content-Type image/jpeg

以上就是HTTP協(xié)議中的header內(nèi)容,請(qǐng)注意其中Set-Cookie的部分,其實(shí)這就是驗(yàn)證碼“zqcu”字符串經(jīng)過加密后的密文。當(dāng)我們提交驗(yàn)證碼時(shí),正是將我們輸入的“zqcu”和密文同時(shí)提交,然后服務(wù)器A/B再通過服務(wù)器C的驗(yàn)證接口判斷是否正確。這時(shí)候,一切浮云都是神馬了,原來騰訊驗(yàn)證碼居然采用cookie方式。

那么,接下來高手通常會(huì)有兩種做法:

第一,通過模式識(shí)別辨認(rèn)出圖片所承載的驗(yàn)證碼字符串,然后提交的時(shí)候直接發(fā)送識(shí)別的字符串。

第二,通過解密破譯出verifysession的明文。

很抱歉,我不是高手,以上兩種方法我都無能為力。所以,以下的內(nèi)容高手可繞過,到此結(jié)束了。

利用cookie欺騙繞過驗(yàn)證碼

到這里,有人可能會(huì)罵,你這不是標(biāo)題黨么,什么cookie欺騙,什么漏洞,啥都沒。

好吧,接下來講講我的方法,就是利用cookie欺騙繞過驗(yàn)證碼。

剛才我們?cè)L問http://captcha.qq.com/getimage的時(shí)候已經(jīng)獲得一個(gè)驗(yàn)證碼圖片,利用人眼識(shí)別技術(shù),知道它的驗(yàn)證碼字符串為“zqcu”,并且截獲了其密文verifysession。

于是,我便開始嘗試每次提交都提交“zqcu”并且將cookie設(shè)為已知的verifysession。嘿嘿,我可以把入哥的介紹信多復(fù)印好幾份嘛。

如果真的那么簡(jiǎn)單的話,騰訊也太二了。

第一次提交的時(shí)候,我十分驚喜,居然成功欺騙了服務(wù)器。

可是當(dāng)我再次使用這一組驗(yàn)證碼及其密文,卻返回驗(yàn)證碼錯(cuò)誤的提示。我的猜想是,某個(gè)驗(yàn)證碼用過之后,不能馬上再次使用,也許要過1分鐘或者1個(gè)小時(shí)之后才能使用,這是一個(gè)我稱之為過期機(jī)制的坎。也就是說,當(dāng)洪哥問入哥,這是你寫的介紹信么,入哥看了看,說是,然后給這封信添了一個(gè)標(biāo)志。

發(fā)現(xiàn)了這個(gè)坎,那么悲劇了。

現(xiàn)在我能做的事只有:提前獲得幾組甚至幾百幾千組驗(yàn)證碼(需要人眼識(shí)別,人手輸入)及其密文。而且所獲得的驗(yàn)證碼還不能閑置太長(zhǎng)時(shí)間,入哥可能將同一份介紹信發(fā)給兩個(gè)人,當(dāng)別人先用了它,那么我要過一段時(shí)間才能再用。

注意上面提到了提前兩字,但是同樣需要人工識(shí)別并輸入,這到底有什么用呢。

在做什么事情的時(shí)候我們是帶著這樣一個(gè)目的的:提前輸入好幾組驗(yàn)證碼,在特定時(shí)間連續(xù)并快速的提交。

好吧,我不多說了,看看標(biāo)題,我們開始暴力秒殺吧。

拍拍秒殺流程如下:商品有一個(gè)秒殺時(shí)間,當(dāng)?shù)搅诉@個(gè)時(shí)間,成千上萬的玩家開始填寫驗(yàn)證碼并點(diǎn)擊提交,先到先得。

于是,有了cookie欺騙,我可以提前輸入驗(yàn)證碼,當(dāng)時(shí)間一到,只要提交即可。

今天就講到這里吧,大家可以暢所欲言,提出疑問或者指出錯(cuò)誤的地方。最后附上我做的拍拍秒殺助手,為了圖個(gè)方便用的c#編程,所以需要.net farmework環(huán)境,有興趣的同學(xué)可以將其改寫成c++。

PS:修改本地cookie非常簡(jiǎn)單,但是,騰訊這里的Set-Cookie并不是保存到本地的cookie,它是一個(gè)標(biāo)志為httponly的cookie,只存儲(chǔ)在標(biāo)頭。

我提供一個(gè)函數(shù):InternetSetCookieEx(),其msdn如下:

http://msdn.microsoft.com/zh-cn/library/aa385108.aspx

附下載鏈接:http://d.namipan.com/d/efb4375ee41afae5932279334313c00442c995d2ee600800

 

【編輯推薦】

  1. 實(shí)例解析Cookies欺騙原理
  2. 如何禁用Cookie功能
  3. 清理cookies也不能保證隱私安全
  4. 看看黑客如何破解驗(yàn)證碼機(jī)制
責(zé)任編輯:佚名 來源: newbyter.com
相關(guān)推薦

2019-06-18 07:12:25

驗(yàn)證碼漏洞加密

2013-06-19 10:19:59

2021-01-19 10:29:34

短信驗(yàn)證碼密碼

2022-02-11 07:10:15

驗(yàn)證碼

2020-11-16 07:28:53

驗(yàn)證碼

2011-11-02 12:43:33

2011-11-02 16:46:41

2009-08-11 14:05:28

JSP驗(yàn)證碼

2009-02-09 14:17:36

2017-12-21 07:38:19

2015-03-23 17:58:04

驗(yàn)證碼倒計(jì)時(shí)并行

2015-09-21 15:31:05

php實(shí)現(xiàn)驗(yàn)證碼

2016-11-03 13:33:31

2016-11-08 19:19:06

2022-01-20 10:54:23

移動(dòng)手機(jī)短信驗(yàn)證碼隱患

2009-11-26 10:48:59

PHP驗(yàn)證碼

2015-03-17 09:28:04

2015-03-23 18:03:36

短信驗(yàn)證碼正則自動(dòng)填寫

2012-07-25 10:16:59

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)