Code Review
Security Code Review #c15 - Challenge Environment : #PHP یه چلنج کد ریو کوچولو داریم ، همراه با جایزه. فقط کافیه بگین باگ چیه؟ و چجور اکسپلویتش کنیم. جواب هاتونو به این آیدی بفرستین به این صورت : باگ فلان با استفاده از این روش میشه اکسپلویتش کرد. @Cha…
Solution:
آقای افشین فخیم لطف کردن به صورت خیلی تخصصی و خوب توضیح دادن :
نوع آسیب پذیری padding oracle هستش که بدلیل استفاده از mode رمزنگاری CBC و پاسخ کد backend به اشتباه بودن مقادیر padding رخ میده.
یعنی زمانی که هکر در روش منطق رمزگشایی اگر بلاک رمز شده قبل از بلاک هدف به عنوان اولین قدم رمزگشایی XOR شود، هکر برای این شناسایی اسیب پذیری بلاک قبلی را که به عنوان Cipher key بلاک به صورت بایت به بایت از آخر شروع به بروت فورس می کند، این عمل به این علت است که در رمزنگاری CBC اگر یک بلاک 16 بایتی تا 8 بایت آن داده گرفته باشد ۸ بایت دیگر آن به عنوان padding در نظر گرفته می شود الگو تخصیص Padding به این صورت است که به تعداد خانه هایی که از یک بلوک 16 بایتی خالی مانده است عدد خانه های خالی قرار می گیرد. به طور مثال اگر یک بلاک 16 بایتی 8 بایت آن رمز شده و دارای داده کاربر باشد 8 بایت دیگر آن عدد 8 قرار می گیرد.
حالا هکر با استفاده از Brute Force که پیش تر توضیح دادم شروع به کشف بایت به بایت خانه های Padding می کند تا متوجه شود که چه عددی در خانه Padding قرار داد برای مثال اگر در Brute Force و تغییر یک بایت آخر بلاک قبلی که به عنوان Cipher Key بلاک قبلی ما است تغییر کند و بر مبنای XOR 254 کارکتر شود در این Brute Force اگه عدد 8 که عدد صحیح Padding است خطا ندهد یعنی سرور به جز عدد 8 به اعداد دیگر پاسخ خطا می دهد ولی به عدد 8 خطا نمیدهد زیرا معیار صحیح خواندن ساختار رمزنگاری CBC به این صورت است که فقط الگو پیاده سازی Padding در بلوک ها چک می شود این عملکرد موجب رخداد یک آسیب پذیری می شود.
بعد از آنکه هکر تعداد خانه های بایت Padding را شناسایی کرد به خانه بعدی که داده کاربر به صورت رمز شده وجود دارد و به End-Point دریافت کننده این القا را می کند که آن خانه دارای محتویات کاربر هم یک خانه Padding است، یعنی اگر عدد Padding صحیح 8 باشد هکر به طور زیرکانه آن را عدد 9 اعلام می کند با این عمل سرور بایتی که دارای داده کاربر است را به عنوان Padding در نظر میگیرد حالا نحوه عملکرد این عمل به چه صورت است؟
مبنای XOR صورت گرفته بر روی بلاک هدف ما مشخص نیست ما برای آنکه بتوانیم مبنا را به دست بیاوریم ( Cipher Key ) بدین صورت عمل میکنیم که خانه داده اصلی را هم به صورت XOR شده Brute Force کرده تا عدد 9 از آن عملیات XOR خارج شود و سرور به دلیل آنکه عدد Padding صحیح القا شده است خطا ارسال نمی کند. با این کار نتیجه ای که به دست می آوریم مبنای کاراکتری که موجب خروج عدد صحیح 9 در رمزنگاری XOR شده است یک مبنای کشف شده معادله XOR انجام شده بوده که در نقطه آغازین رمزنگاری قرار داشته است، حال به همین روش شروع به کشف تمامی مبنای Cipher Key XOR شده خواهیم کرد و بدین ترتیب کلید XOR کشف می شود و با آن کلید XOR در نهایت داده رمز شده را رمزگشایی می کنیم.
خلاصه: این آسیب پذیری به این دلیل رخ می دهد که طراحی که از این نوع رمزنگاری استفاده کرده است رویه تصدیق بلاک را صرفا Padding بلاک اعلام داشته و بر مبنای آن واکنش به کاربر نشان می دهد همین واکنش موجب می شود که هکر بتواند آسیب پذیری را بهره برداری کند.
خودمم یه ویدیو ریکورد کردم و داخلش به صورت خیلی خلاصه به این آسیب پذیری پرداختم و اکسپلویتش کردم :
https://www.youtube.com/watch?v=fblCp-qCRUA
آقای افشین فخیم لطف کردن به صورت خیلی تخصصی و خوب توضیح دادن :
نوع آسیب پذیری padding oracle هستش که بدلیل استفاده از mode رمزنگاری CBC و پاسخ کد backend به اشتباه بودن مقادیر padding رخ میده.
یعنی زمانی که هکر در روش منطق رمزگشایی اگر بلاک رمز شده قبل از بلاک هدف به عنوان اولین قدم رمزگشایی XOR شود، هکر برای این شناسایی اسیب پذیری بلاک قبلی را که به عنوان Cipher key بلاک به صورت بایت به بایت از آخر شروع به بروت فورس می کند، این عمل به این علت است که در رمزنگاری CBC اگر یک بلاک 16 بایتی تا 8 بایت آن داده گرفته باشد ۸ بایت دیگر آن به عنوان padding در نظر گرفته می شود الگو تخصیص Padding به این صورت است که به تعداد خانه هایی که از یک بلوک 16 بایتی خالی مانده است عدد خانه های خالی قرار می گیرد. به طور مثال اگر یک بلاک 16 بایتی 8 بایت آن رمز شده و دارای داده کاربر باشد 8 بایت دیگر آن عدد 8 قرار می گیرد.
حالا هکر با استفاده از Brute Force که پیش تر توضیح دادم شروع به کشف بایت به بایت خانه های Padding می کند تا متوجه شود که چه عددی در خانه Padding قرار داد برای مثال اگر در Brute Force و تغییر یک بایت آخر بلاک قبلی که به عنوان Cipher Key بلاک قبلی ما است تغییر کند و بر مبنای XOR 254 کارکتر شود در این Brute Force اگه عدد 8 که عدد صحیح Padding است خطا ندهد یعنی سرور به جز عدد 8 به اعداد دیگر پاسخ خطا می دهد ولی به عدد 8 خطا نمیدهد زیرا معیار صحیح خواندن ساختار رمزنگاری CBC به این صورت است که فقط الگو پیاده سازی Padding در بلوک ها چک می شود این عملکرد موجب رخداد یک آسیب پذیری می شود.
بعد از آنکه هکر تعداد خانه های بایت Padding را شناسایی کرد به خانه بعدی که داده کاربر به صورت رمز شده وجود دارد و به End-Point دریافت کننده این القا را می کند که آن خانه دارای محتویات کاربر هم یک خانه Padding است، یعنی اگر عدد Padding صحیح 8 باشد هکر به طور زیرکانه آن را عدد 9 اعلام می کند با این عمل سرور بایتی که دارای داده کاربر است را به عنوان Padding در نظر میگیرد حالا نحوه عملکرد این عمل به چه صورت است؟
مبنای XOR صورت گرفته بر روی بلاک هدف ما مشخص نیست ما برای آنکه بتوانیم مبنا را به دست بیاوریم ( Cipher Key ) بدین صورت عمل میکنیم که خانه داده اصلی را هم به صورت XOR شده Brute Force کرده تا عدد 9 از آن عملیات XOR خارج شود و سرور به دلیل آنکه عدد Padding صحیح القا شده است خطا ارسال نمی کند. با این کار نتیجه ای که به دست می آوریم مبنای کاراکتری که موجب خروج عدد صحیح 9 در رمزنگاری XOR شده است یک مبنای کشف شده معادله XOR انجام شده بوده که در نقطه آغازین رمزنگاری قرار داشته است، حال به همین روش شروع به کشف تمامی مبنای Cipher Key XOR شده خواهیم کرد و بدین ترتیب کلید XOR کشف می شود و با آن کلید XOR در نهایت داده رمز شده را رمزگشایی می کنیم.
خلاصه: این آسیب پذیری به این دلیل رخ می دهد که طراحی که از این نوع رمزنگاری استفاده کرده است رویه تصدیق بلاک را صرفا Padding بلاک اعلام داشته و بر مبنای آن واکنش به کاربر نشان می دهد همین واکنش موجب می شود که هکر بتواند آسیب پذیری را بهره برداری کند.
خودمم یه ویدیو ریکورد کردم و داخلش به صورت خیلی خلاصه به این آسیب پذیری پرداختم و اکسپلویتش کردم :
https://www.youtube.com/watch?v=fblCp-qCRUA
YouTube
Padding Oracle Attack - چیست و چگونه رخ میدهد ؟
🔎 توضیحات :
تو این ویدیو به صورت خیلی ساده درمورد آسیب پذیری Padding Oracle یاد میگیریم و یه چلنج رو باهم دیگه حل میکنیم.
اگر میخواین درمورد رمزنگاری AES و Padding بیشتر بدونین 15 دقیقه اول این ویدیو رو ببینید :
https://youtu.be/Th_joX8mack
سورس کد :
…
تو این ویدیو به صورت خیلی ساده درمورد آسیب پذیری Padding Oracle یاد میگیریم و یه چلنج رو باهم دیگه حل میکنیم.
اگر میخواین درمورد رمزنگاری AES و Padding بیشتر بدونین 15 دقیقه اول این ویدیو رو ببینید :
https://youtu.be/Th_joX8mack
سورس کد :
…
❤14👎2🤔1 1
بچه ها اگر تا اینجا راضی بودین خوشحال میشم چنل رو برای محتوای بهتر بوست کنین : بوست
Telegram
Code Review
از این کانال حمایت کنید تا بتواند به قابلیتهای اضافی دسترسی پیدا کند.
🏆21👍6❤2👎2 2🤔1
Code Review via @vote
بچهها یه پلن جدید تو ذهنمه نیاز به نظر شما دارم. اگر براتون ویدیو ریکورد بشه و رایتاپ های خوب و فنی رو توضیح بدم و تحلیل کنم ، آیا براتون جالب و کارآمده و ویدیوهارو میبینید؟
anonymous poll
آره ، حوصله ندارم رایتاپ بخونم. – 118
👍👍👍👍👍👍👍 73%
آره ، زبانم خوب نیست رایتاپ بخونم. – 20
👍 12%
نه ، ترجیح میدم بخونم تا ویدیو ببینم. – 20
👍 12%
نه ، حال ندارم ویدیو ببینم. – 4
▫️ 2%
👥 162 people voted so far.
anonymous poll
آره ، حوصله ندارم رایتاپ بخونم. – 118
👍👍👍👍👍👍👍 73%
آره ، زبانم خوب نیست رایتاپ بخونم. – 20
👍 12%
نه ، ترجیح میدم بخونم تا ویدیو ببینم. – 20
👍 12%
نه ، حال ندارم ویدیو ببینم. – 4
▫️ 2%
👥 162 people voted so far.
#نگاه_نفوذگر_قسمت_1
نسبت به رای هایی که دادین تصمیم بر این شد که اپیزودهای نگاه نفوذ گر رو درست کنم.
داستان چیه؟
من میام و یه سری رایت اپ ها و ریپورت های خفن که میتونن مایندست یا دانش خیلی خوبی رو بهتون اضافه کنن برمیدارم و به زبان ساده توضیحش میدم. ( خیلی خلاصه دور هم میشینیم رایت اپ میخونیم )
قسمت اول درمورد رایت اپ drbrix که میتونست با ترکیب خلاقیت + نگاه Out of box حساب استیمشو به صورت نامحدود شارژ کنه.
https://youtu.be/gPphv_KpSyY
نسبت به رای هایی که دادین تصمیم بر این شد که اپیزودهای نگاه نفوذ گر رو درست کنم.
داستان چیه؟
من میام و یه سری رایت اپ ها و ریپورت های خفن که میتونن مایندست یا دانش خیلی خوبی رو بهتون اضافه کنن برمیدارم و به زبان ساده توضیحش میدم. ( خیلی خلاصه دور هم میشینیم رایت اپ میخونیم )
قسمت اول درمورد رایت اپ drbrix که میتونست با ترکیب خلاقیت + نگاه Out of box حساب استیمشو به صورت نامحدود شارژ کنه.
https://youtu.be/gPphv_KpSyY
11👏49❤10👍5 5🤔1🆒1 1
Security Code Review #c17
Environment : #JavaScript
Environment : #JavaScript
آسیب پذیری کدوم قسمته و چجور اکسپلویتش کنیم ؟
The vulnerability is in which part and how can we exploit it?
👍9 3🔥1
#نگاه_نفوذگر_قسمت_2
تو این قسمت میخوایم مسیری که یک هکر طی کرده تا بتونه حساب هرشخصی رو takeover کنه ، باهم ببینیم.
تمام سناریوهایی که تست کرده ، تسلیم نشدنش و نگاه Out of box میتونه نکات جذاب این رایت اپ باشه.
https://youtu.be/DXcBllbQsWg
تو این قسمت میخوایم مسیری که یک هکر طی کرده تا بتونه حساب هرشخصی رو takeover کنه ، باهم ببینیم.
تمام سناریوهایی که تست کرده ، تسلیم نشدنش و نگاه Out of box میتونه نکات جذاب این رایت اپ باشه.
https://youtu.be/DXcBllbQsWg
🔥10👏4❤2❤🔥2👍1
#نگاه_نفوذگر_قسمت_3
تو این قسمت میبینیم که یک هکر چجوری با نگاهی متفاوت میتونست تمام ویدیوهای private داخل یوتیوب رو مشاهده کنه و بابتش 4 هزار دلار بانتی گرفت.
این رایت اپ میتونه مایندست خیلی خوبی برای کار کردن با کمپانی های بزرگ بهتون بده.
https://youtu.be/6g3P0bNmss4
تو این قسمت میبینیم که یک هکر چجوری با نگاهی متفاوت میتونست تمام ویدیوهای private داخل یوتیوب رو مشاهده کنه و بابتش 4 هزار دلار بانتی گرفت.
این رایت اپ میتونه مایندست خیلی خوبی برای کار کردن با کمپانی های بزرگ بهتون بده.
https://youtu.be/6g3P0bNmss4
دیدین یه سری تارگت ها هستن که بخاطر ریت لیمیت سفت و سخت نمیزارن ما فاز انجام بدیم ؟
تو این ویدیو اومدیم و بهترین روش هایی که برای دور زدن ریت لیمیت هستن و از همه مهم تر نیاز به هزینه ای هم ندارن رو مورد بررسی قرار دادیم.
https://youtu.be/jUnPceiks1E
توییتر من :
https://x.com/Maverick_0o0
📱 چنل تلگرام بررسی کدهای آسیب پذیر :
https://news.1rj.ru/str/CodeReview0o0
تو این ویدیو اومدیم و بهترین روش هایی که برای دور زدن ریت لیمیت هستن و از همه مهم تر نیاز به هزینه ای هم ندارن رو مورد بررسی قرار دادیم.
https://youtu.be/jUnPceiks1E
توییتر من :
https://x.com/Maverick_0o0
📱 چنل تلگرام بررسی کدهای آسیب پذیر :
https://news.1rj.ru/str/CodeReview0o0
YouTube
Rate Limit Bypass [Advance] - تمام روش های دور زدن ریت لیمیت
🔎 توضیحات :
دیدین یه سری تارگت ها هستن که بخاطر ریت لیمیت سفت و سخت نمیزارن ما فاز انجام بدیم ؟
تو این ویدیو اومدیم و بهترین روش هایی که برای دور زدن ریت لیمیت هستن و از همه مهم تر نیاز به هزینه ای هم ندارن رو مورد بررسی قرار دادیم.
توییتر من :
https://…
دیدین یه سری تارگت ها هستن که بخاطر ریت لیمیت سفت و سخت نمیزارن ما فاز انجام بدیم ؟
تو این ویدیو اومدیم و بهترین روش هایی که برای دور زدن ریت لیمیت هستن و از همه مهم تر نیاز به هزینه ای هم ندارن رو مورد بررسی قرار دادیم.
توییتر من :
https://…
🔥11 5❤🔥2👍1
#نگاه_نفوذگر_قسمت_4
یه روش جدید برای هک تلگرام !
تو این قسمت میبینیم که اگر یه ریسرچ نتیجه اصلیش با شکست مواجه بشه ، بازم میتونه برامون از یه زاویه دیگه مفید باشه.
پ ن : این روش پچ شده ولی قشنگ میشد با این روش تلگرام دوست و رفیق و آشنارو هک کرد (((:
فقط کافی بود بگی ممد میخوام سایت فلانو باز کنم گوشیتو 10 ثانیه میدی ((:
https://youtu.be/4HWdZ5pGuL8
یه روش جدید برای هک تلگرام !
تو این قسمت میبینیم که اگر یه ریسرچ نتیجه اصلیش با شکست مواجه بشه ، بازم میتونه برامون از یه زاویه دیگه مفید باشه.
پ ن : این روش پچ شده ولی قشنگ میشد با این روش تلگرام دوست و رفیق و آشنارو هک کرد (((:
فقط کافی بود بگی ممد میخوام سایت فلانو باز کنم گوشیتو 10 ثانیه میدی ((:
https://youtu.be/4HWdZ5pGuL8
👍6 6🆒2🔥1
Code Review
Security Code Review #c20 Environment : #NodeJS Credits : Link برای پیدا کردن این آسیب پذیری مجبور شدم ی ریسرچ ریز انجام بدم، 3-4 ساعت طول کشید ولی خیلی بهم چسبید. چجوری Account Takeover کنیم ؟ (ویدیوشو تا فردا آپلود میکنم)
تو این ویدیو میبینیم که چجوری با Code Review و Research ، یک ناهماهنگی بین رفتار MySQL و Domain Parser پیدا کردم و به Zero Click Account Takeover رسیدم.
https://www.youtube.com/watch?v=Y05pvgEms3Q
ریسرچ اصلی برای (Twitter)
اگر خوشتون اومد ممنون میشم تو توییتر لایک و ریپوستش کنین ((:
https://x.com/Maverick_0o0/status/1842072104226672985
https://www.youtube.com/watch?v=Y05pvgEms3Q
ریسرچ اصلی برای (Twitter)
اگر خوشتون اومد ممنون میشم تو توییتر لایک و ریپوستش کنین ((:
https://x.com/Maverick_0o0/status/1842072104226672985
YouTube
Zero-Click Account Takeover: Inconsistency between Domain Parsing and MySQL Collation behavior
🔎 توضیحات :
چجوری با Code Review و Research ، یک ناهماهنگی بین رفتار MySQL و Domain Parser پیدا کردم و به Zero Click Account Takeover رسیدم.
لینک نوشن :
https://heady-hat-c49.notion.site/PunyCode-Challenge-115db480342881aba8edfbdfccc98fba?pvs=4
لینک گیت…
چجوری با Code Review و Research ، یک ناهماهنگی بین رفتار MySQL و Domain Parser پیدا کردم و به Zero Click Account Takeover رسیدم.
لینک نوشن :
https://heady-hat-c49.notion.site/PunyCode-Challenge-115db480342881aba8edfbdfccc98fba?pvs=4
لینک گیت…
👍14🔥7 4👏1😱1
Security Code Review #c21
Environment : #NodeJS
پ ن : بچه ها من یه تایمی بخاطر برن اوت شدن فعالیت نداشتم ولی الان دوباره برگشتم و اگر همچی اوکی پیش بره یه سری فعالیت های به مراتب خفن تر و بهتر تو ذهن دارم که قطعا کمک شمارو هم نیازه پس بریم ببینیم چه میکنیم.
Environment : #NodeJS
آسیب پذیری چیه و چرا ؟
سطح : آسون
What is the vulnerability ?
(This one is easy.)
پ ن : بچه ها من یه تایمی بخاطر برن اوت شدن فعالیت نداشتم ولی الان دوباره برگشتم و اگر همچی اوکی پیش بره یه سری فعالیت های به مراتب خفن تر و بهتر تو ذهن دارم که قطعا کمک شمارو هم نیازه پس بریم ببینیم چه میکنیم.
👍18👏3🔥1
#نگاه_نفوذگر_قسمت_5
تو این قسمت رایت اپ voorivex رو میخونیم و میبینیم چجوری با استفاده از متد DNS Rebinding تو سایت hashnode تونست به ATO برسه.
https://youtu.be/aXEwj3A3bUM
تو این قسمت رایت اپ voorivex رو میخونیم و میبینیم چجوری با استفاده از متد DNS Rebinding تو سایت hashnode تونست به ATO برسه.
https://youtu.be/aXEwj3A3bUM
🔥13👍3
Security Code Review #c22
Environment : #Java
Environment : #Java
چجوری پیلود XSS رو اجرا کنیم ؟
سطح : متوسط
پ ن :
!?html applies HTML escaping to the input.
اگر خواستین عملی تست کنین :
https://4t64ubva.xssy.uk
How to execute an XSS payload?
Level: Medium
!?html applies HTML escaping to the input. If you want to test it practically:
https://4t64ubva.xssy.uk
👍12❤7
پیشنهاد میکنم حتما این رایتآپ رو نگاه کنید.
نکاتی که حائز اهمیت هستش :
- شناخت و درک تارگت
- ساده نگاه کردن به قضیه ( حتما لازم نیست دنبال یه روش عجیب غریب باشین تا یه باگ با ایمپکت خیلی بالا بزنین )
- تارگت جز تارگتای پابلیک باگکراود بود ، پس از این نترسین که ای بابا اینو که هانترای دیگه رنده کردن ، آسیبپذیری همیشه هست.
- اگر عملیات CRUD برای فانکشن X باگ خاصی نداشت ، دلیل نمیشه برای فانکشن Y هم safe باشه.
نکاتی که حائز اهمیت هستش :
- شناخت و درک تارگت
- ساده نگاه کردن به قضیه ( حتما لازم نیست دنبال یه روش عجیب غریب باشین تا یه باگ با ایمپکت خیلی بالا بزنین )
- تارگت جز تارگتای پابلیک باگکراود بود ، پس از این نترسین که ای بابا اینو که هانترای دیگه رنده کردن ، آسیبپذیری همیشه هست.
- اگر عملیات CRUD برای فانکشن X باگ خاصی نداشت ، دلیل نمیشه برای فانکشن Y هم safe باشه.
👍14🔥1