Nodejs で reCAPTCHA v2 をバイパスする方法#
reCAPTCHA v2 について#
reCAPTCHA v2 は、Web サイトが人間のユーザーと自動プログラム (ボットなど) を区別できるようにするために Google によって開発された検証コード システムです。フォームの送信やログインなどのアクションを完了する前にチェックボックスをクリックすることをユーザーに要求することで、ユーザーの身元を確認します。 reCAPTCHA v2 は、ユーザーのクリック動作や閲覧パターンなどの情報を分析することで、ユーザーが本物の人間であるかどうかを判断します。
reCAPTCHA v2 の種類#
図に示すように、「私はロボットではありません」チェックボックスでは、ユーザーがロボットではないことを示すチェックボックスをクリックする必要があります。これにより、ユーザーは即座に (キャプチャなしで) 認証されるか、自分が人間であるかどうかを確認されます。
図に示すように、非表示の reCAPTCHA バッジはユーザーがチェックボックスをクリックする必要はありませんが、代わりにユーザーがサイト上の既存のボタンをクリックしたときに直接呼び出されるか、JavaScript API 呼び出し経由で呼び出すことができます。統合には、reCAPTCHA 検証が完了した後の JavaScript コールバックが必要です。デフォルトでは、最も疑わしいトラフィックのみに CAPTCHA を解決するよう求められます。
この記事では、CAPTCHA をわかりやすく説明し、nodejs を使用してシンプルな reCAPTCHA v2 ソルバーを構築するプロセスを順を追って説明します。
環境整備#
まず、Nodejs がシステムにインストールされていることを確認します。さらに、必要なライブラリをインストールします。
ターゲット Web ページが静的ページの場合、`axios` を使用して関連する Web ページをダウンロードし、その後、`cheerio` を使用して Web ページを解析し、reCAPTCHA v2 をバイパスするために必要な関連データを抽出します。
公式バイパスを開始する前に、Web サイト NextCaptcha を登録する必要があります。アカウントを登録した後、バックグラウンドでアカウント キー (clientKey) を取得し、後で使用できるように保存できます。
関連する clientKey を取得した後、reCAPTCHA v2 をバイパスする作業を正式に開始します。
ここでは例として公式デモを使用します。URL は https://www.google.com/recaptcha/api2/demo です。
WebページのHTMLを取得する#
reCAPTCHA関連のパラメータを取得する#
reCAPTCHA v2 リクエストをバイパスするようにビルドする#
reCAPTCHA v2 バイパス タスクの結果を取得する#
それらを一緒にします#
取得した「結果」の gRecaptchaResponse は reCAPTCHA v2 によって解決されたトークンであり、このキーを使用して Web サイトの関連インターフェイスに送信できます。