Dutchman Daily
909 subscribers
114 photos
16 videos
18 files
133 links
The other side of me
This is me:
@its_dutchman
Download Telegram
اون‌جا که زدیم:
set $rip=$rip-0x302

این 0x302 مقدار افستی هست که rip فعلی ما فاصله داره تا سر open. به عبارتی اینجا من سعی دارم مقدار rip رو بذارم سر آدرس open که بعدش برم جامپ کنم مستقیم اونجا.

البته اینجا کار سختی کردم و بعدش فهمیدم که میشد اینجوری هم ست کرد:
set $rip=open



دستورای بعدی ما اینه:
break open
continue
break *open+0x82
continue

ما سر تابع open یک break گذاشتیم و بعدش continue زدیم که سریع جامپ کنیم به open. حالا وارد تابع open شدیم و مقدار rdi هم flag.txt هست که میره واسمون اون فایل رو open میکنه و یک fd براش اساین میکنه.

در نهایت روی return تابع open باز بریک گذاشتیم. دلیلش اینه که ما نمیخوایم open تموم شه و return شه. می‌خوایم قبل از اینکه تموم شه بیاییم مجدد read رو صدا بزنیم که بره fd جدید ما که همون flag.txt هست رو بخونه.

بعدش continue می‌کنیم و میره سر return وایمیسته ولی return نمی‌کنه.
3👎1
دستورای بعدی ما اینه:

set $rdi=0x3
set $rip=read
continue
break *read+0x1a
continue


اینجا دوباره داریم کارای صدا زدن read رو می‌کنیم. گفتیم که read یکی از ورودی‌هاش مقدار fd هست که این مقدار توی rdi ذخیره میشه. الان چون فایل جدیدی باز شده پس یک fd جدیدی ساخته شده. fdها وقتی ساخته میشن، مقدارشون یکی یکی اضافه میشه. یعنی گفتیم 0 1 2 که رزرو هستن، پس اگر فایل جدیدی open شه مقدار fd جدیدی که بهش اساین میشه، ۳ هست.

پس می‌بینید که ما مقدار 3 رو ریختیم توی rdi. حالا مقدار rip رو هم می‌ذاریم read که بریم تابع read رو صدا بزنیم و continue می‌کنیم. الان دیگه وارد read می‌شیم و fdی که بهش دادیم 3 هست که برابر هست با فایل flag.txtما

در نهایت یکم بالاترش میریم بریک میذاریم. این دقیقا باز بخاطر اینه که ما نمیخوایم از read بیاییم return کنیم. می‌خوایم دقیقا سر retش یک بریک بذاریم که رسیدیم اونجا حالا بریم write رو صدا بزنیم.
3👎1
دستورای بعدی ما اینه:

set $rdi=0x1
set $rip=write

break write
continue
continue


تابع write دوتا ورودی می‌گیره. یک fd که به این معنیه که کجا بره بنویسه؟ و خب ما می‌خوایم توی stdout بنویسه که بتونیم بخونیمش همونجا. پس مقدار rdi رو می‌ذاریم 1 که برابر با fdای هست که اساین شده بده stdout

یک مقدار بافر داره که همون بافریه که باید بره بخونه. یعنی اون read زمانی که read می‌کرد از fd می‌ریخت توی یک bufای. و حالا این write باید بره اون buf رو بخونه و بریزه توی یک fd‌ای.

اون مقدار buf رو خیلی بالاتر گفتیم که آدرسش بود 0x7ffff7f88000 به فرض مثال روی سیستم من. این آدرس چون دست نخورده ما هم نیازی نیست تغییرش بدیم و زمانی که به write می‌رسیم مونده آلردی.

پس حالا که مقدار rdi رو ست کردیم. توی rip هم میریزیم write و یک بریک هم میذاریم سر write و continue می‌کنیم که بریم وارد write شیم. حالا همه‌ی مقادیر تنظیمه و write میره مقدار buf رو میریزه توی fd=1 که stdout ماست.

یک continue دیگه میزنیم و تمام. فایل flag.txt مقدارش پرینت میشه.
4💩1
چلنج خیلی جالبی بود خلاصه. امیدوارم دوست داشته باشید. مقدار خوبی درگیرتون میکنه با gdb و دیباگ کردن یک کامند باحالی مثل cat و تغییر دادن مقادیرش حین اجرا.
باتشکر از مهدی و صفا.
9❤‍🔥2💩1
بعد از تقریبا ۴ ۵ روز متوالی و هر روز ساعت‌ها فکر کردن سر یکی از سخت‌ترین دوراهی‌های زندگیم، بالاخره تونستم و فکرم و تصمیمم و خودم رو راضی کنم که یکی از اون راه‌ها رو انتخاب کنم.

حقیقتا اپلای همیشه یک تصمیم خیلی حیاتی و سخت در زندگی من بوده. از زمانی که وارد دبیرستان شدم دوست داشتم اپلای کنم که از ایران برم،‌ولی هیچ‌وقت نمی‌دونستم چرا. صرفا دوست داشتم از ایران برم و همیشه توی ذهنم این بود که اون طرف زندگی عالیه هر روز بترکون لذت ببر.

زمانی که وارد دانشگاه شدم، از همون اول جو اپلای می‌خورد تو صورتم و تقریبا ۷۰ ۸۰ درصد در دوره قصد داشتن اپلای کنن. به عبارتی یک حرکت گله‌وارانه بود. یعنی از کسی می‌پرسیدی می‌خوای چکار کنی می‌گفت اپلای و می‌گفتی چرا می‌گفت چون همه دارن اپلای می‌کنن. واسه منم تقریبا همین شکلی بود، یعنی می‌گفتم حتما باید اپلای کنم ولی دقیقا بخاطر این بود که می‌دیدم همه دارن اپلای می‌کنن. نمی‌دونستم چرا باید اپلای کنم. ایا اصلا من مال اینکار هستم یا نه. آیا کسی هستم بتونه از خانواده‌ش دور بشه یا نه و خیلی فکرای این شکلی.

این فکر و دوراهی تقریبا ۷ ساله که با منه و هیچ‌وقت نتونستم تصمیم بگیرم که آیا می‌خوام اپلای کنم یا نه. از پارسال تصمیم داشتم که اینترنشیپ برم تا یک شبیه‌ساز از زندگیم بعد از اپلای باشه که بتونم راحت‌تر تصمیم بگیرم، ولی خب متاسفانه اون از پارسال که هر ۲تا ویزام ریجکت شد و اینم از امسال که حتی ویزام نرسیده.

در نهایت در موقعیت زمانی‌ای هستم که باید تصمیمم رو بگیرم، موقعیت‌ها رو بسنجم و تصمیم نهایی بگیرم. چون وارد شدن به این راه وقتی که بخوام در نهایت کنسل کنم، خیلی cost زیادی برام به همراه خواهد داشت. چه مالی، چه زمانی، چه منتالی و چه خیلی چیزای دیگه.

و حقیقتا طی این چند روزی که فکر کردم، من آدم اپلای نیستم. درنهایت تصمیمم بر این شد که اپلای نکنم و اون راه دوم زندگیم، یعنی در ایران موندن و کار کردن رو انتخاب کنم. از این موضوع ناراحتم چون که خیلی سر نمره و درس وقت گذاشتم. ولی حداقل خوشحالم که تونستم درنهایت دوراهی‌ای که ۷ سال باهام بود رو تموم کنم و تصمیم نهایی بگیرم. درنهایت امیدوارم که هرگز از تصمیمم پشیمون نشم.
🎉64❤‍🔥15👏6🔥31
اینم سوال خیلی باحالیه. واسه مسابقه مپنا طرح کرده بودم.

یه خورده روش فکر کنید راه‌حلشو می‌گم.
🌭132👏1🍌1🎃1
ببخشید عزیزان یکمقدار سرم شلوغه. در اولین فرصت توضیح می‌دم.
👍9💩5🥱4🥰2
قراره یه کلاستر کوبر از صفر بیاریم بالا و عروسی و این حرفا.
🤔6💩5🔥2
اگر بتونم بالا اوردن cdn هم ببینم، دیگه زندگیم تکمیله.
💩5🔥4
استرسی سر بازیام تو لیگ فیفا شرکت میکشم واسه امتحانام نکشیدم.
💩8🤣5👾2👍1🍌1
به این شکل
😁7🤡1
درود به همگی.

ما یک تیم ctf ذیل آزمایشگاه S4Lab (دکتر خرازی) بالا آوردیم که قصد داریم به صورت فعال مسابقه بدیم و یاد بگیریم دور هم. تا الان به صورت محدود یک سری آدم دور هم بودیم که مسابقه می‌دادیم اما از الان قصد داریم که افراد جدیدی اضافه کنیم به تیم. ctf خب یک مسابقه مربوط به امنیت هست و مخفف عبارت capture the flag هست. اگر می‌خواید با این مسابقه بیشتر آشنا شید پیشنهاد می‌کنم لینک‌های زیر رو بخونید.

برای ورود هیچ محدودیت سنی‌ای نیست (تو اعضای قبلی مثلا ۰۲ و ۰۱ هم داشتیم) و هدف ما یادگیری در کنار هم و شرکت در مسابقه هست. فقط یک محدودیت کلی هست که از بچه‌های دانشکده خودمون باشن حتما افراد. آها و اینکه بیخیال هم نباشید که بیایید ولی هیچکاری نخواید بکنید. خلاصه قراره که دور هم یاد بگیریم که چطوری سوالا رو حل کنیم (یک سری سورس و این‌ها هست واسه کسایی که بلد نیستن هیچی) و همچنین دور هم سوال حل کنیم و در نهایت در مسابقاتش شرکت کنیم.

اسم تیم هم هست Sharif CTF.

اگر دوست دارید که جوین شید لطفا به این آیدی پیام بدید:
@its_dutchman

https://ctftime.org/

https://en.wikipedia.org/wiki/Capture_the_flag_(cybersecurity)
😍5🤔41👎1🔥1
اگر دوست داشتید یه GPT کوچیک و جمع‌وجور برای خودتون بیارید بالا پیشنهاد می‌کنم این ریپوها رو ببینید:

https://github.com/LeeSinLiang/microGPT

https://github.com/karpathy/nanoGPT

برای ترین هم نیازی به gpu اینا نیست و روی یک لپ‌تاپ با cpu هم می‌تونید ترین کنید.
6
Dutchman Daily
امروز پلن Fuzz کردن libgd با استفاده از aflgo عه. با ما همراه باشید.
این تستش به شکل خیلی عجیبی روی لپ‌تاپم انجام نمیشه. یعنی هرچقدر که بهش ریسورس بدی بازم کم میاره.

یک تست بدیهی که مثلا ازش گرفتم و کار کرد، چیزی حدود ۱۵ کور از لپ‌تاپم رو کامل درگیر کرد. (۱۰۰ درصد)
3
این مثلا در حد یک تست خیلی بدیهی کد ۵ خطیه
4
یه نکته جالبی‌هم که داره فازرش اینه که نمیشه ست کرد که ماکسیمم چقدر ریسورس بگیره. بعد اینکه اگر ریسورسش کم باشه یهو وسط فاز کردن مینویسه من ریسورسام کمه انجام نمیدم. ریسورس رو بیشتر کن. (دقیقا یک همچین خطایی)
👍4👏1