👍5❤4👏3
Security Code Review #c8
Environment : #PHP
Environment : #PHP
آسیب پذیری کدوم قسمته؟
(اکسپلویت لازم نیست ، همین که با چشم بتونین تشخیص بدین کدوم تیکه آسیب پذیره و آسیب پذیری چی هست کافیه)
پ ن:
این کد چلنج بونس استعدادیابی Blackhole هست. آنچنان تو سناریوهای Real world کاربرد نداره خیلی خیلی کم ، اونم بعضی جاها که به صورت وایت باکس پنتست میشه ، تو بلک باکس هم هست ولی درصدش خیلی پایینه. بیشترین جایی هم که استفاده میشه داخل CTF ها هست.
(جواب داخل کامنت ها هستش)
Which part is vulnerable?
(An exploit is not necessary; just being able to visually identify which part is vulnerable and what the vulnerability is will suffice.)
Note: This code is a bonus challenge for Blackhole talent scouting. It doesn’t have much application in real-world scenarios, very rarely, and only in some cases where white-box pentesting is done. It’s also present in black-box testing, but the percentage is very low. The most common use is in CTFs.
(The answer is in the comments.)
🔥7❤1
Security Code Review #c13
Environment : #PHP
پ ن : بچه ها من یه تایمی نبودم ، درگیر ریکورد کردن یه سری دوره بودم.
یکی از دوره ها JS for bug hunters هست که سعی کردم قسمت هایی که برای برنامه نویس ها هست رو اسکیپ کنم و فقط قسمت هایی که برای Hunter ها نیازه رو آموزش بدم ، امیدوارم جبران اون تایمی ک نبودم باشه :
https://www.huntlearn.com/courses/JS-for-Bug-Bounty-Hunters
Environment : #PHP
قسمت آسیب پذیر کجاست؟
و از همه مهم تر چرا آسیب پذیره ؟
Where is the vulnerable part?
And most importantly, why is it vulnerable?
پ ن : بچه ها من یه تایمی نبودم ، درگیر ریکورد کردن یه سری دوره بودم.
یکی از دوره ها JS for bug hunters هست که سعی کردم قسمت هایی که برای برنامه نویس ها هست رو اسکیپ کنم و فقط قسمت هایی که برای Hunter ها نیازه رو آموزش بدم ، امیدوارم جبران اون تایمی ک نبودم باشه :
https://www.huntlearn.com/courses/JS-for-Bug-Bounty-Hunters
👍8
تو این رایتاپ سعی کردم یه مایندستی که خیلی میتونه بهدردتون بخوره رو تو سناریو واقعی نشونتون بدم.
(آسیبپذیری کیفپول تو یکی از سایتهای ایرانی)
امیدوارم لذت ببرین.
https://huntlearn.com/blogs/Unlimited-wallet-recharge-in-one-of-the-well-known-Iranian-platforms
اگر خوشتون اومد ممنون میشم تو توییتر حمایت کنین.
Twitter
(آسیبپذیری کیفپول تو یکی از سایتهای ایرانی)
امیدوارم لذت ببرین.
https://huntlearn.com/blogs/Unlimited-wallet-recharge-in-one-of-the-well-known-Iranian-platforms
اگر خوشتون اومد ممنون میشم تو توییتر حمایت کنین.
Huntlearn
آکادمی هانت لرن | امنیت سایبری، باگ بانتی و تست نفوذ
شرکت ایمن پژوهان ویرا، با تیمی از متخصصان و افراد با تجربه، تمامی خدمات تست نفوذ، امنسازی و... را به بهترین کیفیت ارائه میدهد.
👏11❤🔥2👍2🔥2
Security Code Review #c15 - Challenge
Environment : #PHP
Environment : #PHP
یه چلنج کد ریو کوچولو داریم ، همراه با جایزه.
فقط کافیه بگین باگ چیه؟ و چجور اکسپلویتش کنیم.
جواب هاتونو به این آیدی بفرستین به این صورت :
باگ فلان
با استفاده از این روش میشه اکسپلویتش کرد.
@Challenge_Answer0o0
از بین 6 نفر اولی که جواب درست رو بگن یه قرعه کشی ریز انجام میشه و برنده یه پیتزا جایزه میگیره.
We have a small code review challenge with a prize.
All you need to do is identify the bug and explain how to exploit it.
Send your answers to this ID in the following format:
Bug Name
This is how you can exploit it.
@Challenge_Answer0o0
Among the first 6 people who provide the correct answer, a small raffle will be held, and the winner will receive a pizza as a prize.
🔥7👍4 4❤2🤣1
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