<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      微信朋友圈投票活動的刷票案例分析

      現(xiàn)階段,在微信朋友圈舉辦的投票活動層出不窮,相信已經(jīng)有不少同學對此不勝其煩,因為總會時不時地冒出個人(親戚、朋友、or whatever)來請你幫TA投票。

      本文倒沒有打算從道德或者情感層面來探討這個問題,我所感興趣的是,當前大多數(shù)投票活動其實都是存在明顯漏洞的,通過簡單的技術手段就可以實現(xiàn)“刷票”。

      案例描述

      這里就有一個案例。

      某美發(fā)網(wǎng)上商城(以下簡稱S商城)在微信平臺上舉辦了一場在線投票活動,微信用戶可通過活動鏈接訪問到投票頁面,對喜歡的發(fā)型師作品進行投票;每個微信帳號每天只能給單個作品投1張選票。

      投票活動頁面如下圖所示:

      漏洞分析

      表面上看,S商城已經(jīng)對投票活動進行了反作弊處理,因為限制了每個微信用戶每天只能投一張票。如果用戶都是正常地通過微信訪問這個投票服務進行投票的話,的確是能起到預期效果的。

      然而,如果查看投票頁面的原始地址,即按住頁面向下拖動,會發(fā)現(xiàn)屏幕頂端顯示為”本網(wǎng)頁由XXX提供”,需要注意的是,這里的”XXX”并不是”mp.weixin.qq.com”,而是S商城的域名。也就是說,這個投票活動的程序是運行在S商城的服務器上面的。

      基于以上分析,可以推斷出用戶投票操作的網(wǎng)絡拓撲結構示意圖應該是這樣的:

      微信用戶訪問投票頁面時,微信服務器只是進行了請求轉發(fā),具體的投票計數(shù)與校驗都是在S商城的服務器上的。

      那么,S商城是怎么來區(qū)分投票用戶的呢?

      這里就涉及到微信公眾平臺OpenID的概念了。官方對OpenID的解釋是:加密后的微信號,每個用戶對每個公眾號的OpenID是唯一的。

      要驗證這一點也很容易,只需要通過采用多個微信賬號進行投票,并對投票過程進行網(wǎng)絡抓包,查看POST中的參數(shù)就可以證實。

      基于這一點,微信公眾平臺在轉發(fā)投票請求時,會在POST參數(shù)中包含用戶的OpenID;S商城在接收到投票的POST請求后,通過查詢當前OpenID是否在當天已經(jīng)投過票,就可以阻止單一用戶重復投票的行為了。

      然而,這里面卻存在一個很大的漏洞!

      S商城只能判斷OpenID是否出現(xiàn)了重復,但是卻無法校驗OpenID的有效性,因為它是無法調用微信服務器來對這個OpenID進行校驗的。

      VoteRobot實現(xiàn)

      明確了這個漏洞后,要實現(xiàn)刷票就很簡單了。

      • 采用微信用戶正常地進行一次投票操作,對設備進行網(wǎng)絡抓包,獲取到投票過程中HTTP層面的請求參數(shù)和響應內容;
      • 使用Fiddler(或Python腳本)構造投票的HTTP POST請求,保持各參數(shù)與真實投票時抓取到的參數(shù)內容一致;
      • 隨機生成不同的OpenID參數(shù),重復進行POST請求。

      如果要實現(xiàn)批量刷票,或者刷票自動化操作,那么就可以將刷票請求通過Python腳本來實現(xiàn);甚至,采用LoadRunner也是可以的。

      運行VoteRobot.py,輸出日志如下:

      ======== Start to vote zpid(38), Total votes: 3
      1 tickets has been voted, the next ticket will be voted after 35 seconds.
      2 tickets has been voted, the next ticket will be voted after 31 seconds.
      3 tickets has been voted, the next ticket will be voted after 10 seconds.
      ======== Voting Ended!
      

      需要注意的是,通常自動化刷票時最好有個隨機的時間間隔,并且,最好能動態(tài)模擬不同的設備,即修改User-Agent,否則,服務端可以較為容易地識別作弊行為。

      作弊與反作弊?

      看到這里,也許有的同學心中竊喜,以后投票都可以采用這種方式“刷票”了么?

      很遺憾,當然不是。

      其實本文中案例的漏洞是很低級的,只是,當前的確還存在不少比例的投票活動是采用這種模式。

      要判斷一個投票活動是否可以采用這種方式來作弊也很簡單。采用本文中的方法,若查看到活動的網(wǎng)址是非微信官方的,而且整個投票過程也沒有額外的校驗,那么實現(xiàn)作弊的可能性就很大了;再通過抓包看下通訊交互過程,并用網(wǎng)絡請求工具修改參數(shù)后重新請求下,即可驗證是否真的可以作弊了。

      另外,也許有人想問了,網(wǎng)絡中的投票活動就沒法杜絕“刷票”行為了么?

      答案是,完全杜絕的確很難。聽說過12306的黃牛黨沒?聽說過Apple Store專業(yè)給應用刷榜單的沒?聽說過“網(wǎng)絡水軍”、“五毛黨”沒?

      不過,活動舉辦方可以通過一些手段,大大提高作弊的門檻。例如,當前有不少活動就采用了如下方式:

      • 要求投票用戶先關注活動舉辦方的公眾號,然后調用微信官方的投票功能;
      • 要求投票用戶在投票活動舉辦方的網(wǎng)站上進行注冊(手機號驗證、實名驗證)

      不管采用這兩種方式中的哪一種,本文中的“刷票”方法就完全失效了。

      posted @ 2016-07-03 19:54  狂師  閱讀(18270)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 国产又黄又硬又粗| 亚洲乱亚洲乱妇50p| 国产精品va在线观看h| 免费拍拍拍网站| 久久99国产一区二区三区| 亚洲V天堂V手机在线| 天堂中文8资源在线8| 熟女一区| 精品无码久久久久国产| 无码人妻出轨黑人中文字幕| 麻豆a级片| 日韩AV高清在线看片| 曰韩无码av一区二区免费 | 色爱综合激情五月激情| 日日摸夜夜添夜夜添国产三级| 日韩高清视频 一区二区| 麻豆成人精品国产免费| 国产午精品午夜福利757视频播放 国产午夜亚洲精品国产成人 | 国产免费无遮挡吃奶视频| 超碰人人超碰人人| 四虎成人精品无码| 亚洲热视频这里只有精品| 女人被狂躁c到高潮| 亚洲精品综合一区二区三区| 国产成人综合色就色综合| 国产日韩久久免费影院| 国产av一区二区久久蜜臀| 又大又紧又粉嫩18p少妇| 亚洲国产无套无码av电影| 久久久久免费看成人影片| 国产又色又爽又黄的在线观看 | 亚洲熟妇自偷自拍另亚洲| 人妻有码av中文字幕久久琪| 日韩中文字幕亚洲精品一| 中文文字幕文字幕亚洲色| 午夜射精日本三级| 免费观看的av在线播放| 一面膜上边一面膜下边视频| 久久大香萑太香蕉av黄软件| 鲁一鲁一鲁一鲁一澡| 四虎永久免费高清视频|