🔍 Parameter Tampering | آسیبپذیریهای منطقی
🎯 امروز میخوام یکی از باگهای منطقی رو کامل براتون باز کنم. جایی که میشه با دستکاری ساده پارامترها، باگهای پولساز پیدا کرد!
💎 چی هست این پارامتر تمپرینگ؟
ساده بگم: وقتی مقادیری که کاربر به سرور میفرسته، درست اعتبارسنجی نمیشن!
🔍 کجا دنبالش بگردیم؟
1️⃣ فرایندهای خرید:
{
"price": "100000",
"discount": "10",
"shipping_cost": "15000",
"quantity": "2",
"currency": "IRR",
"is_vip": false
}
2️⃣ پروفایل و دسترسیها:
{
"user_id": "123",
"role": "user",
"permissions": ["read"],
"is_admin": false
}
3️⃣ فرمهای ثبت نام و لاگین:
{
"email_verified": false,
"phone_verified": false,
"2fa_enabled": false
}
🛠 روشهای تست:
1. تغییر مقادیر عددی:
- صفر یا منفی کردن قیمتها
- افزایش تخفیفها
- دستکاری تعداد محصول
{
"price": "-1",
"discount": "100",
"quantity": "999999"
}
2. تغییر مقادیر بولین:
- true/false رو برعکس کنید
- 1/0 رو تست کنید
- yes/no رو امتحان کنید
{
"is_vip": true,
"has_discount": 1,
"premium": "yes"
}
3. تغییر نوع داده:
- عدد به رشته
- رشته به عدد
- آرایه به رشته
{
"quantity": "2e3",
"price": [100, 200],
"discount": {"value": 90}
}
🔧 ابزارهای کاربردی:
- Burp Suite Pro (کلاسیک!)
- Arjun (پارامتر فایندر)
- Param Miner (پیدا کردن پارامترهای مخفی)
📍 جاهای مهم برای چک کردن:
1. Headers:
X-Original-Price: 100000
X-Role: admin
X-Permissions: full
2. Hidden Fields:
3. Cookies:
role=user; permissions=basic; is_premium=false
💡 تکنیکهای پیشرفته:
1. Chain کردن پارامترها:
{
"discount": "10",
"additional_discount": "20",
"special_discount": "30"
}
2. Race Conditions با پارامترها:
- همزمان چند درخواست با مقادیر مختلف
- تست وضعیتهای مختلف حساب
3. Logic Bypass:
{
"total": 100,
"discount": 110, // تخفیف بیشتر از کل مبلغ
"final_price": -10
}
🚨 نکات مهم:
1. همیشه درخواستها رو ذخیره کنید
2. گزارشهای دقیق با POC بنویسید
3. Impact رو خوب توضیح بدید
⚡️ چند ترفند ویژه:
- پارامترهای جدید اضافه کنید
- مقادیر رو با کاراکترهای خاص (space, null, emoji) پر کنید
- از حروف فارسی استفاده کنید
- JSON به XML تبدیل کنید
🎯 بهترین سناریوها برای بانتی بیشتر:
1. دور زدن محدودیتهای مالی
2. دسترسی به اطلاعات دیگران
3. افزایش سطح دسترسی
4. دور زدن تاییدیههای امنیتی
✍️ و در اخر اگر دوست داشته باشید برای همه آسیب پذیری هایی که مطلب میزارم یک نمونه عملی هم بزارم.
👁این مطلب فقط جنبه آشنایی داره و هر باگ نیاز به مطالعه و تجربه بیشتری داره. برای یادگیری عمیقتر، حتما منابع تخصصی رو مطالعه کنید.
#BugBounty #WebSecurity #HackingTips #BugHunting
©️ Masih|2022
🎯 امروز میخوام یکی از باگهای منطقی رو کامل براتون باز کنم. جایی که میشه با دستکاری ساده پارامترها، باگهای پولساز پیدا کرد!
💎 چی هست این پارامتر تمپرینگ؟
ساده بگم: وقتی مقادیری که کاربر به سرور میفرسته، درست اعتبارسنجی نمیشن!
🔍 کجا دنبالش بگردیم؟
1️⃣ فرایندهای خرید:
{
"price": "100000",
"discount": "10",
"shipping_cost": "15000",
"quantity": "2",
"currency": "IRR",
"is_vip": false
}
2️⃣ پروفایل و دسترسیها:
{
"user_id": "123",
"role": "user",
"permissions": ["read"],
"is_admin": false
}
3️⃣ فرمهای ثبت نام و لاگین:
{
"email_verified": false,
"phone_verified": false,
"2fa_enabled": false
}
🛠 روشهای تست:
1. تغییر مقادیر عددی:
- صفر یا منفی کردن قیمتها
- افزایش تخفیفها
- دستکاری تعداد محصول
{
"price": "-1",
"discount": "100",
"quantity": "999999"
}
2. تغییر مقادیر بولین:
- true/false رو برعکس کنید
- 1/0 رو تست کنید
- yes/no رو امتحان کنید
{
"is_vip": true,
"has_discount": 1,
"premium": "yes"
}
3. تغییر نوع داده:
- عدد به رشته
- رشته به عدد
- آرایه به رشته
{
"quantity": "2e3",
"price": [100, 200],
"discount": {"value": 90}
}
🔧 ابزارهای کاربردی:
- Burp Suite Pro (کلاسیک!)
- Arjun (پارامتر فایندر)
- Param Miner (پیدا کردن پارامترهای مخفی)
📍 جاهای مهم برای چک کردن:
1. Headers:
X-Original-Price: 100000
X-Role: admin
X-Permissions: full
2. Hidden Fields:
3. Cookies:
role=user; permissions=basic; is_premium=false
💡 تکنیکهای پیشرفته:
1. Chain کردن پارامترها:
{
"discount": "10",
"additional_discount": "20",
"special_discount": "30"
}
2. Race Conditions با پارامترها:
- همزمان چند درخواست با مقادیر مختلف
- تست وضعیتهای مختلف حساب
3. Logic Bypass:
{
"total": 100,
"discount": 110, // تخفیف بیشتر از کل مبلغ
"final_price": -10
}
🚨 نکات مهم:
1. همیشه درخواستها رو ذخیره کنید
2. گزارشهای دقیق با POC بنویسید
3. Impact رو خوب توضیح بدید
⚡️ چند ترفند ویژه:
- پارامترهای جدید اضافه کنید
- مقادیر رو با کاراکترهای خاص (space, null, emoji) پر کنید
- از حروف فارسی استفاده کنید
- JSON به XML تبدیل کنید
🎯 بهترین سناریوها برای بانتی بیشتر:
1. دور زدن محدودیتهای مالی
2. دسترسی به اطلاعات دیگران
3. افزایش سطح دسترسی
4. دور زدن تاییدیههای امنیتی
✍️ و در اخر اگر دوست داشته باشید برای همه آسیب پذیری هایی که مطلب میزارم یک نمونه عملی هم بزارم.
👁این مطلب فقط جنبه آشنایی داره و هر باگ نیاز به مطالعه و تجربه بیشتری داره. برای یادگیری عمیقتر، حتما منابع تخصصی رو مطالعه کنید.
#BugBounty #WebSecurity #HackingTips #BugHunting
©️ Masih|2022