Try Hack Box
7.08K subscribers
754 photos
80 videos
142 files
775 links
1 Nov 2020
1399/08/11


🔴 THB | Offensive Security

آموزش، تحقیق و تجربه عملی در امنیت تهاجمی

Penetration Testing · Red Teaming · AI Security

🎯 یاد بگیر. آزمایش کن. حرفه‌ای شو.
Download Telegram
📌 فراخوان جذب مدرس | TryHackBox

تیم TryHackBox برای توسعه مسیرهای آموزشی خود، از مدرس‌ های باتجربه در حوزه‌های زیر دعوت به همکاری میکند:

🔴 Penetration Testing
🟥 Red Team / Adversary Simulation
🐞 Bug Bounty & Web Security
🔎 Osint
اگر در یکی از این حوزه‌ها تجربه عملی دارید و به آموزش علاقه‌مندید، خوشحال میشیم به تیم مدرسین THB اضافه بشید.

چیزی که برای ما مهمه:
• تجربه واقعی و دانش فنی قابل اتکا
• توانایی انتقال مفاهیم به زبان ساده و کاربردی
• ترجیحاً سابقه فعالیت در پروژه‌های واقعی، CTF، Bug Bounty، Pentest یا Red Team , Osint

لازم نیست حتماً مدرس حرفه‌ای باشید؛ اگر دانش فنی خوبی دارید و میتونید اون رو درست منتقل کنید، با ما در ارتباط باشید.

اگر علاقه‌مند به همکاری هستید، یک معرفی کوتاه از خودتون، حوزه تخصصی و سابقه فعالیتتون ارسال کنید.
@ThbxSupport

برای افرادی که هنوز رزومه قوی یا سابقه تدریس ندارند اما دانش و علاقه کافی دارند، این فرصت میتونه شروع خوبی باشه؛ با ساخت محتوای آموزشی و تجربه تدریس در TryHackBox، میتونید به‌ مرور یک رزومه فنی و قابل ارائه برای خودتون بسازید.
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
⁨
به یاد مردی که نامش با آزادی، خرد، دادگری و بزرگواری در تاریخ ایران جاودانه شد؛

مردی که شکوه ایران را با شمشیر تنها نساخت، بلکه با فرهنگ، مدارا و انسانیت ماندگار کرد.

امروز، یاد و نام کوروش بزرگ را گرامی میداریم؛
به امید روزهایی که ایران، همچنان سرزمینِ آزادی، سربلندی و همدلی باشد.

جهان، پادشاهان بسیاری به خود دیده است،
اما کمتر کسی را با چنین بزرگیِ نام و اندیشه‌ای به یاد می‌ آورد

زادروز کوروش بزرگ خجسته باد؛

پاینده باد ایران و جاودان باد نام نیکش. 💚🤍❤️


@TryHackBox
#کوروش_بزرگ #تاریخ_ایران #تمدن_ایران #پاسارگاد #هخامنشی⁩
❤16👎4🔥1🌚1
Try Hack Box
⁨ به یاد مردی که نامش با آزادی، خرد، دادگری و بزرگواری در تاریخ ایران جاودانه شد؛ مردی که شکوه ایران را با شمشیر تنها نساخت، بلکه با فرهنگ، مدارا و انسانیت ماندگار کرد. امروز، یاد و نام کوروش بزرگ را گرامی میداریم؛ به امید روزهایی که ایران، همچنان سرزمینِ…
🔥 جشن شهریورگان / ۳۰ امرداد

💠 شهریورگان، جشنی به پاس شهریور امشاسپند است. شهریور، فروزه‌ی توانایی و شهریاری اهورامزدا بوده و از دید لغوی به معنی «شهریاری آرزوشده» می‌باشد. هم از این روست که از اهورامزدا در اوستا با نام «به شهریاری برازنده‌ترین» یاد شده است. درست به همین چرایی نیز شاهنشاهان هخامنشی و ساسانی، شهریاری خود بر ایرانشهر را بخشش اهورامزدا به خود می‌خواندند؛ زیرا بُن یا سرچشمه‌ی شهریاری نیک را شهریاری اهورامزدا می‌دانستند. با این همه، بر پایه‌ی جهان‌بینی زرتشتی، اهورامزدا هر انسانی را شهریار تن خویش آفریده است. پس این مفهوم صرفاً دارای بُعدی سیاسی نیست؛ بلکه معنایی بس گسترده‌تر و عام‌تر هم دارد.

💠 شهریاری‌ ای که استوار بر نیکی باشد، در فرهنگ زرتشتی، «نیک‌خدایی (نیکی‌سالاری، شهریاری نیک، نیکوپادشاهی)» نام دارد. این مفهوم، شالوده‌ی اصلی اندیشه‌ی سیاسی ایرانشهری را برمی‌سازد. گفتنی‌ست که نماد مادی شهریور نیز فلزات هستند.

📌 یک نکته برای اصلاح یک اشتباه رایج
دوستان، دلیل اینکه این پست را منتشر کردیم این است که متأسفانه تاریخ شهریورگان در برخی صفحات و مطالب، با تاریخ‌ های دیگر اشتباه گرفته می‌شود. بنابراین اگر در این زمینه محتوا تولید می‌ کنید، مخصوصاً دوستانی که در اینستاگرام صفحه تاریخی دارند، لطفاً پیش از انتشار، تاریخ و منبع را بررسی کنید تا یک اشتباه بارها و بارها تکرار نشود.

ما نمی‌گوییم گرامی‌ داشت این روز کار نادرستی است؛ برعکس، زنده نگه داشتن یاد و فرهنگ ایران باستان ارزشمند است. اما در کنار علاقه به تاریخ، دقت تاریخی هم اهمیت دارد.

گاهی حتی یک تاریخ اشتباه، وقتی بارها بازنشر شود، تبدیل به یک «واقعیت رایج» می‌ شود؛ در حالی که رایج بودن یک ادعا، دلیل درست بودن آن نیست.

یاد تاریخ و بزرگان ایران را گرامی بداریم؛ اما دقیق و مسئولانه.

✍ کاوه
برگی از تاریخ
@TryHackBox
#تاریخ #تاریخ_ایران
🔥8👎2
🔖 پیدا کردن اطلاعات حساس با gf

# Search for testing point with gau and fff
gau target -subs | cut -d"?" -f1 | grep -E "\.js+(?:on|)$" | tee urls.txt
sort -u urls.txt | fff -s 200 -o out/

# After we save responses from known URLs, it's time to dig for secrets
for i in
gf -list; do [[ ${i} =~ "_secrets"* ]] && gf ${i}; done

کدوم secret با gf در JS فایل‌ها شکار کردین که bounty داد؟ تجربتون رو کامنت کنی


@TryHackBox
#باگ_بانتی
🛡️ SAML SECURITY SERIES | PART 02

🎫 Signature Wrapping
وقتی Signature معتبره، ولی Application چیز دیگه‌ای رو میخونه!

در قسمت قبل گفتیم یکی از اولین چیزهایی که در بررسی یک SAML Implementation باید بهش توجه کنیم، Signature Validation هست.

حالا بریم سراغ یکی از معروف‌ ترین مشکلات امنیتی SAML:

XML Signature Wrapping یا XSW

اسمش شاید کمی پیچیده به نظر برسه، ولی ایده‌ی اصلیش خیلی ساده‌ تره.
فرض کنید یک SAML Response داریم.
داخل این Response یک Assertion وجود داره.
روی این Assertion هم یک Digital Signature قرار گرفته.

اپلیکشن باید مطمئن بشه که:
ا🔐 Signature واقعاً معتبره.
📄 داده‌ای که Signature روی اون قرار گرفته، همون داده‌ایه که باید بررسی بشه.

📌 در نهایت، همون Assertion وارد فرآیند Authentication میشه.

حالا مشکل کجاست؟
وقتی بین چیزی که Signature شده و چیزی که Application پردازش میکنه ارتباط درستی وجود نداشته باشه.

در بعضی پیاده‌سازی‌ های آسیب‌پذیر، مهاجم میتونه ساختار XML رو طوری تغییر بده که Signature همچنان معتبر باقی بمونه.
اما Application در ادامه، Node یا Assertion دیگری رو پردازش کنه.

یعنی:
اSignature معتبره.

اما چیزی که Application بهش اعتماد میکنه، لزوماً همون چیزی نیست که Signature شده.
به زبان ساده تر هم که :

Signed Data ≠ Processed Data

و دقیقاً همینجا مشکل امنیتی شکل میگیره.
بسته به Implementation و شرایط موجود، این مسئله میتونه به موارد زیر منجر بشه:

🔹 Authentication Abuse
🔹 Privilege Escalation
🔹 Identity Validation Bypass

اما یک نکته مهم دیگه هم وجود داره.

اXSW فقط یک تکنیک واحد نیست.
برای این حمله Variantهای مختلفی وجود داره که معمولاً با نام‌ های XSW1 تا XSW8 شناخته میشن.

تفاوت این Variantها عمدتاً به نحوه‌ی قرار گرفتن و پردازش Nodeهای XML مربوط میشه.

🎯 حالا سؤال:

اگر یک SAML Response داشته باشیم و Signature اون کاملاً معتبر باشه، آیا میتونیم با اطمینان بگیم Authentication امنه؟

یا باید بررسی کنیم که:
اپلیکشن دقیقاً کدوم Node رو بعد از Validation پردازش میکنه؟

اگر جای یک پنتستر بودید، چطور مطمئن می‌شدید:

اSigned Data همون Processed Data هست؟

نظرتون رو بنویسید 👇

@TryHackBox
#تست_نفوذ #امنیت_سایبری
🔥2
🌐 Web Pentesting | Field Notes - #01

قبل از اینکه Payload بفرستی، اول ببین اصلاً کجا باید بفرستی.

یکی از رایج‌ ترین اشتباهات پنتسترهای تازه‌کار اینه که خیلی زود میپرن سراغ SQLi، XSS، یا اجرای یک Automated Scanner. اما یک پنتستر باتجربه، قبل از هر چیز، یک سؤال ساده‌تر از خودش میپرسه:

"این اپلیکیشن کجا به من اجازه میده روی رفتار سرور اثر بذارم؟"

در یک Assessment واقعی، صرفاً به فرم لاگین بسنده نکن. دنبال این‌ها بگرد:

URL / Query Parameters
JSON Body
Headers و Cookies
File Upload
Search و Filters
Export / Download
Password Reset
API Endpoints
Admin Functions
Redirect Parameters


یک مثال ساده:

Code
GET /profile?id=123

برای یک پنتستر، این فقط یک URL نیست. id=123 یعنی احتمالاً یک Object در سمت سرور وجود داره که براساس یک Identifier پیدا میشه.

حالا سؤال اصلی اینه: سرور فقط میپرسه "چه Objectی درخواست شده؟"، یا واقعا چک میکنه "آیا این کاربر مجاز به دیدن این Object هست؟"

همین تفاوت ظریف، میتونه یک تست ساده رو به کشف یک IDOR واقعی تبدیل کنه.

🎯 طرز فکر یک پنتستر:

Input → Processing → Authorization → Output → Impact



@TryHackBox

#تست_نفوذ #امنیت_سایبری
❤3🔥1
📚 کتابچه Kerberos For Pentesters

📌 یک راهنمای تخصصی برای شناخت Kerberos و نحوه استفاده از آن در تست نفوذ و Red Team محیط‌های Active Directory.

این کتاب از مبانی شروع می‌کند و تلاش می‌کند قبل از ورود به تکنیک‌های حمله، ساختار و منطق Kerberos را برای خواننده روشن کند. در ابتدا با تاریخچه و تکامل Kerberos، معماری Kerberos v5 و اجزای اصلی آن آشنا می‌شوید و سپس نحوه پیاده‌سازی این پروتکل در Active Directory بررسی می‌شود.

در بخش Active Directory، موضوعاتی مانند نقش Domain Controller به‌عنوان KDC، ارتباط Kerberos با حساب‌های کاربری و سرویس‌ها، TGT و Service Ticket و مکانیزم Pre-authentication مورد بررسی قرار می‌گیرند.


📌 توضیحات تکمیلی

📕 نمونه کتاب

📄 صفحات : ۱۷۷
💰 قیمت اصلی : ۲۶۹,۰۰۰ هزارتومان

🔥 برای ۳ نفر اول : ۱۹۹,۰۰۰ هزارتومان

📌 جهت خرید به ایدی زیر پیام دهید:
@THBxSupport

@KavehOffSec
@TryHackBox
❤1
Try Hack Box
🌐 Web Pentesting | Field Notes - #01 قبل از اینکه Payload بفرستی، اول ببین اصلاً کجا باید بفرستی. یکی از رایج‌ ترین اشتباهات پنتسترهای تازه‌کار اینه که خیلی زود میپرن سراغ SQLi، XSS، یا اجرای یک Automated Scanner. اما یک پنتستر باتجربه، قبل از هر چیز، یک…
🌐 Web Pentesting | Field Notes - #02

SQL Injection را با SQLmap شروع نکنید

یکی از رایج‌ ترین اشتباه‌ها در تست نفوذ وب این است که پنتستر به یک پارامتر میرسد و بلافاصله ابزار را اجرا می‌ کند؛ منتظر میماند تا SQLmap اعلام کند «Vulnerable».

پیش از آن‌که حتی یک ابزار را اجرا کنید، باید دقیقاً بدانید به دنبال چه چیزی هستید.
فرض کنید به این درخواست رسیده‌اید:

GET /products?id=42

اول دست نزنید.
رفتار عادی برنامه را مشاهده کنید:
کد پاسخ چیست؟
طول پاسخ چقدر است؟
چه محتوایی برمی‌ گردد؟
خطایی دیده می‌ شود؟
آیا پاسخ تغییر می‌ کند؟
تفاوتی در زمان پاسخ‌ دهی وجود دارد؟

سپس ورودی را تغییر دهید و رفتار برنامه را با حالت عادی مقایسه کنید.

اگر با تغییر مقدار id، پاسخ به شکل قابل‌ توجهی دگرگون شود، این دیگر یک تغییر ساده نیست؛ یک سیگنال است.

در این نقطه باید فرضیه بسازید:
«ممکن است این پارامتر در یک کوئری پایگاه‌داده استفاده شود.»

حالا تست واقعی آغاز می‌شود.
و اینجا یک نکتهٔ حیاتی وجود دارد:
اSQL Injection لزوماً قرار نیست خطای زیبا و واضحی روی صفحه نشان دهد.

در Blind SQL Injection ممکن است:
هیچ خطای پایگاه‌داده‌ای نبینید.
هیچ داده‌ای مستقیماً برنگردد.
و حتی پاسخ ظاهراً کاملاً عادی به نظر برسد.

اما اگر برنامه بین شرایط مختلف رفتار متفاوتی از خود نشان دهد، همین تفاوت می‌ تواند سیگنال مهمی باشد.

پس وقتی خروجی واضحی ندارید، سؤال درست این نیست که:

«چه پیلود دیگری بزنم؟»

سؤال درست این است:
«چه چیزی را میتوانم اندازه‌گیری و مقایسه کنم؟»

پاسخ؟
رفتار بولین؟
طول پاسخ؟
زمان پاسخ‌دهی؟
محتوا؟

اینجاست که مرز میان یک جمع‌ کنندهٔ پیلود و یک پنتستر وب واقعی مشخص میشود.

اSQLmap ابزار فوق‌العاده‌ای است.
اما قرار نیست به‌جای شما برنامه را بفهمد.
شما باید فرضیه بسازید؛ ابزار فقط باید فرآیند تحقیق را سریع‌تر کند.

اگر از ابتدا ابزار تصمیم بگیرد که به دنبال چه چیزی بگردد، ممکن است آسیب‌پذیری را پیدا کنید بدون آنکه واقعاً بفهمید چرا وجود دارد.
و این برای یک پنتستر حرفه‌ای کافی نیست.


@TryHackBox

#تست_نفوذ #امنیت_سایبری
👍5❤2
⭕ یک خط برای پیدا کردن فایل‌ ها

subfinder -d domain.com -silent | \
while read host; do \
 for path in /config.js /config.json /app/config.js /settings.json /database.json /firebase.json /.env /.env.production /api_keys.json /credentials.json /secrets.json /google-services.json /package.json /package-lock.json /composer.json /pom.xml /docker-compose.yml /manifest.json /service-worker.js; do \
  echo "$host$path"; \
 done; \
done | httpx -mc 200

@TryHackBox
#باگ_بانتی
❤8👎1
📌 استفاده از ماشین‌های مجازی برای بایپس کردن ابزارهای امنیتی

📌
مهاجمان همچنان به آزمایش با پلتفرم‌ های مختلف مدیریت از راه دور

📌
مینی دوره #رایگان نصب و راه‌اندازی لابراتورهای تست نفوذ وب قسمت اول

📌
فکر می‌کنید، xss نمی‌ تواند در اندپوینت .html فعال شود؟

📌
کجا می‌ توان به صورت قانونی LLM را هک کرد؟

📌
درک معماری های سندباکس

📌 بررسی تهدیدها : OWASP Top 10  برای LLM  

📌
بازنشانی رمز عبور منقضی شده حساب دامنه از طریق null-session و SAMR

📌
جستجو برای فایل‌های رمزگذاری شده

📌
نشت اطلاعات حساس و عدم وجود مجوز از طریق اندپوینت API

📌 
دستورات کاربردی و سریع برای Host & Network Discovery و Service Enumeration و Web Enumeration

📌
بایپس احراز هویت از طریق Forged Session Cookie

📌 
هک سیستم ‌های  SCADA    : پیداکردن سیستم ‌های SCADA با استفاده از  Censys

ا📌
AMSI Bypass و چالش‌های اجرای PowerShell در محیط‌های ویندوزی

📌 نکته‌ای برای باگ بانتی: بایپس احراز هویت

📌 دورک های مفید برای باگ هانترها

📌 جمع‌ آوری اطلاعات سریع‌ تر

📌 100 آسیب پذیری وب

📌 یه Google Dork ساده، ولی با ...

📌 شروع دوره #رایگان Network+
🔥 #باگ_بانتی فکر کنم این یکی برای بیشتر باگ‌ هانترها آشنا باشه

چند ساعت روی یه مورد وقت میذاری، مطمئنی یه آسیب پذیری پیدا کردی، حتی سناریوی Exploit رو هم تو ذهنت کامل کردی بعد آخرش میفهمی یا Out of Scope بوده، یا اصلاً آسیب پذیری محسوب نمیشده.

برای خیلیا False Positive بیشتر از چیزی که انتظار داشتن اتفاق افتاده.

برای شما چطور؟ بیشتر با Duplicate مواجه میشید، Out of Scope، False Positive یا باگی که در نهایت Impact قابل‌ توجهی نداره؟

اگه تجربه جالبی داشتید، بدون اشاره به اسم تارگت برامون بنویسید.



لینک گروه جهت مشارکت :

https://t.me/+XPV3S0tygl1lZGE0

TryHackBox | Ai Sec | Radio | RoadMap
🔥5
ا📌 Source Code رو از نگاه یک Pentester چطور بررسی کنیم؟

وقتی توی تست نفوذ به Repository دسترسی داری، قرار نیست فقط بشینی کد رو خط‌ به‌ خط بخونی.

چیزی که برای من مهم‌ تره اینه که بفهمم کجاهایی از Attack Surface از بیرون دیده نمیشن.

مثلاً یک Endpoint که از بیرون پیدا نکردیم، یک Background Job، یک File Handler یا جایی که Authorization فقط توی بعضی مسیرها انجام شده.

معمولاً کار رو اینطوری جلو میبرم:

اول یک SAST نسبتاً گسترده اجرا میکنم و چیزهایی مثل Dependencyها، Generated Code و Testها رو تا حد ممکن از نتایج کنار میذارم.

بعد دیگه قرار نیست تک‌تک Alertها رو باور کنیم.

برای هر مورد باید برگردیم به Code و مسیر رو دنبال کنیم:
Entry Point → Data Flow → Validation → Dangerous Sink


مثلاً اگر یک Input کاربر به یک SQL Query میرسه، باید ببینیم واقعاً همین مسیر در Application قابل دسترسیه؟ داده Sanitize یا Parameterize شده؟ و در نهایت واقعاً چه اثری برای مهاجم داره؟

همین موضوع برای File Operation، Deserialization، Secrets، Access Control و Business Logic هم صدق میکنه.

یکی از اشتباهات رایج اینه که:
SAST Alert = Vulnerability

نه.
ممکنه کد مربوط به Test باشه، مسیر اصلاً Reachable نباشه یا قبل از رسیدن به Sink یک Security Control درست وجود داشته باشه.

برای همین Finding خوب باید یک Chain قابل اثبات داشته باشه.

از کجا شروع شد؟
کجا رفت؟
کجا به نقطه خطرناک رسید؟
مهاجم دقیقاً چه کاری میتونه انجام بده؟

و مهم‌ تر از همه چی باید Fix بشه؟
به‌نظرم ارزش Code Analysis این نیست که ۲۰۰ تا Alert تحویل بدیم.

ارزشش اینه که از بین اون ۲۰۰ مورد، چند Finding واقعی و قابل اثبات پیدا کنیم.

@TryHackBox
@TryHackBoxOfficial
@AiTHB
@RadioZeroPod
👍7❤1
thb-ctf-01-broken-trust.zip
14.4 KB
THB CTF Team Qualification : Challenge #01

The Broken Trust

دسته: Web Pentesting
سطح سختی:  Hard
پروژه: TCTQ : مسیر پذیرش تیم CTF TryHackBox

📖 سناریو

شرکت خیالی Trustonic Corp یه پورتال داخلی کارمندی جدید راه‌اندازی کرده. HR، دایرکتوری بخش‌ها، تنظیمات حساب کاربری همه پشت یه صفحه لاگین قرار گرفته و تیم فنی‌شون مطمئنه که آماده‌ی audit هست.



شما به‌ عنوان یه پنتستر خارجی استخدام شدید. کارتون رو با هیچی شروع کنید فقط یه فرم ثبت‌نام ساده و ببینید یه اکانت کارمند عادی تا کجا میتونه شما رو پیش ببره.

🎯 هدف: رسیدن به پنل Administrator و گرفتن Flag.


⚙️ نحوه اجرا

docker compose up --build

سرویس روی آدرس زیر بالا میاد:

http://localhost:8001

یه اکانت برای خودتون بسازید نیازی به حدس‌ زدن یا brute-force کردن اکانت‌ های موجود نیست.

فرمت فلگ :
THB{ }

ارسال فلگ :
@Unique_exploitbot


قوانین و توضیحات تکمیلی

@TryHackBox
#CTF_THB
This media is not supported in your browser
VIEW IN TELEGRAM
حل چلنچ : The Broken Trust : THB CTF

سناریوی حل چالش توسط اقا آرمین عزیز از اعضای کانال .

@TryHackBox
#CTF_THB
❤3
thb-ctf-02-trustpay-player.zip
28.3 KB
🔐 THB CTF Team Qualification :  Challenge #02 - Race Against Trust

دسته: Web Pentesting / Business Logic

سطح سختی:  Hard
پروژه: TCTQ  مسیر پذیرش تیم CTF TryHackBox

📖 سناریو
اTrustPay یه پلتفرم پرداخت داخلیه که تو کل شرکت برای صدور Invoice و انتقال وجه بین بخش‌‌ها استفاده میشه. کارمندها میتونن Invoiceهاشون رو ببینن، مرجع صورت‌حساب رو جستجو کنن، و موجودی حسابشون رو پیگیری کنن.

شما به‌عنوان یه پنتستر خارجی استخدام شدید. یه اکانت کارمند عادی بسازید و ببینید یه کاربر معمولی تا کجا میتونه پیش بره.

🎯 هدف: دسترسی به پنل Treasury و گرفتن Flag.

هیچ آسیب‌پذیری به‌ تنهایی شما رو به هدف نمیرسونه. این چالش نیاز به زنجیره‌کردن چند تا ضعف داره، فهمیدن اینکه چرا هر مرحله به‌تنهایی کافی نیست.

⚙️ نحوه اجرا

docker compose up --build

یا
./start.sh

اپلیکیشن روی آدرس زیر بالا میاد:

http://localhost:8002


فرمت فلگ :
THB{ }


ارسال فلگ :
@Unique_exploitbot


قوانین و توضیحات تکمیلی


@TryHackBox
#CTF_THB
👍3
Try Hack Box
🌐 Web Pentesting | Field Notes - #02 SQL Injection را با SQLmap شروع نکنید یکی از رایج‌ ترین اشتباه‌ها در تست نفوذ وب این است که پنتستر به یک پارامتر میرسد و بلافاصله ابزار را اجرا می‌ کند؛ منتظر میماند تا SQLmap اعلام کند «Vulnerable». پیش از آن‌که حتی…
🧨 WEB PENTESTING FIELD NOTES #03

یک اشتباه رایج در تست XSS

یه چیزی توی Search Box وارد میکنی.
بر‌ میگرده توی صفحه.

بعد اولین فکری که میاد:
«خب، حالا یه Payload بزنیم ببینیم اجرا میشه یا نه.»

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

قبل از Payload، من معمولاً یه سؤال ساده‌تر می‌پرسم:

این Input دقیقاً کجا قرار گرفته؟
داخل HTML؟
داخل یک Attribute؟
داخل JavaScript؟
توی URL؟

یا اصلاً JavaScript سمت Client داره این مقدار رو از جایی می‌خونه و وارد DOM میکنه؟

چون این:
<input>
به‌‌ تنهایی چیزی بهت نمیگه.
مهم اینه که Application و Browser باهاش چه رفتاری میکنن.

یه سناریوی ساده:
تو Search میزنی:
THB
صفحه هم نشون میده:
Search results for: THB
خوبه.
حالا به جای اینکه سریع بری سراغ Payloadهای مختلف، مسیر مقدار رو دنبال کن.

Input → Source → Data Flow → Sink → Context → Execution

اگر بفهمی داده از کجا وارد شده و نهایتاً به کجا رسیده، تازه می‌ فهمی باید دنبال چه چیزی بگردی.

حالا سه حالت اصلی XSS رو از هم جدا کن:

🔹 Reflected XSS

اInput از Request میاد و در Response برمیگرده.
🔹 Stored XSS
اInput ذخیره می‌شه و بعداً وقتی یک User دیگه صفحه رو می‌بینه، Render میشه.

🔹 DOM-Based XSS
این یکی جالب‌ تره.
ممکنه Server اصلاً چیزی از Payload نبینه.
جاوااسکریپت سمت Client داده رو از یک Source میگیره و به یک Sink خطرناک میرسونه.

یعنی اگر فقط Responseهای Server رو نگاه کنی، ممکنه کل داستان رو از دست بدی.
حالا یه سؤال برای خودت:

فرض کن مقدار زیر رو وارد کردی:
THB123

و این مقدار داخل HTML صفحه ظاهر شد.

آیا همین به معنی XSS Vulnerability هست؟

اگر جوابت «بله» یا «نه» هست، دلیلش رو هم بنویس.
ببینیم چند نفر واقعاً Context رو بررسی میکنن، نه فقط دنبال Payload می‌ گردن.

@TryHackBox

#تست_نفوذ #امنیت_سایبری
❤7