日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

 CDrLee 2019-01-24

今天就把我最近研究的心得體會(huì)給大家分享一下,讓大家了解一下微信刷票軟件的原理與實(shí)現(xiàn)!

一、 微信的刷票方式

微信刷票主要有兩種方式,軟件技術(shù)刷票和人工水軍刷票。

人工刷票:人工刷票,就是使用投票水軍來(lái)刷票。商家熱衷于搞微信投票活動(dòng),一些空閑時(shí)間多的人士發(fā)現(xiàn)了這其中的商家,以幫助參賽選手投票來(lái)獲得傭金。這些人多數(shù)是為兼職投票手投票員,外界一般稱我們?yōu)橥镀彼?。人工水軍刷票的原理就非常?jiǎn)單,就是組建一個(gè)微信投票任務(wù)群,把投票任務(wù)發(fā)到群里面就完成刷票了,就是這么簡(jiǎn)單。一個(gè)群不夠用,就多組建幾個(gè)群就可以了。

目前網(wǎng)上好多刷票團(tuán)隊(duì),自稱都是人工刷票,其實(shí)多數(shù)都是假的,為什么呢?因?yàn)槟憧此氖召M(fèi)標(biāo)準(zhǔn)就知道了投100票價(jià)格可能在10元左右,所以一票可能都不到一毛錢,這個(gè)還要給水軍們分所以利潤(rùn)并不高,除非業(yè)務(wù)量特別大。所以幾乎都是用刷票軟件刷票。

如果你想判斷你的是人工刷票,你可以讓他把投票的截圖都發(fā)給你,我想他是不會(huì)給你的,呵呵,如果真的給你,你的投票價(jià)格最少一票要3毛錢以上!

軟件技術(shù)刷票:刷票軟件原理多數(shù) 是通過(guò)抓包工具分析提交投票時(shí)所產(chǎn)的數(shù)據(jù),然后使用腳本程序批量提交數(shù)據(jù)就達(dá)到了刷票的目的。其中最大的難題就是如何突破限制,例如ip限制,驗(yàn)證碼限制,微信登陸授權(quán)限制等。這些刷票工具網(wǎng)上也有很多,但是絕大多數(shù)效果都不怎么好,會(huì)被平臺(tái)限制住。

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

二、 微信投票活動(dòng)的漏洞和刷票技術(shù)手段

常見(jiàn)漏洞如下:

1、在微信投票的活動(dòng)中,會(huì)有兩種發(fā)起投票的情況,一種是發(fā)起投票的服務(wù)器是獨(dú)立的,只是借用了微信的投票平臺(tái),在微信平臺(tái)進(jìn)行了投票之后,會(huì)有一個(gè)投票轉(zhuǎn)發(fā)的操作,將活動(dòng)中的投票情況轉(zhuǎn)發(fā)給發(fā)起投票的服務(wù)器。另一種是直接使用微信的服務(wù)器來(lái)發(fā)起投票的操作,這種情況則不需要進(jìn)行投票轉(zhuǎn)發(fā)的操作,投票情況直接在微信服務(wù)器上進(jìn)行控制。

2、在微信投票的活動(dòng)中需要的是微信賬號(hào)來(lái)進(jìn)行的投票,而在微信平臺(tái)中有一個(gè)關(guān)于微信賬號(hào)的規(guī)則,那就是每一個(gè)加密后的微信賬號(hào)都會(huì)形成一個(gè)OpenID,每個(gè)用戶的OpenID在微信平臺(tái)上來(lái)說(shuō)都是唯一的。那么當(dāng)用戶進(jìn)行投票后,如果是需要將投票轉(zhuǎn)發(fā)給獨(dú)立服務(wù)器的,微信平臺(tái)則會(huì)使用POST參數(shù)將包含投票用戶的OpenID的信息轉(zhuǎn)發(fā)給投票服務(wù)器,投票服務(wù)器在接收到微信平臺(tái)發(fā)送過(guò)來(lái)的投票POST請(qǐng)求之后,就會(huì)在自己的服務(wù)器通過(guò)對(duì)比OpenID來(lái)確認(rèn)同一微信賬號(hào)的投票次數(shù)。如果不需要轉(zhuǎn)發(fā)給投票服務(wù)器的,則直接在微信服務(wù)器上確認(rèn)OpenID的投票情況。

3、 如果是獨(dú)立的投票服務(wù)器在接收到POST請(qǐng)求時(shí),只能對(duì)這個(gè)發(fā)送過(guò)來(lái)的OpenID進(jìn)行投票次數(shù)的判斷,但是因?yàn)闊o(wú)法使用微信服務(wù)器的數(shù)據(jù),就無(wú)法對(duì)這個(gè)OpenID進(jìn)行真實(shí)性的驗(yàn)證,這是微信投票活動(dòng)的一個(gè)很大的漏洞。即便是直接使用微信服務(wù)票來(lái)進(jìn)行的投票活動(dòng),雖然可以直接驗(yàn)證OpenID的真實(shí)性,但是只需要用技術(shù)手段綁定一些OpenID正確的微信賬號(hào)來(lái)進(jìn)行投票操作便可以通過(guò)這項(xiàng)驗(yàn)證了。有了這個(gè)漏洞就非常便于來(lái)使用一些技術(shù)手段實(shí)現(xiàn)微信刷票的操作。

常見(jiàn)的刷票技術(shù)手段:

1、針對(duì)微信投票活動(dòng)無(wú)法校驗(yàn)OpenID真實(shí)性的漏洞,可以先使用一個(gè)微信賬號(hào)進(jìn)行一次投票操作,利用這次操作來(lái)獲取相關(guān)的網(wǎng)絡(luò)數(shù)據(jù)。這個(gè)數(shù)據(jù)中會(huì)包含POST請(qǐng)求的參數(shù)以及內(nèi)容。然后通過(guò)腳本,比如Fiddler或者Python都可以,來(lái)自己構(gòu)建一個(gè)POST的請(qǐng)求,該請(qǐng)求中參數(shù)和內(nèi)容保證與獲取到的真實(shí)數(shù)據(jù)一致,然后按照真實(shí)OpenID的格式隨機(jī)生成OpenID,需要刷多少票數(shù)就進(jìn)行多少次POST請(qǐng)求,便可以實(shí)現(xiàn)簡(jiǎn)單的刷票操作了。

2、對(duì)于有IP限制的微信投票活動(dòng),可以使用CURL來(lái)偽造IP地址,這樣就可以制造多個(gè)IP來(lái)刷票了。

二、 常見(jiàn)的防止刷票方法

1、 只有關(guān)注了公眾號(hào)才能投票

在服務(wù)調(diào)用獲取用戶基礎(chǔ)信息

API接口會(huì)返回以下數(shù)據(jù):

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

當(dāng)用戶投票且未關(guān)注時(shí),我們可根據(jù)subscribe是0還是1判斷有沒(méi)有關(guān)注,若沒(méi)有關(guān)注則轉(zhuǎn)至公眾號(hào)的二維碼頁(yè)面并提示用戶先長(zhǎng)按二維碼關(guān)注公眾號(hào)。此方法的漏洞就是每次投票都要與微信服務(wù)器進(jìn)行交互。

2、 判斷refer和User-Agent

以下為一個(gè)request header的部分參數(shù)示例:

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

Referer為上一個(gè)訪問(wèn)的頁(yè)面,所以refer必須要為投票的頁(yè)面地址。User-Agent里面必須有關(guān)鍵詞MicroMessenger

3、限制客戶端投票次數(shù)

用ip當(dāng)成同一個(gè)ip投票次數(shù)受限制,由于很多時(shí)候使用nginx或apache之類的代理服務(wù)器,因此直接使用HttpServletRequest的getRemoteAddr()很多時(shí)候取得的是代理服務(wù)器的ip,而我們要取得的是真實(shí)的ip址。下面是一個(gè)獲取真實(shí)ip的示例代碼

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

4、當(dāng)投票量大于閱讀量時(shí)就是刷票行為

存儲(chǔ)頁(yè)面閱讀量,投票完成后,計(jì)算票數(shù)若投票量大于閱讀量時(shí)就是刷票行為。

5、在提交表單數(shù)據(jù)的地方使用校驗(yàn)碼

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

服務(wù)端返回一個(gè)校驗(yàn)碼,在dom初始化的時(shí)候頁(yè)面使用js加密這個(gè)校驗(yàn)碼,commit的時(shí)候提交這個(gè)加密的校驗(yàn)碼,服務(wù)端再判斷這個(gè)加密碼的校驗(yàn)碼是否正確。校驗(yàn)碼設(shè)置使用N次后就作廢。

以下為偽代碼

服務(wù)端處理:

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

四、 微信刷票軟件常見(jiàn)的實(shí)現(xiàn)方法

1、利用fiddler抓包 實(shí)現(xiàn)微信投票(原理是利用OpenID真實(shí)性的漏洞

第一步:首先在電腦上下載微信軟件

一般微信投票都需要關(guān)注公眾號(hào)才能投票,所以必須用電腦微信打開(kāi)鏈接進(jìn)入投票界面 下載好之后,打開(kāi)微信登錄微信賬號(hào)。然后把投票網(wǎng)址復(fù)制粘貼發(fā)送到文件傳輸助手,這時(shí)先不要打開(kāi)。

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

第二步:下載并安裝且打開(kāi)抓包軟件fiddler

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

第三步:現(xiàn)在回到微信打開(kāi)剛才要投票的網(wǎng)址,這時(shí)開(kāi)啟抓包

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

第四步:通過(guò)我們剛才在微信里投票的過(guò)程,下邊我們來(lái)看下fiddler里的情況

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

出現(xiàn)了這些數(shù)據(jù),需要對(duì)這些數(shù)據(jù)進(jìn)行分析。找到哪個(gè)才是我們投票的數(shù)據(jù)

最后經(jīng)過(guò)分析,找到了這些數(shù)據(jù)

Host: t: ssl.hi.163.com

Co

Content-Type: application/x-www-form-urlencoded

Origin: n: https://qnm.

Ac

Accept-Encoding: gzip, deflate

Connection: keep-alive

Accept: application/json

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Mobile/14D27 MicroMessenger/6.7.1 NetType/WIFI Language/zh_CN

Referer: r: https://qnm./m/2018/hahaha/MjU5NzAyMDQ1QXlQN0J6UFVYMXNBQUFBQQ==/?nie=0.674688067616421&eggid=MjU5NzAyMDQ1QXlQN0J6UFVYMXNBQUFBQQ==&uinfo=0&code=023Eqy001YcsR02oSGYZ0lRK001Eqy0Y

Co

Content-Length: 90

Accept-Language: zh-cn

https://ssl.hi.163.com/file_mg/public/qnm/zbs2018/incubation/changeEggProcess

wxid=ox1Mat8wMEsQ9dIoILUpNiESReNo&eggid=MjU5NzAyMDQ1QXlQN0J6UFVYMXNBQUFBQQ%3D%3D&is_pass=1

第五步:現(xiàn)在我們需要對(duì)這些數(shù)據(jù)重組,進(jìn)行一次發(fā)包操作。重新再刷一次票。

我們還是回到fiddler 這次我們需要打開(kāi)這個(gè)

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

第六步:把我們剛才分析到的數(shù)據(jù)分組填入,填完之后是這樣的。然后我們點(diǎn)擊Execute按鈕。

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

第七步:我們點(diǎn)擊提交以后,看下軟件返回什么數(shù)據(jù)

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

第八步:這個(gè)使我們所需要的具體信息。但是是亂碼,要怎么應(yīng)對(duì)呢,其實(shí)只要看 code:-5就可以了。這樣表示您已經(jīng)孵化過(guò)或者投過(guò)票了?,F(xiàn)在就是我們所需要操作的關(guān)鍵點(diǎn)。

第九步:回到我們剛才我們點(diǎn)擊提交的地方。把下列數(shù)據(jù)隨便改一下。但是位數(shù)不要減少也不要增加,再次提交 。

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

第十步:最后我們看下返回信息

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

哈哈,刷票成功了!?。?/strong>

2、利用Python語(yǔ)言編寫腳本實(shí)現(xiàn)微信刷票(突破ip限制的投票方法)

針對(duì)那些微信投票只限制ip 來(lái)源的方式,我們可以用如下方式進(jìn)行刷票:

第一步:在網(wǎng)上搜索大量的代理ip ,建立一個(gè)代理ip地址表

“黑灰產(chǎn)工具”之“微信投票軟件的原理與實(shí)現(xiàn)”

第二步:用Python編寫一個(gè)自動(dòng)執(zhí)行腳本

代碼如下:

1. #coding=utf-8 2. import urllib2 3. import urllib 4. import re 5. import threading 6. import sys 7. from time import ctime 8. import time 9. rlock = threading.RLock() 10. def vote(proxyIP,i,urls): 11. try: 12. #print 'voting...%d...' % i 13. #使用代理IP 14. proxy_support = urllib2.ProxyHandler(proxyIP) 15. opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler) 16. #定義Opener 17. 18. urllib2.install_opener(opener) 19. #把opener綁定到全局 20. 21. sendt = '投票'.decode('utf-8').encode('gb2312') 22. 23. #設(shè)置刷票地址 24. #post數(shù)據(jù)bn 25. values = {} 26. req = urllib2.urlopen(urls) 27. #直接打開(kāi)這個(gè)URL 28. html = req.read() 29. #讀取返回?cái)?shù)據(jù) 30. if html.find('true'.decode('utf-8').encode('gb2312')): 31. print '投票 [%d] 成功' % i 32. return 1 33. else: 34. print '投票 [%d] 失敗' % i 35. return 0; 36. except Exception: 37. return False 38. 39. if __name__ == '__main__': 40. args = sys.argv 41. if(len(args) == 3): 42. ipFile = open(args[1]); 43. ipList = ipFile.readlines() 44. ipFile.close() 45. length = range(len(ipList)) 46. threads = [] 47. for i in length: 48. ipLine = ipList[i] 49. 50. ip=ipLine.strip() 51. proxy_ip = {'http': ip} 52. t = threading.Thread(target=vote,args=(proxy_ip,i,args[2])) 53. print 'get ',args[2],ip 54. threads.append(t) 55. for i in length: 56. threads[i].start(); 57. if i%100: 58. time.sleep(5) 59. #每100個(gè)線程等待 5秒 60. for i in length: 61. threads[i].join() 62. 63. else: 64. print '''刷票工具 65. python brush.py IP文件 Get地址: 66. 67. '''

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多