سلام سلام
حالتون چطوره ؟ امیدوارم که حالتون خوب باشه
امروز اومدم به شما آسیب پذیری CSRF رو که زدم نشون بدم.
مثل همیشه بیاین ببینیم اصلا csrf چی هست.
CSRF مخفف Cross-Site Request Forgery هست. این یه نوع حمله سایبریه که باعث میشه یه کاربر ناخواسته یه کاری رو تو یه اپلیکیشن وب انجام بده که از قبل براش احراز هویت شده.
حالا این چطوری چطوری کار میکنه؟
فرض کن یه وبسایت داری که وقتی یه لینکی رو کلیک میکنی، یه سری درخواست به سرور میفرسته. هکر میتونه یه لینک مخرب درست کنه و تو رو گول بزنه که روش کلیک کنی. وقتی کلیک میکنی، مرورگرت به صورت خودکار درخواست رو با اطلاعات احراز هویت تو میفرسته و سایت فکر میکنه که خودت خواستی اون کار رو انجام بدی، در حالی که اینطور نیست.
اگر بخوام یک مثال هم بزنم
فرض کن یه وبسایت داری که وقتی یه لینکی رو کلیک میکنی، یه سری درخواست به سرور میفرسته. هکر میتونه یه لینک مخرب درست کنه و تو رو گول بزنه که روش کلیک کنی. وقتی کلیک میکنی، مرورگرت به صورت خودکار درخواست رو با اطلاعات احراز هویت تو میفرسته و سایت فکر میکنه که خودت خواستی اون کار رو انجام بدی، در حالی که اینطور نیست.
خب خب حالا که فهمیدیم چیه بیاین بهتون نشون بدم.
اول اینو بگم که برای آسیب پذیری csrf نیاز به دوتا اکانت داریم یکی برای تست و یکی برای exploit
خب آسیب پذیری معمولا تو بخش تغییر یک دیتا از طرف شما اتفاق می افته.
مثلا عوض کردن نام کاربری , رمز عبور , یا عوض کردن ایمیل , حتی عوض کردن عکس پروفایل.
خب صحبت اضافی بسه بریم سر اصل مطلب .

خب این هدف ماست
همینجور که گفتم CSRF معمولا تو بخش تغییر نام کاربری و رمز عبور و ... اتفاق می افته پس میریم و یک اکانت تست میسازیم

خب الان که دارم نگاه میکنم میبینیم اینجا هیچ احراز هویتی برای شماره تلفن ایمیل وجود نداره یعنی شما میتونین هر ایمیل یا شماره ی که دوست دارین بدین و حتی اگه اون ایمیل وجود نداشته باشه(مثل الان ) بازم سایت از ما قبول میکنه(چه سایت مهربونی)
خب حالا که اکانت رو ساختیم لاگین میکنیم
تو آسیب پذیری CSRF یکی از شرط ها اینه که قربانی ما تو اکانتش لاگین کرده باشه

خب ما رمز رو عوض میکنیم و به 123321ali تغییر میدیم و این درخواست رو با برپمون کپچر میکنیم

خب با بخش engagtements tool برپ یک poc csrf میسازیم


خب کپی میکنیم و یک جا سیو میکنیم
پس رمز اکانت رو به 123321ali تغییر دادیم
میریم تو یک مرورگر دیگه تا بتونیم تست کنیم

الان وارد اکانت شدیم
فرض کنید ممدقلی ادمین این سروره
ما میخوایم رمز عبور ایمیلش رو عوض کنیم و از 123321ali بزاریم به roham123

خب این همون csrf poc هست. ما میایم و مقادیر password1 , password2 تغییر میدیم و roham123 میزاریم
سیو میکنیم و در همون مرورگری که روش لاگین شدیم باز میکنیم

به این شکل
حالا کلیک میکنیم و ....


میبینیم که پسورد عوض شد و ما لاگین شدیم
خب دوستان این از csrf
امیدوارم لذت برده باشین
فقط این نکته رو بگم که آسیب پذیری CSRF نیاز به یکم مهندسی اجتماعی داره که قربانی فایل یا سایتی که مقادیر تغییر داده شده روش بارگزاری کردیم باز و قبلش حتما روش لاگین شده باشه تا کارمون با موفقیت انجام بشه .