builderscon tokyo 2018 聴講メモ #7「Using Chrome Developer Tools to hack your way into concerts」by amyngynさん
※ 以下は私個人の解釈を多大に含んだメモ書きです。正確な講演内容はスライドか、もしくはYouTubeで公開される(?)公式動画をご覧ください。
Using Chrome Developer Tools to hack your way into concerts
@amyngyn
テーマ
テイラー・スウィフトのPVを何度も再生することで、チケットの当選確率を上げる
テイクホームメッセージ
- Tools
- コンソール上でコード実行
- Network
- XHRを再現してみる
- curl
- メンタル
- 忍耐力
- 好奇心
内容めも
再生数の偽装には成功したものの、結局チケットは買わなかった
(炎上しそうなので最初に書いとく↑↑)
- 再生速度を上げて何度も再生する
ブラウザからサーバーへ「動画を見た」と伝えているはず
- 左上の窓からドメインをしぼって、Networkタブで通信内容を見る。
Youtubeからstart, countが送られる。countのレスポンス内容にsuccess:true
がある - 右クリックからXHRリクエストを再度送ると、レスポンスが
success:false
になった(駄目らしい) - Initiateタブからスタックトレース、リクエストを送るときの処理を確認する
id という変数に何か文字列が入っている、値は毎回変わる。ここが大事? - curlで同じcountリクエストを投げてみる → 失敗
- start → count の流れが必要?
- start 投げてIDを獲得してからcount投げるといけるらしい、自動化できた
→ テイラー・スウィフトのファンとしてNo.1の立場を確立した!!w
- 左上の窓からドメインをしぼって、Networkタブで通信内容を見る。
防ぐ
- CAPTCHA
テイラー・スウィフトの場合、視聴の度にボタン押させるのは現実的でなかった - DOMをランダム化する
- 変数名を変える
- リクエストのvalidation
1分の動画について1分間に1回より多く視聴されることはありえない - shadow banning:リクエストの成否をあえて返さない(常に
success:true
)
- CAPTCHA
質疑
- 余罪は 基本はちゃんとやってますw でも楽しいし、色んなツールをさわってみるのは良いこと
テイラー・スウィフト側から熱烈なファン認定されて、エンジニアとしてインターンのオファー来た(けど仕事あったから断った)。
うまくいったときは「計 画 通 り」(あの顔 アニメver.)← DEATH NOTE好き
感想
ローカルに立てた疑似動画再生サイトで実演しながらの講演、再生数カウントが増えたときにはみんなで「おおー」w
誰もが一度は持ったことのある(と私は思う)ちょっと悪いことをこっそりやってきゃっきゃするあの感じ、すごくチャーミングで楽しかった!w
エンジニアリングが仕事になって義務になって、忘れてた最初のどきどきを思い出させてくれる良いトークだった……!