TGViewer
| AmirHossein | | AmirHossein | @amirhdeveloper · 610 subscribers
Post #101 122
#security #bug
دسته بندی Access Control and Data Exposure

باگ Cross-Origin Resource Sharing (CORS) Misconfiguration یک آسیب‌پذیری مرتبط با تنظیمات امنیتی در برنامه‌های وب است که می‌تواند منجر به دسترسی غیر مجاز به منابع مختلف (مثل فایل‌های جاوا اسکریپت یا داده‌های API) در دامنه‌های دیگر شود. این امر ممکن است باعث حملات امنیتی نظیر Cross-Site Request Forgery (CSRF) و دسترسی غیرمجاز از طریق Cross-Site Scripting (XSS) شود.

مثال:

فرض کنید شما یک وب‌سایت با دامنه‌ی example.com دارید که از یک API با دامنه‌ی api.example.org برای دریافت داده‌ها استفاده می‌کند. برای اجازه دسترسی به API، باید تنظیمات CORS در سرور API به درستی تنظیم شده باشد. اما اگر این تنظیمات نادرست باشد، حمله‌کننده می‌تواند از جاوااسکریپت نادرست در وب‌سایت‌های مخرب استفاده کند تا اطلاعات محرمانه‌ی دیگر کاربران یا حتی دسترسی به حساب کاربری آن‌ها را به دست آورد.

// attacker-site.com - Attacking site
<script>
fetch('https://api.example.org/user_data', {
method: 'GET',
headers: {
'Origin': 'https://attacker-site.com'
}
})
.then(response => response.json())
.then(data => {
// Performing malicious operations with received data
})
.catch(error => {
// Error handling
});
</script>

اگر سرور API به‌طور نادرست تنظیمات CORS خود را تنظیم کند و همه‌ی منابع به صورت دسترسی‌پذیر (wildcard) مجاز شوند (مثل Access-Control-Allow-Origin: *)، کد مخرب اجازه دسترسی به داده‌های کاربران از دامنه‌ی مخرب خود را دریافت می‌کند.

روش‌های جلوگیری :

1- سرور API را به‌طور دقیق تنظیم کنید تا تنها به دامنه‌های مجاز به دسترسی دسترسی داشته باشد.
Access-Control-Allow-Origin: https://example.com

2- به جای استفاده از '*' (همه) در هدر Access-Control-Allow-Origin، از دامنه‌های مجاز به دسترسی خودتان استفاده کنید.
Access-Control-Allow-Origin: https://example.com

3- فقط به دامنه‌های مجاز دسترسی دهید و دامنه‌های غیرمجاز را محدود کنید.
Access-Control-Allow-Origin: https://example.com, https://trusted-domain.com

4- تنظیمات CORS را دوره‌ای بررسی کنید و اطمینان حاصل کنید که تنظیمات درستی دارید و منابع مجاز به دسترسی به API شما دسترسی دارند.

.
  • 👍 1
More from @amirhdeveloper
  1. Sep 30, 2026پکیج LaraGram Sentinel منتشر شد؛ یک پنل مانیتورینگ که هیچ چیزی از زیر دستش در نمی‌ره! تمام…
  2. Sep 23, 2026از امروز با کاهش شدید حاکرها مواجه میشیم
  3. Sep 19, 2026🔴 سوال سوم دو Region دارید: US-East و EU-West. کاربران در هر دو Region هستند. سیستم باید…
  4. Sep 19, 2026🟠 سوال دوم فرض کنید Service A به Service B درخواست می‌زند. B به‌دلیل overload، latency با…
  5. Sep 19, 2026🟢 سوال اول فرض کنید یک سرویس backend داریم که به PostgreSQL وصل می‌شود. تعداد requestها ن…
  6. Sep 19, 2026خیلی وقته پست‌های کانال فقط درمورد LaraGram بوده، وقتشه یکم جالب‌ترش کنیم اگر ممبرها هنوز…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →