TGViewer
Dagen | Security Dagen | Security @dagen_security · 856 subscribers
Post #368 849
Dagen | Security توی پست های بعدی قراره بریم سراغ حمله csrf . همونطور که میدونید این حمله یه حمله پنهانه و میتونه شدت اسیپ پذیری بالایی داشته باشه . برسی میکنیم چه پارامتر ها و چه چیزهایی باعث شکست خوردن این حمله میشه و مرورگر چجوری به عنوان یه دستیار ماهیت این حمله رو شکل…
پیرامون پست قبلی قراره توی پست راجب حمله csrf حرف بزنیم و به طور خلاصه چند تا از مفهموم اگاه بشیم که اگر ما به یه درخواست برای csrf به نوعی چشممون تیز شد چه پارامتر هایی رو باید در نظر بگیریم قبل از اکسپولیت و انجام این حمله .

اولین سوالی که باید از خودمون بپرسیم اینه : csrf چیه ؟

وقتی من به عنوان یه مهاجم کاربری مجبور کنم کاری کنه که نمیخواد این میشه crsf .
خب یه سوال دیگه برامون پیش میاد : من چجوری میتونم کاربر رو مجبور به انجام کاری کنم ؟

دقیقا قراره راجب همین موضوع صحبت کنیم ; ما میتونیم از طرف کاربر درخواست ارسال کنیم و اون درخواست میتونه کوکی داشته باشه و اگه اون کوکی privilage باشه چه اتفاقی میوفته !؟

موضوع اول : درخواستی که کاربر میخواد انجام بده حتما باید با یه state یا یه حالتی داخلش تغیر بکنه مثال forget_password که پسورد یوزر داخلش تغیر میکنه

با موضوع اول توضیحم تکمیل تر شد باید کاربر رو مجبور به کاری کنیم که نمیخواد و توی این کار باید حتما یه استیت و یا پروفایل و یا پسورد کاربر تغیر بکنه
یعنی کاربر باید http requset بفرسته .

بریم سراغ شرط های این اسیپ پذیری :

1 - برای اینکه یه وبسایت به csrf اسیپ پذیر باشه حتما باید با کوکی کار کنه چون مرورگر به صورت اتوماتیک رو میزاره توی هر درخواست هر چیزی جز این باعث اجرا نشدن حمله میشه
2 - قوانین same site نباید فعال باشه - حمله شکست میخوره ! مگه اینکه شرایط خاصی وجود داشته باشه
3- درخواست http که ما میخوایمcsrf کنیم باید حتما simple باشه و گرنه یه preflight زده میشه . یعنی چی شما از کجا میفهمی یه درخواست simple هست؟

HTTP methods: GET,POST,HEAD
headers: referer,user-agent,cookie (browsers header automaticity send )
content-type: application/X-www-form-url-encoded , text/plain , multipart/form-data


4- فرض کنیم پکت HTTP ما همه این شرایط رو داشت ایا csrf ممکنه ؟

نه یه چیز دیگه حتما باید چک بشه ,درخواستی که شما ارسال میکنی , حتما باید تکرار پذیر باشه و توی بادی نباید پارامتری یا شناسه ای داشته باشه که توی هر درخواست تغیر کنه اگه یه رندوم استرینگ و یا نامبر مخصوص یه کاربر باشه این باعث شکست خوردن حمله میشه ( کاری که وردپرس میکنه !)

بریم سراغ پروتکشن ها , برنامه نویس ها برای جلوگیری از این اسیپ پذیری کجا ها چک های امنیتی رو میزارن !؟

راه اول : گذاشتن csrf token هستش که توی هر درخواست قرار داده میشه و خیلی راه برای دور زدنش وجود داره .

راه دوم : چک کردن ریفرر ( اگه من به عنوان کلاینت چینچ پسورد انجام بدم و ریدارکت بشم ریفرر من خود سایته و ولیده ) پس من اگه حمله انجام بدم ریفرر میشه یه سایت جز سایت اصلی و حمله شکست میخوره و اجرا نمیشه که تقریبا پروتکشن خیلی خوبیه ولی همیشه نمیتونه سیف باشه (کاری که فیسبوک قبلا انجام میداد!)

راه سوم : که من یه راه فول سیف میبینمش اینه که اینه وب سرور توی هر درخواستی که ارسال میکنه یه هدر کاستوم بزاره مثل x-test که با این کار باعث میشه هیچ درخواست simple وجود نداشته باشه و حمله ها شکست میخورن .

درسته از نظر هر کسی میتونه راه های سیف و امن تری وجود داشته باشه.
ولی هر راهی منطقی نیست و کسب کار نسبت به پیچیدگی که دارن همیشه نمیتونن از اون راه ها استفاده کنن و ممکنه یه جای کد به هم بخوره و یه فیچر دیگه نا امن بشه .

امیدوارم یه درک نسبی راجب csrf گرفته باشید و هینت گرفته باشید که شرایط اجرای این حمله دقیقا چیه , حمایت از پست ها فراموش نشه 🌷

@Dagen_security
  • ❤ 9
More from @dagen_security
  1. Sep 3, 2026کتابهای زیادی از سمت ما به لطف حمایت و همراهی تون ترجمه فارسی شده توی این پست براتون ۴ نقش…
  2. Jul 10, 2026چجوری با دستکاری لاگین تایپ(LoginType) 2factor رو دور زدم و اکانت تیک اور کردم سناریو این…
  3. Jul 2, 2026خب مثل اینکه انرژی برای یه برسی یه سناریو دیگه پایینه پایینه میتونیم کاتش کنیم ولی از اونج…
  4. Jul 1, 2026نام کتاب : IRAN'S Cyber Threat ✍مترجم : Typhon تاریخ انتشار : ۱۰ تیر ۱۴۰۵ #رایگان_برای_اعض…
  5. Jul 1, 2026اگه می‌خوای بدونی پشت پرده‌ی حملات سایبری منتسب به ایران چی می‌گذره، این کتاب دقیقاً همون…
  6. Jul 1, 2026ترجمه فارسی کتاب Iran Cyber Threats رو خوندم و عجیب و غریب به دل نشست ، کتاب کار درست و سن…
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 →