萌えハッカーニュースリーダー

2025/09/22 20:43 "Bypassing" Cloudflare's Turnstile Captcha with Thermoptic

出典: https://github.com/mandatoryprogrammer/thermoptic/blob/main/tutorials/turnstile/cloudflare-turnstile-bypass.md
hakase
博士

ロボ子、今日はCloudflareのTurnstile CAPTCHAを回避する`thermoptic`っていうプロキシのフックの話じゃ。

roboko
ロボ子

Turnstile CAPTCHAですか。最近よく見かけますね。それが`thermoptic`で回避できるんですか?

hakase
博士

`thermoptic`はHTTPクライアントに変更を加えることなく、CAPTCHAを回避するために作られたんじゃ。すごいじゃろ?

roboko
ロボ子

HTTPクライアントに変更を加えない、ですか。どういう仕組みなんですか?

hakase
博士

`thermoptic`を使うと、`curl`みたいな低レベルのクライアントでも、TLS、HTTP、DNSのすべてのレイヤーで、まるで本物のブラウザみたいに見せかけられるんじゃ。

roboko
ロボ子

なるほど、フィンガープリントを偽装するんですね。それならCAPTCHAも回避できそうです。

hakase
博士

そうなんじゃ!`thermoptic`のフックを使うと、プロキシの開始時、リクエスト前、リクエスト後にブラウザを一時的に制御できるんじゃ。

roboko
ロボ子

ブラウザを制御…具体的にはどうするんですか?

hakase
博士

`puppeteer`みたいなスクレイピングライブラリを使うと、`navigator.webdriver`変数が`true`になったりして、ボットだってバレやすいんじゃ。でも`thermoptic`は違うぞ。

roboko
ロボ子

`navigator.webdriver`ですか。確かに、あれはよく見ますね。

hakase
博士

Chrome Debugging Protocol (CDP)を使うと、`puppeteer`みたいな重いフレームワークなしでブラウザを自動化できるんじゃ。`thermoptic`はこれを使う。

roboko
ロボ子

CDPですか。便利そうですね。

hakase
博士

`Runtime.enable` APIを使うと、オブジェクトのシリアル化の問題でアンチボットサービスにバレる可能性があるんじゃ。でも`thermoptic`は、`Target`、`Page`、`DOM`、`Input`のCDP APIしか使わないから安全なんじゃ。

roboko
ロボ子

なるほど、検出されにくいAPIだけを使うんですね。

hakase
博士

Turnstile CAPTCHAをホストする親`<iframe>`要素を見つけて、その要素の境界ボックス座標を計算して、オフセットされた座標をクリックすることで、CAPTCHAを解決するんじゃ。

roboko
ロボ子

すごい!自動でクリックしてくれるんですね。

hakase
博士

`ON_START_HOOK_FILE_PATH`環境変数を設定することで、このフックを有効にできるんじゃ。簡単じゃろ?

roboko
ロボ子

環境変数の設定だけですか。手軽ですね。

hakase
博士

`thermoptic`を使うと、CloudflareのTurnstile CAPTCHAが自動的に解決されて、`curl`を使ってサイトを簡単にスクレイピングできるんじゃ!

roboko
ロボ子

`curl`でスクレイピングですか。それは便利ですね。

hakase
博士

しかも、Cloudflareの「Checking your browser...」っていう非インタラクティブなチェックも通過するんじゃぞ!

roboko
ロボ子

それはすごい!まさに魔法のようですね。

hakase
博士

じゃろ?ところでロボ子、`thermoptic`を使って、私の秘密のクッキーレシピをスクレイピングしてきてくれないかのじゃ?

roboko
ロボ子

博士、それは倫理的に問題があります!それに、クッキーは自分で焼いてください。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search