شکست دادن اثر انگشت TLS: دور زدن حفاظت فایروال برای درخواست های HTTPS

من از خراش دادن داده های HTTP از یک وب سایت محافظت شده با فایروال کاملاً ناامید شدم. علیرغم استفاده از پروکسی‌های مسکونی از چندین ارائه‌دهنده، درخواست‌های من بدون هیچ دلیل روشنی مسدود می‌شد. گاهی اوقات، اسکریپت روی ماشین محلی من کار می‌کرد، اما هنگام اجرا بر روی سرور ابری با شکست مواجه می‌شد.

پس از تحقیقات گسترده، به طور تصادفی با مفهوم اثر انگشت TLS آشنا شدم. بگذارید آن را برای شما تجزیه کنم:

آشنایی با اثر انگشت TLS

هنگامی که ما یک درخواست HTTPS را به یک سرور ارسال می کنیم، فرآیند با درخواست TLS “Client Hello” آغاز می شود. این درخواست نسخه‌های TLS پشتیبانی‌شده، مجموعه‌های رمزنگاری مختلف (الگوریتم‌های رمزگذاری)، عامل کاربر و چندین پارامتر دیگر را به اشتراک می‌گذارد. این جزئیات و پارامترهای اضافی یک اثر انگشت TLS منحصر به فرد برای هر درخواست ایجاد می کند و تشخیص ربات ها و اسکریپت ها را از مشتریان قانونی مرورگر آسان می کند.

اثر انگشت TLS خود را بررسی کنید: https://tls.peet.ws/

منابع: https://www.zenrows.com/blog/what-is-tls-fingerprint

جستجوی راه حل

با داشتن این دانش، عمیق‌تر به دور زدن اثر انگشت TLS پرداختم. من نتوانستم راه حل یک مرحله ای پیدا کنم، بنابراین یافته هایم را به اشتراک می گذارم.

ما از جاوا اسکریپت برای کدنویسی راه حل استفاده خواهیم کرد، اما درخواست واقعی با استفاده از آن انجام می شود curl فرمان این رویکرد را می توان به راحتی در انواع مختلف …

Source link