codacker.ir
1.38K subscribers
2 photos
6 files
59 links
محتوای آموزشی امنیت سایبری
🤟 هک یه ابزار نیست. یه طرز فکره.

کانال یوتیوب:
https://www.youtube.com/@codacker-plus

سایت :
Https://codacker.ir

پشتیبانی :
@codacker_support
Download Telegram
🔐 **Broken Access Control: وقتی دیوار امنیتی فقط یک پرده‌ست**

چرا IDOR سال‌هاست صدرنشین OWASP Top 10 باقی مونده؟ چون توسعه‌دهنده‌ها هنوز فکر می‌کنن مخفی کردن URL یعنی امنیت!

**Broken Access Control** یعنی کاربر بتونه به منابعی دسترسی پیدا کنه که حق نداره. ساده‌ترین شکلش IDOR (Insecure Direct Object Reference) هست: فقط با تغییر یک عدد در URL، به اطلاعات بقیه کاربرا دسترسی پیدا می‌کنی.

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

💻 **مثال عملی:**
```
# درخواست اصلی کاربر
GET /api/invoices/1337

# مهاجم فقط ID رو تغییر می‌ده
GET /api/invoices/1338
GET /api/invoices/1339

# اگه سرور چک نکنه ownership:
→ اطلاعات فاکتور بقیه لو می‌ره 💀
```

🔗 **ابزار/منبع:** Burp Suite + Autorize Extension

#OWASP #WebSecurity #امنیت_وب #IDOR #AccessControl

@codacker_ir

―――――――――――――――――
🎓 مسترکلاس یادگیری هک از صفر تا حرفه‌ای
🔗 codacker.ir/product/hs-masterclass
🔥4❤2
🏹 **تکنیک‌های شکار باگ که مبتدی‌ها نادیده می‌گیرن**

اکثر هانترهای تازه‌کار مستقیم میرن سراغ XSS و SQLi، ولی باگ‌های جذاب‌تر جای دیگه‌ان.

**IDOR اولین دوست شماست**
وقتی یه endpoint داری مثل `/api/user/1234/profile`، همون لحظه باید عدد رو عوض کنی. این ساده‌ترین و پردرآمدترین باگ برای شروعه. شرکت‌ها هنوز هم این اشتباه رو تکرار می‌کنن.

**به Response‌ها بیشتر از Request‌ها نگاه کن**
خیلی وقتا سرور اطلاعات اضافی برمی‌گردونه که توی UI نمایش داده نمیشه. ایمیل ادمین، توکن‌های داخلی، یا فیلدهای حساس. Burp رو باز کن و هر response رو کامل بخون.

**جاهایی که همه رد میشن**
فایل‌های JS، صفحات 403، endpoint‌های قدیمی توی robots.txt و sitemap.xml. اینا معدن طلای واقعی‌ان چون رقابت کمتره.

💻 **مثال عملی:**
```bash
# پیدا کردن endpoint‌های پنهان از فایل‌های JS
cat target.js | grep -oE '"\/api\/[^"]+' | sort -u

# تست سریع IDOR
for i in {1..100}; do curl -s "https://target.com/api/user/$i" | grep -q "email" && echo "IDOR at user $i"; done
```

🔗 **ابزار/منبع:** Burp Suite + LinkFinder

#BugHunting #هانت #Recon #IDOR

@codacker_ir

―――――――――――――――――
🎓 مسترکلاس یادگیری هک از صفر تا حرفه‌ای
🔗 codacker.ir/product/hs-masterclass
❤2👍1👏1
🔐 **حمله IDOR: وقتی یک عدد ساده، کل دیتابیس رو لو میده**

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

**IDOR یا Insecure Direct Object Reference** زمانی رخ میده که سرور بدون اعتبارسنجی مناسب، به یه شناسه (مثل user_id یا order_id) اعتماد می‌کنه. کافیه مهاجم عدد ۱۰۲۳ رو به ۱۰۲۴ تغییر بده و به اطلاعات کاربر دیگه دسترسی پیدا کنه.

این باگ توی OWASP Top 10 زیرمجموعه **Broken Access Control** قرار داره و دلیلش معمولاً یه اشتباه رایج توسعه‌دهنده‌هاست: فرض بر اینکه "کاربر این URL رو نمی‌بینه پس امنه" 🙄

برای تست، هر جا پارامتر عددی دیدی (id, uid, doc, file) تغییرش بده. Sequential باشه؟ جای شک داره. UUID هم همیشه امن نیست اگه predictable باشه.

💻 **مثال عملی:**
```
# درخواست اصلی کاربر
GET /api/invoices?id=4521

# تست IDOR - تغییر شناسه
GET /api/invoices?id=4522
GET /api/invoices?id=4520

# با Burp Intruder اتوماتیک تست کن
# Payload: Numbers 1-10000
```

🔗 **ابزار/منبع:** Burp Suite + Autorize Extension

#WebHacking #هک_وب #OWASP #IDOR #BugBounty

@codacker_ir

―――――――――――――――――
🎓 مسترکلاس یادگیری هک از صفر تا حرفه‌ای
🔗 codacker.ir/product/hs-masterclass
👍3
یه عدد. همین.


۲۰۱۹، یه محقق امنیتی داشت تو پنل کاربری یه فروشگاه آنلاین ایرانی گشت می‌زد. رفت روی صفحه‌ی سفارش‌هاش. URL این بود:

```
/orders/detail?id=1047
```

یه چیزی توی ذهنش کلیک کرد. عدد رو عوض کرد:

```
/orders/detail?id=1046
```

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

---

این IDOR هست — Insecure Direct Object Reference. یعنی سرور مستقیم به یه آبجکت ارجاع می‌ده (مثل ID سفارش)، بدون اینکه چک کنه این کاربر **اجازه** داره اون رو ببینه یا نه. احراز هویت هست، Authorization نیست — اینجاست که اکثرا اشتباه می‌کنن.

---

IDOR فقط توی URL نیست. توی body درخواست‌های POST هم پیدا می‌شه:

```json
{
"user_id": 5821,
"action": "get_profile"
}
```

عدد رو عوض کن. اگه سرور جواب داد — آسیب‌پذیری پیدا کردی.

---

این باگ به‌قدری ساده‌ست که خیلی‌ها جدی نمی‌گیرنش — ولی توی گزارش‌های HackerOne، سال‌هاست جزو پردرآمدترین باگ‌هاست. چرا؟ چون تاثیرش مستقیمه. داده‌ی واقعی، آدم‌های واقعی.

وقتی داری یه اپلیکیشن تست می‌کنی، با دو تا اکانت مختلف وارد شو. ID‌های اکانت اول رو با اکانت دوم تست کن. همین.

#IDOR

@codacker_ir

**هک یه ابزار نیست. یه طرز فکره.**
❤‍🔥3❤2