وقتتون بخیر 🌷
یکی از دوستان ترجمه فارسی کتاب جامع Web application security رو موجود کرده . کتاب کاملا دستی و با لحن عامیانه و قابل فهم نوشته شده و چینش زبان فارسی و انگلیسیش جوری نیست که متن بهم خورده باشه .
علاوه بر اون مثال های واقعی بهش اضافه شده که به درک عمیقتر ساختار وب کمک میکنه .
دوستانی که به این کتاب نیاز دارن میتونن به ایدی ایشون پیام بدن : 👇
@bookmind369
یکی از دوستان ترجمه فارسی کتاب جامع Web application security رو موجود کرده . کتاب کاملا دستی و با لحن عامیانه و قابل فهم نوشته شده و چینش زبان فارسی و انگلیسیش جوری نیست که متن بهم خورده باشه .
علاوه بر اون مثال های واقعی بهش اضافه شده که به درک عمیقتر ساختار وب کمک میکنه .
دوستانی که به این کتاب نیاز دارن میتونن به ایدی ایشون پیام بدن : 👇
@bookmind369
💯3👍1
چجوری یه Command injection ساده رو شکار کردم ؟
تارگت من یه کمپانی بزرگ از محصولات فروش بود و یه مین صفحه داشت که امنه امن بود پس تصمیم گرفتم به جای اپلیکشن مپینگ برم سراغ واید ریکان .
اولین کاری که کردم اسم کمپانی رو وبسایت هایی مثل bgpview سرچ زدم تا ببینم ایا میتونم یه asn ثبت شده با نام کامپانی پیداکنم یا نه ؟
از شودان استفاده کردم برای دامین دیسکاوری بیشتر و از تمام تولز ها برای سرچ استراخ دامین استفاده کردم و نتایج تکراری رو حذف کردم با dnsx تمام اپی های هر دامین رو برسی کردم و یک asn توجه منو به به خودش جلب کرد
رنج اپیشو کشیدم بیرون . یک asn خریداری شده توسط خود کمپانی بود و هر رنج اپی که توی اون وجود داشت متعلق به زیر دامنه سایت هدف من بود .
روی هر کدوم از اون رنج اپی ها ابزار Httpx رو ران کردم تا ببینم که ایا سرویس http روی این رنج فعاله یا نه ؟
یک دامین برای من بالا اومد که وقتی بازش کردم هیچی نبود و به من استاتوس 404 میداد ایا این جای خوبیه برای کار کردن یا برم برای بعدی ؟
جوابش اینه : قطعا جای خوبیه و باید به عنوان یک مهاجم حتی 403 رو هم فاز کنیم ممکنه یه مسیر گیر بیاریم که سطح دسترسیش کنترل نشده باشه و ما بتونیم محتوا رو ببینیم . شروع کردم روی دامین فاز کردن سنگین که نتایجش این بود :
ممکنه بگین که خب این مسیرایی که بدست اومده که پابلیکه و اطلاعات مهمی توش نیست . ولی طبق تجربه بهتون بگم شما cgi-bin رو ممکنه زیاد دیده باشید حتما مسیر بعدشو با پسوند های مختلف فاز کنید و این نکته اییه که خیلیا اسکیپش میکنن .
بیان بریم سراغ اینکه این cgi-bin چیه ؟
یه روش قدیمیه که برای اجرا کردن اسکریپ های سمت سرور که دقیقا توی دایرکتوری ریشه قرار داره و مجوز خواندن و اجرا کردن روش فعاله و اگر من فایل اسکریپ رو با مرورگرم باز کنم دقیقا اون فایل اجرا میشه و پسوند های اسکریپ هایی که داخلشه معمولا این پسوند هاست .
پس من هینت بهتون دادم که اگر من بیام و مسیر بعد رو اینجوری فاز کنم کاملا نتیجه متفاوته :
و بله یه کلمه پیدا شد به اسم reset و وقتی بازش کردم این استک تریس برام ظاهر شد :
یعنی این پارامتر از این ادرس دریافت نشد پس من توی قدم بعدی اومدم و یه پارامتر بهش دادم .
هیچ اتفاقی نیوفتاد و یه صفحه خالی شد .cgi این اسکریپت رو اجرا کرده ولی مقدارشم مهمه براش ؟ کلمه کلیدی db_prefix رو یه سرچ زدم تا ببینم این پارامتر از کجا میاد ؟
متوجه شدم که db_prefix معمولا برای تعین جدول دیتابیس بین چند تا سیستم استفاده میشه و قاعدتا اگه مقدار اشتباه به اسکریپت بدیم اجرا نمیشه .
کلی این قسمت فاز کردم تا به مقدار درست برسم و سرنخ بگیرم هیچ نتیجه ای نداشت ❌
با خودم فکر کردم چی میشه اگه ورودی من توی فانکشنی بشینه که اون فانکشن دستورات بش اجرا کنه (چون هیچ چیزی توی پشت برای ما ملموس نیست) خروجی من کجا میشینه ؟
هدف من کامند اینجکشن بود پس یه دستور ساده گذاشتم :
اجرا نشد . شاید نیاز به یه جدا کننده داره پس یه %26 هم بهش اضافه کردم .
و بوم خروجی دستور برای من پرینت شد و من دسترسی شل داشتم 😎
—————
چرا اجرا شد ؟
احتمالا اسکریپت که اون پشت وجود داشت از یه قالب نا امن استفاده میکرد و مستقیما ورودی من روی توی بش اجرا میکرد و اگر دستوری خروجی نداشت بهم هیچی نشون نمیداد ولی اگر از جدا کننده ها استفاده کنم مستقیما خروجی رو لاگ میکنه . این همون ریشه اصلی اسیپ پذیری RCE هستش که ورودی دقیقا توی بدون هیچ سنیتایزی داخل بش یا شل میشینه و خروجی رو لاگ میکنه .
امیدوارم لذت برده باشید و از اشتباهات برنامه نویس استفاده کنید چون جایی برنامه نویس به صورت نا امن داره ورودی رو از ما میگیره و یه بلایی سرش میاره باید روش حساس بشید و وقت مفید بزارید 🌷
@Dagen_security
تارگت من یه کمپانی بزرگ از محصولات فروش بود و یه مین صفحه داشت که امنه امن بود پس تصمیم گرفتم به جای اپلیکشن مپینگ برم سراغ واید ریکان .
اولین کاری که کردم اسم کمپانی رو وبسایت هایی مثل bgpview سرچ زدم تا ببینم ایا میتونم یه asn ثبت شده با نام کامپانی پیداکنم یا نه ؟
از شودان استفاده کردم برای دامین دیسکاوری بیشتر و از تمام تولز ها برای سرچ استراخ دامین استفاده کردم و نتایج تکراری رو حذف کردم با dnsx تمام اپی های هر دامین رو برسی کردم و یک asn توجه منو به به خودش جلب کرد
Company ,inc.
رنج اپیشو کشیدم بیرون . یک asn خریداری شده توسط خود کمپانی بود و هر رنج اپی که توی اون وجود داشت متعلق به زیر دامنه سایت هدف من بود .
روی هر کدوم از اون رنج اپی ها ابزار Httpx رو ران کردم تا ببینم که ایا سرویس http روی این رنج فعاله یا نه ؟
echo 1.1.1.1/24 | mapcidr -silent | httpx -noscript -sc
یک دامین برای من بالا اومد که وقتی بازش کردم هیچی نبود و به من استاتوس 404 میداد ایا این جای خوبیه برای کار کردن یا برم برای بعدی ؟
جوابش اینه : قطعا جای خوبیه و باید به عنوان یک مهاجم حتی 403 رو هم فاز کنیم ممکنه یه مسیر گیر بیاریم که سطح دسترسیش کنترل نشده باشه و ما بتونیم محتوا رو ببینیم . شروع کردم روی دامین فاز کردن سنگین که نتایجش این بود :
ping —> 200
health —> 200
cgi-bin —> 403
ممکنه بگین که خب این مسیرایی که بدست اومده که پابلیکه و اطلاعات مهمی توش نیست . ولی طبق تجربه بهتون بگم شما cgi-bin رو ممکنه زیاد دیده باشید حتما مسیر بعدشو با پسوند های مختلف فاز کنید و این نکته اییه که خیلیا اسکیپش میکنن .
بیان بریم سراغ اینکه این cgi-bin چیه ؟
یه روش قدیمیه که برای اجرا کردن اسکریپ های سمت سرور که دقیقا توی دایرکتوری ریشه قرار داره و مجوز خواندن و اجرا کردن روش فعاله و اگر من فایل اسکریپ رو با مرورگرم باز کنم دقیقا اون فایل اجرا میشه و پسوند های اسکریپ هایی که داخلشه معمولا این پسوند هاست .
.pl , .py , .php , .cgi
پس من هینت بهتون دادم که اگر من بیام و مسیر بعد رو اینجوری فاز کنم کاملا نتیجه متفاوته :
target/cgi-bin/FUZZ.cgi
و بله یه کلمه پیدا شد به اسم reset و وقتی بازش کردم این استک تریس برام ظاهر شد :
'db_prefix' parameter is required
یعنی این پارامتر از این ادرس دریافت نشد پس من توی قدم بعدی اومدم و یه پارامتر بهش دادم .
target/reset.py?db_prefix=test
هیچ اتفاقی نیوفتاد و یه صفحه خالی شد .cgi این اسکریپت رو اجرا کرده ولی مقدارشم مهمه براش ؟ کلمه کلیدی db_prefix رو یه سرچ زدم تا ببینم این پارامتر از کجا میاد ؟
متوجه شدم که db_prefix معمولا برای تعین جدول دیتابیس بین چند تا سیستم استفاده میشه و قاعدتا اگه مقدار اشتباه به اسکریپت بدیم اجرا نمیشه .
کلی این قسمت فاز کردم تا به مقدار درست برسم و سرنخ بگیرم هیچ نتیجه ای نداشت ❌
با خودم فکر کردم چی میشه اگه ورودی من توی فانکشنی بشینه که اون فانکشن دستورات بش اجرا کنه (چون هیچ چیزی توی پشت برای ما ملموس نیست) خروجی من کجا میشینه ؟
هدف من کامند اینجکشن بود پس یه دستور ساده گذاشتم :
db_prefix=echo 1
اجرا نشد . شاید نیاز به یه جدا کننده داره پس یه %26 هم بهش اضافه کردم .
db_prefix=%26echo 1%26
و بوم خروجی دستور برای من پرینت شد و من دسترسی شل داشتم 😎
—————
چرا اجرا شد ؟
احتمالا اسکریپت که اون پشت وجود داشت از یه قالب نا امن استفاده میکرد و مستقیما ورودی من روی توی بش اجرا میکرد و اگر دستوری خروجی نداشت بهم هیچی نشون نمیداد ولی اگر از جدا کننده ها استفاده کنم مستقیما خروجی رو لاگ میکنه . این همون ریشه اصلی اسیپ پذیری RCE هستش که ورودی دقیقا توی بدون هیچ سنیتایزی داخل بش یا شل میشینه و خروجی رو لاگ میکنه .
امیدوارم لذت برده باشید و از اشتباهات برنامه نویس استفاده کنید چون جایی برنامه نویس به صورت نا امن داره ورودی رو از ما میگیره و یه بلایی سرش میاره باید روش حساس بشید و وقت مفید بزارید 🌷
@Dagen_security
🔥23❤7👍6
Dagen (security)
چجوری یه Command injection ساده رو شکار کردم ؟ تارگت من یه کمپانی بزرگ از محصولات فروش بود و یه مین صفحه داشت که امنه امن بود پس تصمیم گرفتم به جای اپلیکشن مپینگ برم سراغ واید ریکان . اولین کاری که کردم اسم کمپانی رو وبسایت هایی مثل bgpview سرچ زدم تا ببینم…
دوستان نکته خیلی مهم راجب این باگ این بود که اگه وبسایت توی خطایی که بهم داد اسم پارامتر رو لو نمیداد پارامتر
ورد لیست هاتونو رو کاستوم کنین و هر پارامتر جدیدی که توی هانتتون بهش بر میخورید دستی اضافه کنید 🤌
db_prefix توی ورد لیست های من وجود نداشت و من باگو میس میدادم :)ورد لیست هاتونو رو کاستوم کنین و هر پارامتر جدیدی که توی هانتتون بهش بر میخورید دستی اضافه کنید 🤌
❤17👍5💯1
دوستان ارادت .
چند تا از عزیزان پیام داده بودن که ماهایی که تازه کاریم چه کتابی رو برای شروع پیشنهاد میکنی ؟
حس کردم این سوال خیلی از بچهاست پس گفتم در قالب یه پست معرفی کنم .
کتاب باگ بانتی بوت کمپ که تصویرشو بالا گذاشتم نقشه راه باگ بانتیه . اگه باگ بانتی رو تازه شروع کردین یا علاقه مندید و میخواین پایه دانش قوی داشته باشید قطعا باید این کتاب رو بخونید چون یه دانش کلی از پرورگرم های باگ بانتی + ریکان + فلوی مهم ترین اسیپ پذیری ها + تنظیمات برپ + گزارش نویسی رو بهتون میده پس اگه از من میشنوین اسکیپش نکنید و حداقل یکبار بخونیدش پس بحثی توش نداریم .
اگه میتونین از چاپ اصلی استفاده کنید و اگه انگلیسی تون اوکیه و میتونین بخونین که چه بهتر . ولی ترجمه فارسیشو میتونین توی گوگل سرچ کنید ولی من اطلاعی ندارم که کدوم ترجمه درست تر و گیراتره و یا میتونین که از این دوستمون که دستی ترجمه میکنه و ترجمشو قبول دارم تهیه کنین .👇
+ در کل کتاب بخونید علاوه بر دانشی که کتاب بهتون اضافه میکنه اگه توی اینده شما به پنتست و یا مصاحبه کاری دعوت بشی با کتاب میتونی فنی و تر و قشنگ تر صحبت کنی و خیلی از تکنیک های جدید فلان باگ از دل همین دسته کتاب ها میزنه بیرون . پس کتاب بخونید و مطمئن شین هر کتابی که میخونین براتون ارزش افزوده داره🌷
@Dagen_security
چند تا از عزیزان پیام داده بودن که ماهایی که تازه کاریم چه کتابی رو برای شروع پیشنهاد میکنی ؟
حس کردم این سوال خیلی از بچهاست پس گفتم در قالب یه پست معرفی کنم .
کتاب باگ بانتی بوت کمپ که تصویرشو بالا گذاشتم نقشه راه باگ بانتیه . اگه باگ بانتی رو تازه شروع کردین یا علاقه مندید و میخواین پایه دانش قوی داشته باشید قطعا باید این کتاب رو بخونید چون یه دانش کلی از پرورگرم های باگ بانتی + ریکان + فلوی مهم ترین اسیپ پذیری ها + تنظیمات برپ + گزارش نویسی رو بهتون میده پس اگه از من میشنوین اسکیپش نکنید و حداقل یکبار بخونیدش پس بحثی توش نداریم .
اگه میتونین از چاپ اصلی استفاده کنید و اگه انگلیسی تون اوکیه و میتونین بخونین که چه بهتر . ولی ترجمه فارسیشو میتونین توی گوگل سرچ کنید ولی من اطلاعی ندارم که کدوم ترجمه درست تر و گیراتره و یا میتونین که از این دوستمون که دستی ترجمه میکنه و ترجمشو قبول دارم تهیه کنین .👇
@bookMind369
+ در کل کتاب بخونید علاوه بر دانشی که کتاب بهتون اضافه میکنه اگه توی اینده شما به پنتست و یا مصاحبه کاری دعوت بشی با کتاب میتونی فنی و تر و قشنگ تر صحبت کنی و خیلی از تکنیک های جدید فلان باگ از دل همین دسته کتاب ها میزنه بیرون . پس کتاب بخونید و مطمئن شین هر کتابی که میخونین براتون ارزش افزوده داره🌷
@Dagen_security
❤32👍10👾1
دوستانی که رو فایل اپلود کار میکنین اگه این پترن رو دیدین با اون قسمت خداحافظی کنین و لطفا روش کار نکنید سیفه 🗿
@Dagen_security
uploader + s3 bucket + revers proxy
@Dagen_security
👍4🗿4❤3
Dagen (security)
دوستانی که رو فایل اپلود کار میکنین اگه این پترن رو دیدین با اون قسمت خداحافظی کنین و لطفا روش کار نکنید سیفه 🗿
uploader + s3 bucket + revers proxy
uploader + s3 bucket + revers proxy
برای دوستانی که متوجه نشدند توضیح میدم .
ببینید شما وقتی داری برای اپلود فایل تست میزنید و حالا مثلا میتونه اپلود عکس و یا پروفایل باشه . وقتی که شما عکسی رو با هر پسوندی بتونی اپلود کنی مرحله بعدش اینه که شما باید بدونی عکسی که اپلود شد دقیقا کجا نشسته ؟
اپلودر های مدرن امروزی از پترن بالایی استفاده میکنن .
عکستون رو اپلود میکنین و عکس میشه توی s3 bucket تارگتتون (وقتی فایل رو از توی باکت باز میکنین چون باکت صرفا یه استوریجه و وب سرور نیست هیچ پسوندی رو اجرا نمیکنه و استاتیک اجرا میکنه)
ولی حالا ما به یک ریورس پراکسی مثل nginx هم نیاز داریم دیگه که دیتا رو با پروکسی از باکت بخونه و بیاره سمت وبسایتمون و nginx دیتای رو استاتیک تحویل میگیره و تحویل میده و فایل فقط دانلود و یا نمایش داده میشه
پس من هر پسوند خطرناکی بزارم با هر پیلودی , هیچ بایپسی نکردم .
هیچکدوم اجرا نمیشه ❌
نکته جالبی بود که گفتم باهاتون به اشتراک بزارم تا زمان بیهوده روش نزارید 🤌
@Dagen_security
ببینید شما وقتی داری برای اپلود فایل تست میزنید و حالا مثلا میتونه اپلود عکس و یا پروفایل باشه . وقتی که شما عکسی رو با هر پسوندی بتونی اپلود کنی مرحله بعدش اینه که شما باید بدونی عکسی که اپلود شد دقیقا کجا نشسته ؟
اپلودر های مدرن امروزی از پترن بالایی استفاده میکنن .
عکستون رو اپلود میکنین و عکس میشه توی s3 bucket تارگتتون (وقتی فایل رو از توی باکت باز میکنین چون باکت صرفا یه استوریجه و وب سرور نیست هیچ پسوندی رو اجرا نمیکنه و استاتیک اجرا میکنه)
ولی حالا ما به یک ریورس پراکسی مثل nginx هم نیاز داریم دیگه که دیتا رو با پروکسی از باکت بخونه و بیاره سمت وبسایتمون و nginx دیتای رو استاتیک تحویل میگیره و تحویل میده و فایل فقط دانلود و یا نمایش داده میشه
پس من هر پسوند خطرناکی بزارم با هر پیلودی , هیچ بایپسی نکردم .
php,noscript,html
هیچکدوم اجرا نمیشه ❌
نکته جالبی بود که گفتم باهاتون به اشتراک بزارم تا زمان بیهوده روش نزارید 🤌
@Dagen_security
❤20👍6❤🔥4
این پیامو برای تویی مینویسم که از این فیلد خسته و نا امیدی و فکر میکنی تمام این مشکلات از از خودت و دانشته .
زیر فشاری ؟ عیبی نداره لطفا جا نزن و همیشه خودتو با روز اولی که امنیتو شروع کردی مقایسه کن .
یادت باشه تو این حوزه رو دوست داری انتخاب کردی که وارد این حوزه بشی اگه چیزی رو دوست داری باید براش بجنگی و دیگه با کار مقایسش نکنی .
در جریانم و میدونم که خیلی از اخبار ها و مردم بهت میگن باگ بانتی رویا فروشیه و فقط افراد خاصی فقط ازش سود میبرن , ولی سوال من ازت اینه انتخاب تو چیه ؟
مهم عمل تو و انتخاب توعه چرا میترسی بری کار کنی و باگ نزنی ؟ چه چیزی باعث میشه خودتو با بقیه مقایسه کنی؟ هیچکس سر راهت نیست تویی و مسیرت .
اگه با طرز تفکر اشتباه یه تارگت رو باز میکنی و نا امیدی تمام وجودت رو میگیره با این فکر : (کدوم هانترها روی این تارگت کار کردن , نه این باگ نداره , نمیتونم باگ بزنم اصلا این تارگت به دانش من نمیخوره )این طرز تفکرارو بنداز دور و تمرین ذهن کن چون فقط چشمتو جلوی باگی که جلوته میبینده .
من گارانتی میدم اونی که امروز از تو بهتره دقیقا همینجایی بوده که تو بودی فقط سخت تر و مداوم تر جنگیده .
بهت میگن عیبی نداره اگه تلاش کنی و به نتیجه نرسی ولی بازم سوال دارم ایا اگه 100 درصد تلاش خودتو بکنی امکان داره اشتباه کنی و شکست بخوری ؟ نه . غیر ممکنه بدون اشتباه تو به جایی برسی .
اشتباه به تو مسیر درست رو نشون میده . فرض کن اگه یه روزی دیگه هیچ اشتباهی نکنی و حواست جمع باشه چه اتفاقی میوفته ؟ بووم موفق میشی .!
خودتو هیچوقت دست کم نگیر و دور از ذهنت نباشه روزی قراره برسه که گاد لایک این فیلد بشی ❤️
@Dagen_security
زیر فشاری ؟ عیبی نداره لطفا جا نزن و همیشه خودتو با روز اولی که امنیتو شروع کردی مقایسه کن .
یادت باشه تو این حوزه رو دوست داری انتخاب کردی که وارد این حوزه بشی اگه چیزی رو دوست داری باید براش بجنگی و دیگه با کار مقایسش نکنی .
در جریانم و میدونم که خیلی از اخبار ها و مردم بهت میگن باگ بانتی رویا فروشیه و فقط افراد خاصی فقط ازش سود میبرن , ولی سوال من ازت اینه انتخاب تو چیه ؟
ایا تو تبدیل به صفر میشی و نا امیدی رو وارد مغزت میکنی و با خودت میگی ادم این حوزه نیستی و خودتو تسلیم به حرف میکنی و این کار رو رها میکنی ؟
یا اکتت اینه شروع به کار کنی دانشتو ارتقا بدی و هانت منظم انجام بدی و خودتو توی چرخه رشد نگه داری ؟
مهم عمل تو و انتخاب توعه چرا میترسی بری کار کنی و باگ نزنی ؟ چه چیزی باعث میشه خودتو با بقیه مقایسه کنی؟ هیچکس سر راهت نیست تویی و مسیرت .
اگه با طرز تفکر اشتباه یه تارگت رو باز میکنی و نا امیدی تمام وجودت رو میگیره با این فکر : (کدوم هانترها روی این تارگت کار کردن , نه این باگ نداره , نمیتونم باگ بزنم اصلا این تارگت به دانش من نمیخوره )این طرز تفکرارو بنداز دور و تمرین ذهن کن چون فقط چشمتو جلوی باگی که جلوته میبینده .
من گارانتی میدم اونی که امروز از تو بهتره دقیقا همینجایی بوده که تو بودی فقط سخت تر و مداوم تر جنگیده .
بهت میگن عیبی نداره اگه تلاش کنی و به نتیجه نرسی ولی بازم سوال دارم ایا اگه 100 درصد تلاش خودتو بکنی امکان داره اشتباه کنی و شکست بخوری ؟ نه . غیر ممکنه بدون اشتباه تو به جایی برسی .
اشتباه به تو مسیر درست رو نشون میده . فرض کن اگه یه روزی دیگه هیچ اشتباهی نکنی و حواست جمع باشه چه اتفاقی میوفته ؟ بووم موفق میشی .!
خودتو هیچوقت دست کم نگیر و دور از ذهنت نباشه روزی قراره برسه که گاد لایک این فیلد بشی ❤️
@Dagen_security
❤🔥29❤9🔥2
چجوری تونستم CTF فایل اپلود رو حل کنم و یه مفهوم امنیتی به دانشم اضافه کنم ؟
بیاین و فرض بگیرین زمانی که من یه عکس رو برای پست وبلاگم اضافه میکنم روی دکمه اپلود فایل کلیک کردم و توی چکی که با html داشت من اجازه داشتم فقط
درخواستمو با برپ رهگیری کردم و همچین درخواستی به سرور ارسال میشد با همچین بدنه ای :
و در ریسپانس درخواست مسیری که فایل توی اون ادرس مینشست دقیقا به این حالت بود :
میخوام بدونم چک های امنیتی دقیقا کجاها هستند و چجوری میتونیم به نحوه ای اینارو بایپس کنیم ؟ سه نوع چک و تیک امنیتی توی اپلود فایل داریم :
برای اولین قدم میخوام ببینم توی برپ سوییت اگه به جای png بزارم php ایا بایپس میشه ؟ نه
به من خطای اپلود رو میده و بهم ادرس فایل رو نمیده.
برای تست دوم سعی میکنم یه پسوند الکی بزارم مثل test و بله اپلود شد .
برنامه نویس از black list رو اجرا کرده که کار درستی نیست و نا امنه . چرا ناامنه ؟
چون برنامه نویس لیستی از اکستشن هایی که نباید اجرا بشه رو برای فایل اپلود گذاشته و من اگر بتونم اکستشنی توی بلک لیست نباشه و ولید باشه رو اپلود کنم میتونم یه سری دسترسی بگیرم .
برای تست سوم دست بردم به مجیک بایت (بایت عکس) و اگر بایتی رو از عکس کم یا زیاد میکردی اجازه اپلود نداشتی .
خب من جای خوبی برای تست دارم اولین کاری که میکنم سرچ میکنم که با چه پسوند هایی میتونم کد php رو اجرا کنم؟ یه لیست محدودی به من میده :
دونه به دونه این اکستشن ها رو چک میکنم و تنها اکستشنی که دور میخورد این بود :
خب من اسیپ پذیری رو زدم و کافی بود اخر مجیک بایت یه کد php بزارم و rce بگیرم .
ولی اینجا تموم نمیشه باید بریم سراغ ریشه .تمام سوال من اینه چرا فایل php با محتوای عکس اجرا میشه چه منطقی داره ؟
ببینید مرورگر چیزی به اسم اکستنشن رو نمیشناسه و براش فقط کانتنت تایپ و مجیک بایت مهمه پس چجوری فایل php اجرا میشه ؟
وب سرور فقط بر اساس اکستنشن چک میکنه و هر چیز اضافه تری رو نمیشناسه پس من وقتی زدم phtml وب سرور و انجین php متوجه شد که این یه پسوند ولید و معتبره و برای همین کامند اجرا شد و بایت عکس هم درون اون وجود داشت . دقت کنید اگر فایل شما درون داکیومت روت نشینه هیچوقت rce نداریم 🤌
همین نکته ریز و ساده میتونه به شما باگ بده و شما رو توی تحلیل فایل اپلود قوی تر کنه و اگر جایی برنامه نویس از بلک لیست برای چک اکستنشن استفاده کرده بود چشمتون رو تیز کنید 🌷
@Dagen_security
بیاین و فرض بگیرین زمانی که من یه عکس رو برای پست وبلاگم اضافه میکنم روی دکمه اپلود فایل کلیک کردم و توی چکی که با html داشت من اجازه داشتم فقط
.png اپلود کنم .درخواستمو با برپ رهگیری کردم و همچین درخواستی به سرور ارسال میشد با همچین بدنه ای :
form-data; name="file"; filename="photo.png"
content-type=image/png
PNG Byte
و در ریسپانس درخواست مسیری که فایل توی اون ادرس مینشست دقیقا به این حالت بود :
target/uploads/smfowmsfoeewofkewp.png
میخوام بدونم چک های امنیتی دقیقا کجاها هستند و چجوری میتونیم به نحوه ای اینارو بایپس کنیم ؟ سه نوع چک و تیک امنیتی توی اپلود فایل داریم :
1 - file extension name
2-content-type
3-magic byte
برای اولین قدم میخوام ببینم توی برپ سوییت اگه به جای png بزارم php ایا بایپس میشه ؟ نه
به من خطای اپلود رو میده و بهم ادرس فایل رو نمیده.
برای تست دوم سعی میکنم یه پسوند الکی بزارم مثل test و بله اپلود شد .
برنامه نویس از black list رو اجرا کرده که کار درستی نیست و نا امنه . چرا ناامنه ؟
چون برنامه نویس لیستی از اکستشن هایی که نباید اجرا بشه رو برای فایل اپلود گذاشته و من اگر بتونم اکستشنی توی بلک لیست نباشه و ولید باشه رو اپلود کنم میتونم یه سری دسترسی بگیرم .
برای تست سوم دست بردم به مجیک بایت (بایت عکس) و اگر بایتی رو از عکس کم یا زیاد میکردی اجازه اپلود نداشتی .
خب من جای خوبی برای تست دارم اولین کاری که میکنم سرچ میکنم که با چه پسوند هایی میتونم کد php رو اجرا کنم؟ یه لیست محدودی به من میده :
.php5 .php3 .phps .phtml .phar
دونه به دونه این اکستشن ها رو چک میکنم و تنها اکستشنی که دور میخورد این بود :
.phtml
خب من اسیپ پذیری رو زدم و کافی بود اخر مجیک بایت یه کد php بزارم و rce بگیرم .
ولی اینجا تموم نمیشه باید بریم سراغ ریشه .تمام سوال من اینه چرا فایل php با محتوای عکس اجرا میشه چه منطقی داره ؟
ببینید مرورگر چیزی به اسم اکستنشن رو نمیشناسه و براش فقط کانتنت تایپ و مجیک بایت مهمه پس چجوری فایل php اجرا میشه ؟
وب سرور فقط بر اساس اکستنشن چک میکنه و هر چیز اضافه تری رو نمیشناسه پس من وقتی زدم phtml وب سرور و انجین php متوجه شد که این یه پسوند ولید و معتبره و برای همین کامند اجرا شد و بایت عکس هم درون اون وجود داشت . دقت کنید اگر فایل شما درون داکیومت روت نشینه هیچوقت rce نداریم 🤌
همین نکته ریز و ساده میتونه به شما باگ بده و شما رو توی تحلیل فایل اپلود قوی تر کنه و اگر جایی برنامه نویس از بلک لیست برای چک اکستنشن استفاده کرده بود چشمتون رو تیز کنید 🌷
@Dagen_security
❤33🔥7👍2👾1
عزیزان وقت بخیر
نسخه پی اد اف متودولوژی زیشانو(zseano) هکر top 100 hackerone ترجمه فارسی شده و دوستانی که به دلیل انگلیسی بودنش این کتاب رو نخوندن میتونن به پی وی زیر پیام بدن و دریافتش کنن 👇
@bookMind369
نسخه پی اد اف متودولوژی زیشانو(zseano) هکر top 100 hackerone ترجمه فارسی شده و دوستانی که به دلیل انگلیسی بودنش این کتاب رو نخوندن میتونن به پی وی زیر پیام بدن و دریافتش کنن 👇
@bookMind369
🔥9❤2
قبل از اینکه درگیر نسخه چاپی یا pdf هر کتابی بشید . از خودتون بپرسید آیا واقعا اهمیتی داره ؟
محتوای کتاب های امنیتی قراره به شما دانش اضافه بکنه و ذهنتون رو برای تحلیل بازتر کنه تا برای شما باگ بسازه .
به اصل قضیه توجه کنید و دنبال زیر بغل مار نگردید. منتظر نباشید تا یک روزی ترجمه فارسی چاپی فلان کتاب برسه تا شما بخونیدش . سریع تر تسک های خودتون رو انجام بدین و کتابی که میخونین برین سراغ بعدی و دنبال جلد نگردید .
چون مهم ترین سرمایه هممون زمانیه که توش هستیم هر چی سریع تر همه چیز انجام بشه نتیجه دلپذیر تره .!
موافقی باهام؟
@Dagen_security
محتوای کتاب های امنیتی قراره به شما دانش اضافه بکنه و ذهنتون رو برای تحلیل بازتر کنه تا برای شما باگ بسازه .
به اصل قضیه توجه کنید و دنبال زیر بغل مار نگردید. منتظر نباشید تا یک روزی ترجمه فارسی چاپی فلان کتاب برسه تا شما بخونیدش . سریع تر تسک های خودتون رو انجام بدین و کتابی که میخونین برین سراغ بعدی و دنبال جلد نگردید .
چون مهم ترین سرمایه هممون زمانیه که توش هستیم هر چی سریع تر همه چیز انجام بشه نتیجه دلپذیر تره .!
موافقی باهام؟
@Dagen_security
👍26❤8
هر زمانی به یه سابدامین یا IP رسیدید که از تکنولوژی IIS (Windows Server) استفاده میکرد، بیتفاوت ازش رد نشید.
حتماً ابزار ShortName Scanner رو روش اران کنید.👇
این ابزار یک فازر مخصوص IIS هست که از یک ورد لیست خاص استفاده میکنه و اگه مسیر خطرناک یا پنهانی رو پیدا کرد بهتون نمایش میده . ممکنه توی بعضی از سیستم ها مسیر خطرناکی web.config باز و در دسترس باشه که چنین مسیری میتونه باعث نشت اطلاعات بشه و گزارشش بدید .!
@Dagen_security
حتماً ابزار ShortName Scanner رو روش اران کنید.👇
shortname scanner
این ابزار یک فازر مخصوص IIS هست که از یک ورد لیست خاص استفاده میکنه و اگه مسیر خطرناک یا پنهانی رو پیدا کرد بهتون نمایش میده . ممکنه توی بعضی از سیستم ها مسیر خطرناکی web.config باز و در دسترس باشه که چنین مسیری میتونه باعث نشت اطلاعات بشه و گزارشش بدید .!
@Dagen_security
❤47👍9🔥7
چجوری از یه جاوا اسکریپت ساده به ادمین پنل رسیدم ✅
اولین کاری که کردم این بود که سورس صفحه رو باز کردم و روی دونه به دونه فایلای جاوا اسکریپت کلیک کردم و دنبال جاوا اسکریپ و سورسی بودم که برام سود اور باشه و بهم سر نخ بده که یه لینک چشممو تیز کرد :
به ظاهر لینک نگاه کنید ادرسی که لینک شده احتمالا js مهمیه و وقتی داخلش رو باز کردم یه جاوا اسکریپت بود که به صورت پک شده و قابل خوندن نبود خب من طبق معمول سعی کردم یه .map به انتها اضافه کنم تا سورس رو به صورت پویا و خوانا ببینم ولی جواب نداد .❌
بیخیال نشدم و رفتم سراغ تست بعدی !
اینجا بهترین جا برای پیدا کردن باگه و من با این تریک باگ "افشای اطلاعات حساس" زیادی زدم و حتی میتونه دریچه ای برای باگ هایی مثل xss یا idor باشه !
برای این سناریو اولین کاری که همیشه میکنم فاز کردنه ولی چه جور فازی ؟
به چهار حالتی که که بالا میبینید دقت کنید ,هر کدوم رو انجام دادم و فاز کردم .!
کلمه کلیدی "_database" با همچین ادرسی اطلاعات + ادرس پنل ادمین رو بهم به صورت کلیر داخل کد جاوا اسکریپت نشون داد :
ادرس پنل داخل کد جاوا اسکریپت و ساب دامینی بود که قابل حدس نبود و با هیچ اسکنر و ساب دامین فایندری پیدا نمیشد این کاملا افشای اطلاعات بود ,
پنل از من یوزر و پسورد نمیخواست و من سطح دسترسی سوپر ادمین رو داشتم و مثل ادمین سایت دسترسی ها برام کاملا باز بود !
توی این سناریو فقط با یک جاوا اسکریپت ساده تونستم یه باگ کریتیکال بزنم و فقط به کمی خلاقیت نیاز داشت . این جاوا اسکریپت توی سورس صفحه نبود و حتی با ریکان گوگل دورک + گیت هاب + وی بک یو آرال پیدا نمیشد و تنها با فاز کردن به دست میومد !
حتما اینجوری فاز کنید تا به سرنخ کلیدی برسید هیچوقت به فاز ساده با ابزار متکی نباشید و قبل از این که چهار تا کامند ران کنید کمی تحلیل کنید 🌷
@Dagen_security
اولین کاری که کردم این بود که سورس صفحه رو باز کردم و روی دونه به دونه فایلای جاوا اسکریپت کلیک کردم و دنبال جاوا اسکریپ و سورسی بودم که برام سود اور باشه و بهم سر نخ بده که یه لینک چشممو تیز کرد :
https://log.sub.target.com/collectors/minimized/bundle-main.js
به ظاهر لینک نگاه کنید ادرسی که لینک شده احتمالا js مهمیه و وقتی داخلش رو باز کردم یه جاوا اسکریپت بود که به صورت پک شده و قابل خوندن نبود خب من طبق معمول سعی کردم یه .map به انتها اضافه کنم تا سورس رو به صورت پویا و خوانا ببینم ولی جواب نداد .❌
بیخیال نشدم و رفتم سراغ تست بعدی !
اینجا بهترین جا برای پیدا کردن باگه و من با این تریک باگ "افشای اطلاعات حساس" زیادی زدم و حتی میتونه دریچه ای برای باگ هایی مثل xss یا idor باشه !
برای این سناریو اولین کاری که همیشه میکنم فاز کردنه ولی چه جور فازی ؟
1 - https://log.sub.target.com/collectors/minimized/bundle-FUZZ.js
2 - https://log.sub.target.com/collectors/minimized/FUZZ-main.js
3 - https://log.sub.target.com/collectors/minimized/bundle-main-FUZZ.js
4 - https://log.sub.target.com/collectors/minimized/FUZZ.js
به چهار حالتی که که بالا میبینید دقت کنید ,هر کدوم رو انجام دادم و فاز کردم .!
کلمه کلیدی "_database" با همچین ادرسی اطلاعات + ادرس پنل ادمین رو بهم به صورت کلیر داخل کد جاوا اسکریپت نشون داد :
https://log.banana.target.com/collectors/minimized/DataBase_-main.js
ادرس پنل داخل کد جاوا اسکریپت و ساب دامینی بود که قابل حدس نبود و با هیچ اسکنر و ساب دامین فایندری پیدا نمیشد این کاملا افشای اطلاعات بود ,
پنل از من یوزر و پسورد نمیخواست و من سطح دسترسی سوپر ادمین رو داشتم و مثل ادمین سایت دسترسی ها برام کاملا باز بود !
توی این سناریو فقط با یک جاوا اسکریپت ساده تونستم یه باگ کریتیکال بزنم و فقط به کمی خلاقیت نیاز داشت . این جاوا اسکریپت توی سورس صفحه نبود و حتی با ریکان گوگل دورک + گیت هاب + وی بک یو آرال پیدا نمیشد و تنها با فاز کردن به دست میومد !
حتما اینجوری فاز کنید تا به سرنخ کلیدی برسید هیچوقت به فاز ساده با ابزار متکی نباشید و قبل از این که چهار تا کامند ران کنید کمی تحلیل کنید 🌷
@Dagen_security
👍31❤11🔥5❤🔥2
بیشتر از ۹۰٪ آدمایی که وارد حوزهی باگبانتی و امنیت میشن، ظرف دو ماه جا میزنن.
نه چون ضعیفن، نه چون استعداد ندارن
فقط چون هیچکس رودمپ و نقشهراه درست رو جلوی پاشون نمیذاره.
مشکل واقعی همینه، نمیدونن از کجا شروع کنن، چی مهمه، چی اضافیه، چی باید اول یاد بگیرن و چی رو باید بندازن دور.
من اینو بارها توی گروهها و پیامهای مختلف دیدم ..
خیلیها قبل از اینکه حتی اولین موفقیت واقعیشون رو ببینن، قید ادامه رو میزنن.
برای همین من سه تا از مهمترین کتابهای شروع مسیر امنیت و باگبانتی رو بهصورت کامل و قابلفهم ترجمه فارسی کردم:
این سه کتاب تمام چیزیه که هر کسی در شروع مسیر امنیت آرزو میکنه یکی بهش یاد بده،
مفاهیمی که واقعاً کاربردیان و سریع تو رو رو به جلو میبرن.
اگه واقعاً جدی هستی و میخوای یه نقشه راه واقعی و مرحله به مرحله داشته باشی , این کتاب ها دقیقاً برای توئه برای دریافت همینجا بهم پیام بده 👇
@bookmind369
نه چون ضعیفن، نه چون استعداد ندارن
فقط چون هیچکس رودمپ و نقشهراه درست رو جلوی پاشون نمیذاره.
مشکل واقعی همینه، نمیدونن از کجا شروع کنن، چی مهمه، چی اضافیه، چی باید اول یاد بگیرن و چی رو باید بندازن دور.
من اینو بارها توی گروهها و پیامهای مختلف دیدم ..
خیلیها قبل از اینکه حتی اولین موفقیت واقعیشون رو ببینن، قید ادامه رو میزنن.
برای همین من سه تا از مهمترین کتابهای شروع مسیر امنیت و باگبانتی رو بهصورت کامل و قابلفهم ترجمه فارسی کردم:
Bug Bounty Bootcamp
Real-World Bug Hunting
Web Application Security
این سه کتاب تمام چیزیه که هر کسی در شروع مسیر امنیت آرزو میکنه یکی بهش یاد بده،
مفاهیمی که واقعاً کاربردیان و سریع تو رو رو به جلو میبرن.
اگه واقعاً جدی هستی و میخوای یه نقشه راه واقعی و مرحله به مرحله داشته باشی , این کتاب ها دقیقاً برای توئه برای دریافت همینجا بهم پیام بده 👇
@bookmind369
👍21❤6🗿1
یکی از بهترین و خلاقانه ترین ابزار هایی که از وی بک الهام گرفته شده این ابزاره 👌
کاری که این ابزار میکنه اینه که تمام تاریخچه وبسایت که توسط وی بک دردسترسه رو میگیرده و دنبال یه فایل مهم به اسم robots.txt میگرده که معمولا داخلش ادرس های مهم سایت قرار داره که توسط سرچ گوگل ایندکس نشه .
حالا این ابزار با توجه به تایم استمپ, بازه زمانی های مختلف robots.txt که داخل سایت وجود داشته رو استخراج میکنه و بهتون نمایش میده.
ممکنه توی خروجی ابزار , از وبسایت تارگتتون یک robots.txt پیدا کنه که مثلا پنل ادمین داخلش وجود داشته باشه و یا هر ادرس و یا پارامتر مهمی و یا هر چیزی که بدرد یه هانتر میخوره تا اسیپ پذیری کشف کنه !
ادرس ابزار : 👇
@Dagen_security
کاری که این ابزار میکنه اینه که تمام تاریخچه وبسایت که توسط وی بک دردسترسه رو میگیرده و دنبال یه فایل مهم به اسم robots.txt میگرده که معمولا داخلش ادرس های مهم سایت قرار داره که توسط سرچ گوگل ایندکس نشه .
حالا این ابزار با توجه به تایم استمپ, بازه زمانی های مختلف robots.txt که داخل سایت وجود داشته رو استخراج میکنه و بهتون نمایش میده.
ممکنه توی خروجی ابزار , از وبسایت تارگتتون یک robots.txt پیدا کنه که مثلا پنل ادمین داخلش وجود داشته باشه و یا هر ادرس و یا پارامتر مهمی و یا هر چیزی که بدرد یه هانتر میخوره تا اسیپ پذیری کشف کنه !
ادرس ابزار : 👇
robofinder tool
@Dagen_security
👍17❤6❤🔥4
Dagen (security)
یکی از بهترین و خلاقانه ترین ابزار هایی که از وی بک الهام گرفته شده این ابزاره 👌 کاری که این ابزار میکنه اینه که تمام تاریخچه وبسایت که توسط وی بک دردسترسه رو میگیرده و دنبال یه فایل مهم به اسم robots.txt میگرده که معمولا داخلش ادرس های مهم سایت قرار داره…
دنبال ابزار های تکراری و بدرد نخور نرین چیزی که پیدا میکنن نهایتش خروجی های یکسانی دارند. این دقیقا همون ابزاریه که توی اتومیشن باید ازش استفاده کنید !
👍14❤7
نکته مهمی که خیلیها موقع پیدا کردن Origin IP یک وبسایت ازش غافل میشن اینه که فقط به تاریخچهی DNS و سرتیفیکتها نگاه میکنن.
توی بعضی از کیس ها، مخصوصاً پیکربندیهای قدیمیتر، میتونید بهسادگی IP اصلی وبسایت رو از طریق MX Record مربوط به Mail Server پیدا کنید؛ چون توی بعضی از سایت ها ممکنه خود Mail Server رو همون اپی بالا اومده باشه .
ولی این روش روی وبسایتهای امروزی معمولاً جواب نمیده و یه راه حلی داریم :
با استفاده از SecurityTrails و دیتای MX History میتونین تمام رکوردهای MX قدیمی رو بررسی کنید و اگه توی گذشته Mail Server روی همون IP اصلی اجرا شده باشه، احتمالش بالاس که توی همین تاریخچه دیده بشه و اپی اصلی سایت در دسترستون قرار بگیره 🤌
@Dagen_security
توی بعضی از کیس ها، مخصوصاً پیکربندیهای قدیمیتر، میتونید بهسادگی IP اصلی وبسایت رو از طریق MX Record مربوط به Mail Server پیدا کنید؛ چون توی بعضی از سایت ها ممکنه خود Mail Server رو همون اپی بالا اومده باشه .
ولی این روش روی وبسایتهای امروزی معمولاً جواب نمیده و یه راه حلی داریم :
با استفاده از SecurityTrails و دیتای MX History میتونین تمام رکوردهای MX قدیمی رو بررسی کنید و اگه توی گذشته Mail Server روی همون IP اصلی اجرا شده باشه، احتمالش بالاس که توی همین تاریخچه دیده بشه و اپی اصلی سایت در دسترستون قرار بگیره 🤌
@Dagen_security
1❤58👍8❤🔥3