常見的刷票技術(shù)手段:
1、針對微信投票活動無法校驗OpenID真實性的漏洞,可以先使用一個微信賬號進(jìn)行一次投票操作,利用這次操作來獲取相關(guān)的網(wǎng)絡(luò)數(shù)據(jù) 。這個數(shù)據(jù)中會包含POST請求的參數(shù)以及內(nèi)容 。然后通過腳本,比如Fiddler或者Python都可以,來自己構(gòu)建一個POST的請求,該請求中參數(shù)和內(nèi)容保證與獲取到的真實數(shù)據(jù)一致,然后按照真實OpenID的格式隨機(jī)生成OpenID,需要刷多少票數(shù)就進(jìn)行多少次POST請求,便可以實現(xiàn)簡單的刷票操作了 。
2、對于有IP限制的微信投票活動,可以使用CURL來偽造IP地址,這樣就可以制造多個IP來刷票了 。
二、 常見的防止刷票方法1、 只有關(guān)注了公眾號才能投票
在服務(wù)調(diào)用獲取用戶基礎(chǔ)信息
API接口會返回以下數(shù)據(jù):

當(dāng)用戶投票且未關(guān)注時,我們可根據(jù)subscribe是0還是1判斷有沒有關(guān)注,若沒有關(guān)注則轉(zhuǎn)至公眾號的二維碼頁面并提示用戶先長按二維碼關(guān)注公眾號 。此方法的漏洞就是每次投票都要與微信服務(wù)器進(jìn)行交互 。
2、 判斷refer和User-Agent
以下為一個request header的部分參數(shù)示例:

Referer為上一個訪問的頁面,所以refer必須要為投票的頁面地址 。User-Agent里面必須有關(guān)鍵詞MicroMessenger
3、限制客戶端投票次數(shù)
用ip當(dāng)成同一個ip投票次數(shù)受限制,由于很多時候使用nginx或apache之類的代理服務(wù)器,因此直接使用HttpServletRequest的getRemoteAddr()很多時候取得的是代理服務(wù)器的ip,而我們要取得的是真實的ip址 。下面是一個獲取真實ip的示例代碼

4、當(dāng)投票量大于閱讀量時就是刷票行為
存儲頁面閱讀量,投票完成后,計算票數(shù)若投票量大于閱讀量時就是刷票行為 。
5、在提交表單數(shù)據(jù)的地方使用校驗碼

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

四、 微信刷票軟件常見的實現(xiàn)方法
1、利用fiddler抓包 實現(xiàn)微信投票(原理是利用OpenID真實性的漏洞)
第一步:首先在電腦上下載微信軟件
一般微信投票都需要關(guān)注公眾號才能投票,所以必須用電腦微信打開鏈接進(jìn)入投票界面 下載好之后,打開微信登錄微信帳號 。然后把投票網(wǎng)址復(fù)制粘貼發(fā)送到文件傳輸助手,這時先不要打開 。

第二步:下載并安裝且打開抓包軟件fiddler

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

第四步:通過我們剛才在微信里投票的過程,下邊我們來看下fiddler里的情況

出現(xiàn)了這些數(shù)據(jù),需要對這些數(shù)據(jù)進(jìn)行分析 。找到哪個才是我們投票的數(shù)據(jù)
最后經(jīng)過分析,找到了這些數(shù)據(jù)
推薦閱讀
- word文檔軟件 免費好用的word軟件
- caj文件用什么軟件打開 手機(jī)端caj閱讀器
- 線切割軟件好用嗎 線切割編程教學(xué)
- 廣告攔截軟件 手機(jī)上的廣告攔截神器
- 電池修復(fù)軟件推薦 一鍵修復(fù)電池APP
- 模擬鋼琴軟件有哪些 手機(jī)彈鋼琴的軟件
- pdf編輯器哪個是免費的 免費可編輯的pdf軟件
- ico圖標(biāo)文件怎么制作 ico圖標(biāo)在線轉(zhuǎn)換
- 合并視頻的軟件 視頻合成神器
- 錄歌用什么軟件好 一鍵修音的唱歌軟件
