Try Hack Box
5.9K subscribers
685 photos
65 videos
125 files
692 links
1 Nov 2020
1399/08/11
آموزش تست نفوذ و ردتیم

https://linkedin.com/company/tryhackbox-org/

یوتیوب
https://youtube.com/@tryhackbox

کانال ها :
@TryHackBoxOfficial ( نقشه راه )
@TryHackBoxStory ( اخبار و داستانهای هک )
پشتیبانی : @ThbxSupport
Download Telegram
🚀 پارت 1 (A)
بررسی HTTP Headers و شناسایی کاربران

در HTTP، هدرهای درخواست (Request Headers) اطلاعاتی درباره کاربر، مرورگر، مسیر ورود و تنظیمات کلاینت ارائه می‌دهند. برخی از این هدرها به سرور کمک می‌کنند تا کاربر را شناسایی یا ردیابی کند؛ حتی زمانی که ورود (Login) انجام نشده باشد.

در این پست، به بررسی ۷ هدر پرکاربرد در شناسایی کلاینت‌ها می‌پردازیم:

1️⃣ From
این هدر شامل آدرس ایمیل کاربر است و در گذشته به عنوان راهی برای شناسایی کاربران در نظر گرفته می‌شد.
🔴 اما امروز، مرورگرها معمولاً این هدر را ارسال نمی‌کنند چون می‌تواند منجر به سوءاستفاده‌هایی مانند اسپم یا فیشینگ شود.
🛑 در عمل، From یک هدر تقریباً منسوخ و ناامن محسوب می‌شود.

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #Cookies #CyberSecurity
🔥4
🚀 پارت 1 (B)
بررسی HTTP Headers و شناسایی کاربران

2️⃣ User-Agent

شامل اطلاعات دقیق درباره مرورگر، نسخه آن، سیستم‌عامل و گاهی معماری سیستم است.
مثال:

Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36


🔍 کاربرد امنیتی: ترکیب این اطلاعات می‌تواند در ساخت یک پروفایل نسبی از کلاینت استفاده شود. اگر ترکیب User-Agent خاصی فقط توسط یک کاربر استفاده شود، سرور می‌تواند آن را شناسایی کند.

3️⃣ Referer

مشخص می‌کند که کاربر از کدام صفحه یا سایت به این صفحه فعلی رسیده است.

کاربردها:

* تحلیل رفتار کاربران
* ردگیری مسیر بازدید (Path Tracking)
* شناسایی منابع ترافیک (مثلاً از Google آمده یا از یک سایت تبلیغاتی)

⚠️ از منظر امنیتی، این هدر می‌تواند اطلاعات حساس (مانند توکن‌ها در URL) را نیز فاش کند، به همین دلیل در بسیاری از برنامه‌های امن، مقدار آن کنترل یا حذف می‌شود.

4️⃣ Accept-Language

مشخص می‌کند زبان‌های ترجیحی کاربر چیست. برای مثال:

Accept-Language: fa-IR,fa;q=0.9,en-US;q=0.8,en;q=0.7


🌐 کاربردها:

* نمایش خودکار سایت به زبان مناسب
* شناسایی منطقه جغرافیایی کاربر

🎯 در کنار IP و User-Agent می‌تواند بخشی از پروفایل شناسایی کاربر را شکل دهد.

5️⃣ Accept

این هدر مشخص می‌کند که کلاینت چه نوع محتواهایی را پشتیبانی می‌کند (مثلاً HTML، JSON یا XML).
نمونه:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8


🧩 اگرچه نقش مستقیمی در شناسایی ندارد، ولی ترکیب خاص مقادیر این هدر می‌تواند به‌صورت غیرمستقیم در Fingerprinting کاربر مفید باشد.

6️⃣ Accept-Encoding

بیان می‌کند که چه الگوریتم‌های فشرده‌سازی (مثل gzip یا br) توسط کلاینت پشتیبانی می‌شوند.

🛡 اگرچه هدف اصلی آن کاهش حجم پاسخ است، اما باز هم می‌تواند بخشی از اثر انگشت مرورگر (Browser Fingerprint) را بسازد.

7️⃣ DNT (Do Not Track)

این هدر اعلام می‌کند که آیا کاربر می‌خواهد ردیابی نشود (Do Not Track).
مقدار آن معمولاً 1 برای فعال‌بودن یا 0 برای غیرفعال‌بودن است.

🚫 این هدر غیرالزامی و داوطلبانه است، و بسیاری از سرورها آن را نادیده می‌گیرند.

📌 جمع‌بندی:
درست است که هیچ‌کدام از این هدرها به‌تنهایی برای شناسایی دقیق کافی نیستند، اما ترکیب آن‌ها می‌تواند به ساخت اثر انگشت دیجیتال (Fingerprint) کمک کند. این روش‌ها پایه بسیاری از سامانه‌های تشخیص تقلب، تبلیغات هدفمند، یا حتی حملات مبتنی بر شناسایی مرورگر هستند.

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #Cookies #CyberSecurity
10🔥2🙏2
🚀 پارت 2 (A)
شناسایی کاربران با آدرس IP
یکی از ساده‌ترین و قدیمی‌ترین روش‌ها برای شناسایی کاربران در وب، استفاده از آدرس IP کلاینت است. زمانی طراحان اولیه وب تصور می‌کردند که IP می‌تواند نشان‌دهنده هویت یک کاربر باشد؛ چون فرض بر این بود که هر کاربر یک IP منحصر‌به‌فرد دارد.

اما در دنیای واقعی، این فرض بسیار ناپایدار و پرایراد است. چرا؟

⚠️ محدودیت‌های جدی در استفاده از IP برای شناسایی کاربران:

1️⃣ اشتراک‌گذاری IP توسط چند کاربر
اگر چند کاربر از یک کامپیوتر یا شبکه (مثلاً کافی‌نت یا دانشگاه) استفاده کنند، همگی از یک آدرس IP بیرونی دیده می‌شوند. بنابراین شما کاربر را نمی‌شناسید، بلکه فقط دستگاه یا شبکه‌ را تشخیص می‌دهید.

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #Cookies #CyberSecurity
👍5
🚀 پارت 2 (B)
شناسایی کاربران با آدرس IP

2️⃣ تخصیص پویا (Dynamic IP)

اکثر سرویس‌دهنده‌های اینترنت (ISP) به کاربران خود هر بار که به اینترنت متصل می‌شوند، یک IP جدید اختصاص می‌دهند. بنابراین:

* امروز یک کاربر با IP A متصل می‌شود،
* فردا همان کاربر با IP B.

🔁 این یعنی IP نمی‌تواند به‌تنهایی برای شناسایی کاربران در جلسات مختلف قابل اعتماد باشد.

3️⃣ استفاده از NAT (ترجمه آدرس شبکه)

در بسیاری از شبکه‌های خانگی یا سازمانی، ده‌ها دستگاه از طریق یک مودم و با استفاده از تکنولوژی NAT به اینترنت متصل می‌شوند. در نتیجه:

* همه دستگاه‌ها از نظر بیرونی یک IP مشترک دارند،
* اما در پشت صحنه، IP داخلی آن‌ها متفاوت است مانند زیر
192.168.x.x

📌 از دید سرور، همه آن کاربران یکی دیده می‌شوند!

4️⃣ پنهان‌سازی IP با پروکسی یا گیت‌وی

بسیاری از کاربران از پروکسی‌ها، گیت‌وی‌ها یا VPN استفاده می‌کنند که ارتباط را از طرف آن‌ها ارسال می‌کند. در این حالت، سرور فقط آدرس IP واسطه را می‌بیند نه آدرس واقعی کلاینت را.

برخی پراکسی‌ها برای شفاف‌سازی، هدرهایی مثل:

X-Forwarded-For
Client-IP


اضافه می‌کنند که ممکن است آدرس IP واقعی کاربر را نشان دهند. ولی این هدرها به راحتی قابل جعل (Spoof) هستند و قابل اعتماد صددرصدی نیستند.

💡 آیا هنوز از IP در امنیت استفاده می‌شود؟

بله! با وجود تمام محدودیت‌ها، بسیاری از وب‌سایت‌ها هنوز از IP برای:

* بررسی ناهنجاری‌ها (مثلاً تغییر ناگهانی IP در نشست)
* اعمال محدودیت‌های جغرافیایی (Geo-blocking)
* کنترل دسترسی‌های خاص در اینترانت‌ها

استفاده می‌کنند. اما باید توجه داشت که IP باید فقط بخشی از یک مکانیزم ترکیبی شناسایی باشد، نه ابزار اصلی.

📌 جمع‌بندی:
آدرس IP به‌تنهایی برای شناسایی دقیق کاربر کافی نیست، و اگرچه در بعضی کاربردها مفید است، اما در شبکه‌های مدرن، استفاده صرف از آن یک نقطه ضعف امنیتی و شناختی خواهد بود.

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #Cookies #CyberSecurity
6
🚀 پارت 3 (A)

🍪 کوکی‌ها (Cookies) چیه و چه کاری انجام می‌دن؟

کوکی‌ها راهی برای شناسایی کاربران و ایجاد جلسات (Sessions) پایدار در وب هستند. در گذشته کاربران مشکلات فنی زیادی داشتند، اما کوکی‌ها به عنوان یک راه‌حل فنی برای ایجاد ارزش بیشتر به وجود اومدن.

🔹 تاریخچه مختصر:
کوکی‌ها رو اولین بار Netscape توسعه داد، اما امروز همه مرورگرهای اصلی ازشون پشتیبانی می‌کنن. اون‌ها بخش مهمی از پروتکل HTTP هستن و روی عملکرد حافظه نهان (Cache) مرورگر هم تاثیر می‌ذارن.

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #Cookies #CyberSecurity
3👍1
🚀 پارت 3 (B)

🧠 چطوری کار می‌کنن؟
کوکی‌ها در واقع مثل برچسب‌های "اسم من ... است" (Hello, My Name Is) هستن که سرور اون‌ها رو به کاربر می‌چسبونه.
وقتی شما یک سایت رو باز می‌کنید، اون سایت می‌تونه تمام برچسب‌هایی (کوکی‌هایی) که خودش قبلاً برای شما گذاشته رو بخونه.

🔰 در اولین بازدید:
وقتی برای اولین بار به یک سایت سر می‌زنید، سرور هیچ اطلاعاتی درباره شما نداره. اما چون حدس می‌زنه دوباره برمی‌گردید، یک کوکی منحصر به فرد برای شما می‌سازه و via مرورگر براتون ذخیره می‌کنه. اینطوری می‌تونه دفعه بعد شما رو شناسایی کنه.

این کوکی از یک جفت نام=مقدار (مثلاً user_id=12345) تشکیل شده و سرور آن را با استفاده از هدرهای پاسخ HTTP مثل Set-Cookie برای مرورگر شما می‌فرسته.

🔹 انواع کوکی‌ها:
به طور کلی دو نوع اصلی داریم:

1️⃣ کوکی Session (موقت):
این کوکی موقته و فقط هنگام حرکت شما در یک سایت فعاله. با بستن مرورگر، این کوکی پاک میشه! برای ذخیره موقت ترجیحات و تنظیمات شما به کار میره.

2️⃣ کوکی Persistent (دائمی):
این کوکی‌ها ماندگاری بیشتری دارن و حتی بعد از بستن و باز کردن مجدد مرورگر هم باقی می‌مونن! از این کوکی‌ها معمولاً برای به خاطر سپردن اطلاعات لاگین، پروفایل و تنظیمات شخصی‌شده استفاده میشه.

🔹 تفاوت اصلی:
فرق اصلی این دو در زمان انقضاشونه. اگر کوکی دارای پارامترهای Expires یا Max-Age باشه (یا پارامتر Discard رو نداشته باشه)، یک کوکی Persistent محسوب میشه.

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #Cookies #CyberSecurity
5
🚀 پارت 4 (A)
🍪 کوکی‌ها (Cookies): از شناسایی تا ذخیره اطلاعات

در پست قبل راجع به اساسيات کوکی‌ها صحبت کردیم. حالا بپردازیم به جزئیات بیشتر!

🔢 چه اطلاعاتی در کوکی ذخیره می‌شود؟
کوکی‌ها می‌توانند حاوی هر اطلاعاتی باشند، اما اغلب شامل یک شماره شناسه منحصر به فرد (Unique ID) هستند که توسط سرور برای اهداف بازیابی استفاده می‌شود.
مثال: سرور یک کوکی با مقدار id=34294 برای کاربر قرار می‌دهد. سپس می‌تواند از این شماره برای جستجوی اطلاعات بیشتر کاربر (مانند تاریخچه خرید، آدرس و...) در پایگاه داده خودش استفاده کند.

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #Cookies #CyberSecurity
7
🚀 پارت 4 (B)

📝 ذخیره مستقیم اطلاعات
با این حال، کوکی‌ها فقط به یک ID محدود نیستند. برخی سرورها انتخاب می‌کنند که اطلاعات را مستقیماً در کوکی نگه دارند. مثال:
Cookie: name="Brian Totty"; phone="555-1212"

🎒 کوله پشتی کاربر (Cookie Jar)
مرورگر، محتوای کوکی‌های ارسالی از سرور را در هدرهای Set-Cookie به خاطر می‌سپارد و مجموعه کوکی‌ها را در یک فضای ذخیره سازی به نام Cookie Jar ( like یک چمدان پر از برچسب های مختلف سرورها) ذخیره می کند.
وقتی کاربر در آینده به همان سایت بازگردد، مرورگر، کوکی‌های مربوط به آن سرور را انتخاب کرده و آن‌ها را در هدر درخواست Cookie ارسال می‌کند.

🎯 هدف اصلی کوکی‌ها: State Management
هدف اصلی کوکی‌ها این است که به مرورگر اجازه می‌دهند مجموعه‌ای از اطلاعات خاص یک سرور را جمع آوری کند و هر بار که کاربر آن سایت را باز می‌کند، این اطلاعات را به سرور ارائه دهد.
از آنجایی که وظیفه ذخیره اطلاعات کوکی بر عهده مرورگر است، به این سیستم اصطلاحاً مدیریت状态 سمت کلاینت (Client-Side State) می‌گویند. مشخصات رسمی کوکی‌ها با نام HTTP State Management Mechanism شناخته می‌شود.

📁 مرورگرها و ذخیره سازی کوکی‌ها
مرورگرهای مختلف، کوکی‌ها را به روش‌های مختلف ذخیره می‌کنند.
مرورگر Netscape Navigator کوکی‌ها را در یک فایل متنی به نام cookies.txt ذخیره می‌کند.
هر خط در این فایل نشان‌دهنده یک کوکی است و هفت فیلد دارد که با تب از هم جدا شده‌اند:

domain: دامنه‌ای که کوکی به آن تعلق دارد.

allh: اگر TRUE باشد، به این معنی است که همه میزبان‌های خاص در آن دامنه می‌توانند کوکی را دریافت کنند.

path: مسیری در دامنه که با کوکی مرتبط است.

secure: اگر TRUE باشد، کوکی فقط از طریق یک اتصال SSL امن ارسال می‌شود.

expiration: زمان انقضای کوکی به شکل ثانیه از 1 ژانویه 1970, 00:00:00 GMT (مبدأ زمان یونیکس).

name: نام متغیر کوکی.

value: مقدار متغیر کوکی.

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #Cookies #CyberSecurity
👍41
IDOR_&_HTTP_Security_Headers
✍️نویسنده
@TryHackBox | The Chaos

#HTTP #IDOR #CyberSecurity
IDOR_&_HTTP_Security_Headers.pdf
464.3 KB
📚بررسی htttp security headers و ارتباط آن ها با حمله IDOR

✍️نویسنده
@TryHackBox | The Chaos

#HTTP #IDOR #CyberSecurity
8