プロモーションはゲームの形で行われました。その本質は、Google StreetView画像を使用して地図上のポイントを推測し、そのポイントをすべて取得することでした。そのポイントの数は、回答の精度に比例します。 すべてについて、すべてが6分与えられます。 ラウンドの間に、贈り物をキャッチ / 離れて 、余分なポイントのために飛行機で飛ぶ ことも提案されています。 クイズの質問に正しく答えることで、6分を10分に増やすことができます。 良い結果を得るには、かなりのマイルを与えます。
ディレクトリをスキャンして(私の心を落ち着かせるため)、面白いものは何も見つかりませんでした(phpmyadminがインターネットに突き出ていることを除く)後、ゲーム自体の分析に進みました。
1)最初に見つけたのは、リプレイ攻撃です。 ラウンドはプレイ済みとしてマークされておらず、同じリクエストを無限に送信でき、利益を得ることができます。
for i in {0..50}; do torify curl 'http://mission2017.aeroflot.ru/ajax/round' --data 'val1=49&val2=9&game=563058&round=4974078&atype=map' & done;
ただし、この脆弱性はすぐに解決されました。
2)ミニゲームはすべてのロジックを実装しました。 そして、結果のみがサーバーに送信されました。 したがって、これらのリクエストは変更され、飛行機で何十万キロも飛行する可能性があります。
3)プロモーションの最後までのクイズは、リプレイ攻撃に対して脆弱でした。 そのため、ゲームの時間をごまかすことができます。 この方法の短所は、作成者のロジックによると、10分以上ダイヤルできないため、10分の偶数のリストから結果がノックアウトされることです。
4)しかし、上記のすべては、追跡して罰することができるハッキングです。 それで、ボットを書く時が来ました! ゲームスクリプトは、関数と変数の名前がかなり明確な、難読化されていない優れたコードです。 リクエストへの応答で、正しい座標が/ ajax / roundになったことは注目に値します。 この状況により、パノラマの各URLを座標にマッピングできました。
map = {"https://www.google.com/maps/embed/v1/streetview?pano=_EjgB69lOpQheNB4ldZWsA&key=AIzaSyAdpt2jitUXkLd8NtkNQ_Ee6THUA_DZ-K0" : {lat: 40.62, lon: 22.94}, "https://www.google.com/maps/embed/v1/streetview?pano=oIMBbAJeLJfwiwNtgiVl-g&key=AIzaSyAdpt2jitUXkLd8NtkNQ_Ee6THUA_DZ-K0" : {lat: 22.27, lon: 114.16}, ... }
さらにすべては技術の問題にとどまります。開発者のコンソールを介して新しい機能を定義します。これにより、すべての質問にエラーと遅延が自動的に正しく答えられ、ミニゲームの結果に基づいて良い結果がスキップまたは送信され、手動モードでクイズに答えることができます 原則として、クイズは自動化されていますが、実装するには遅すぎます。
それは開発者(そしておそらく司会者)に与えられるべきであり、彼らは良い詐欺行為を持ち、すべての疑わしい参加者は禁止されました。 不正に対して分析を実行するためのすべてのパラメーターを見つけることはできませんでしたが、答えの速度と正確さの2つを知っています。
確かに、これらのメカニズムはボットを適切に遮断するには不十分です。 私の意見では、これはプロモーションの最終評価を表示します。
最初の3つの脆弱性は純粋に論理的なものであり、十分なチェックとテストがありません。 しかし、植物学の問題が残っており、対処する必要があります。 以下は、ほとんどのボットを遮断し、世界をよりきれいにするための最小限の対策( ブログのほとんどのトレーシングペーパー)です。
1)STO-あいまいさによるセキュリティは、怠け者や学童を遮断します。 難読化と暗号化がすべてです!
2)参加者に正しい点の座標を純粋な形で返すことは悪い考えです。 問題はさまざまな方法で解決できます。結果を画像またはその上のマスクの形式で返し、精度を下げて別の座標系に変換します。
3)キーストローク、カーソルの移動、クリックなど、クライアントとサーバーの対話を追加します。 この方法は、ミニゲーム用のボットの作成を複雑にし、逆チューリングテスト用のデータを追加します。
ポイント3は確かに高価で複雑であり、プロモーションの世界では彼のための場所はほとんどありませんが、これらの目的のために作成された資金の量を考えると、ポイント2を無視することはありません。
PS私が実行したすべてのアクションは研究的性質のものであり、結論がプロモーションの開発者への警告として役立つことを願っています。