دستورای بعدی ما اینه:
تابع 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 مقدارش پرینت میشه.
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 زیادی برام به همراه خواهد داشت. چه مالی، چه زمانی، چه منتالی و چه خیلی چیزای دیگه.
و حقیقتا طی این چند روزی که فکر کردم، من آدم اپلای نیستم. درنهایت تصمیمم بر این شد که اپلای نکنم و اون راه دوم زندگیم، یعنی در ایران موندن و کار کردن رو انتخاب کنم. از این موضوع ناراحتم چون که خیلی سر نمره و درس وقت گذاشتم. ولی حداقل خوشحالم که تونستم درنهایت دوراهیای که ۷ سال باهام بود رو تموم کنم و تصمیم نهایی بگیرم. درنهایت امیدوارم که هرگز از تصمیمم پشیمون نشم.
حقیقتا اپلای همیشه یک تصمیم خیلی حیاتی و سخت در زندگی من بوده. از زمانی که وارد دبیرستان شدم دوست داشتم اپلای کنم که از ایران برم،ولی هیچوقت نمیدونستم چرا. صرفا دوست داشتم از ایران برم و همیشه توی ذهنم این بود که اون طرف زندگی عالیه هر روز بترکون لذت ببر.
زمانی که وارد دانشگاه شدم، از همون اول جو اپلای میخورد تو صورتم و تقریبا ۷۰ ۸۰ درصد در دوره قصد داشتن اپلای کنن. به عبارتی یک حرکت گلهوارانه بود. یعنی از کسی میپرسیدی میخوای چکار کنی میگفت اپلای و میگفتی چرا میگفت چون همه دارن اپلای میکنن. واسه منم تقریبا همین شکلی بود، یعنی میگفتم حتما باید اپلای کنم ولی دقیقا بخاطر این بود که میدیدم همه دارن اپلای میکنن. نمیدونستم چرا باید اپلای کنم. ایا اصلا من مال اینکار هستم یا نه. آیا کسی هستم بتونه از خانوادهش دور بشه یا نه و خیلی فکرای این شکلی.
این فکر و دوراهی تقریبا ۷ ساله که با منه و هیچوقت نتونستم تصمیم بگیرم که آیا میخوام اپلای کنم یا نه. از پارسال تصمیم داشتم که اینترنشیپ برم تا یک شبیهساز از زندگیم بعد از اپلای باشه که بتونم راحتتر تصمیم بگیرم، ولی خب متاسفانه اون از پارسال که هر ۲تا ویزام ریجکت شد و اینم از امسال که حتی ویزام نرسیده.
در نهایت در موقعیت زمانیای هستم که باید تصمیمم رو بگیرم، موقعیتها رو بسنجم و تصمیم نهایی بگیرم. چون وارد شدن به این راه وقتی که بخوام در نهایت کنسل کنم، خیلی cost زیادی برام به همراه خواهد داشت. چه مالی، چه زمانی، چه منتالی و چه خیلی چیزای دیگه.
و حقیقتا طی این چند روزی که فکر کردم، من آدم اپلای نیستم. درنهایت تصمیمم بر این شد که اپلای نکنم و اون راه دوم زندگیم، یعنی در ایران موندن و کار کردن رو انتخاب کنم. از این موضوع ناراحتم چون که خیلی سر نمره و درس وقت گذاشتم. ولی حداقل خوشحالم که تونستم درنهایت دوراهیای که ۷ سال باهام بود رو تموم کنم و تصمیم نهایی بگیرم. درنهایت امیدوارم که هرگز از تصمیمم پشیمون نشم.
🎉64❤🔥15👏6🔥3❤1
اینم سوال خیلی باحالیه. واسه مسابقه مپنا طرح کرده بودم.
یه خورده روش فکر کنید راهحلشو میگم.
یه خورده روش فکر کنید راهحلشو میگم.
🌭13❤2👏1🍌1🎃1
درود به همگی.
ما یک تیم ctf ذیل آزمایشگاه S4Lab (دکتر خرازی) بالا آوردیم که قصد داریم به صورت فعال مسابقه بدیم و یاد بگیریم دور هم. تا الان به صورت محدود یک سری آدم دور هم بودیم که مسابقه میدادیم اما از الان قصد داریم که افراد جدیدی اضافه کنیم به تیم. ctf خب یک مسابقه مربوط به امنیت هست و مخفف عبارت capture the flag هست. اگر میخواید با این مسابقه بیشتر آشنا شید پیشنهاد میکنم لینکهای زیر رو بخونید.
برای ورود هیچ محدودیت سنیای نیست (تو اعضای قبلی مثلا ۰۲ و ۰۱ هم داشتیم) و هدف ما یادگیری در کنار هم و شرکت در مسابقه هست. فقط یک محدودیت کلی هست که از بچههای دانشکده خودمون باشن حتما افراد. آها و اینکه بیخیال هم نباشید که بیایید ولی هیچکاری نخواید بکنید. خلاصه قراره که دور هم یاد بگیریم که چطوری سوالا رو حل کنیم (یک سری سورس و اینها هست واسه کسایی که بلد نیستن هیچی) و همچنین دور هم سوال حل کنیم و در نهایت در مسابقاتش شرکت کنیم.
اسم تیم هم هست Sharif CTF.
اگر دوست دارید که جوین شید لطفا به این آیدی پیام بدید:
@its_dutchman
https://ctftime.org/
https://en.wikipedia.org/wiki/Capture_the_flag_(cybersecurity)
ما یک تیم ctf ذیل آزمایشگاه S4Lab (دکتر خرازی) بالا آوردیم که قصد داریم به صورت فعال مسابقه بدیم و یاد بگیریم دور هم. تا الان به صورت محدود یک سری آدم دور هم بودیم که مسابقه میدادیم اما از الان قصد داریم که افراد جدیدی اضافه کنیم به تیم. ctf خب یک مسابقه مربوط به امنیت هست و مخفف عبارت capture the flag هست. اگر میخواید با این مسابقه بیشتر آشنا شید پیشنهاد میکنم لینکهای زیر رو بخونید.
برای ورود هیچ محدودیت سنیای نیست (تو اعضای قبلی مثلا ۰۲ و ۰۱ هم داشتیم) و هدف ما یادگیری در کنار هم و شرکت در مسابقه هست. فقط یک محدودیت کلی هست که از بچههای دانشکده خودمون باشن حتما افراد. آها و اینکه بیخیال هم نباشید که بیایید ولی هیچکاری نخواید بکنید. خلاصه قراره که دور هم یاد بگیریم که چطوری سوالا رو حل کنیم (یک سری سورس و اینها هست واسه کسایی که بلد نیستن هیچی) و همچنین دور هم سوال حل کنیم و در نهایت در مسابقاتش شرکت کنیم.
اسم تیم هم هست Sharif CTF.
اگر دوست دارید که جوین شید لطفا به این آیدی پیام بدید:
@its_dutchman
https://ctftime.org/
https://en.wikipedia.org/wiki/Capture_the_flag_(cybersecurity)
ctftime.org
CTFtime.org / All about CTF (Capture The Flag)
Capture The Flag, CTF teams, CTF ratings, CTF archive, CTF writeups
😍5🤔4❤1👎1🔥1
اگر دوست داشتید یه GPT کوچیک و جمعوجور برای خودتون بیارید بالا پیشنهاد میکنم این ریپوها رو ببینید:
https://github.com/LeeSinLiang/microGPT
https://github.com/karpathy/nanoGPT
برای ترین هم نیازی به gpu اینا نیست و روی یک لپتاپ با cpu هم میتونید ترین کنید.
https://github.com/LeeSinLiang/microGPT
https://github.com/karpathy/nanoGPT
برای ترین هم نیازی به gpu اینا نیست و روی یک لپتاپ با cpu هم میتونید ترین کنید.
GitHub
GitHub - LeeSinLiang/microGPT: Implementation of GPT from scratch. Design to be lightweight and easy to modify.
Implementation of GPT from scratch. Design to be lightweight and easy to modify. - LeeSinLiang/microGPT
❤6
Dutchman Daily
درود به همگی. ما یک تیم ctf ذیل آزمایشگاه S4Lab (دکتر خرازی) بالا آوردیم که قصد داریم به صورت فعال مسابقه بدیم و یاد بگیریم دور هم. تا الان به صورت محدود یک سری آدم دور هم بودیم که مسابقه میدادیم اما از الان قصد داریم که افراد جدیدی اضافه کنیم به تیم. ctf…
این دیگه لیمیتی روی دانشکده نداره. هرکی دوست داشت بیاد.
❤2🌭2👍1
Dutchman Daily
امروز پلن Fuzz کردن libgd با استفاده از aflgo عه. با ما همراه باشید.
این تستش به شکل خیلی عجیبی روی لپتاپم انجام نمیشه. یعنی هرچقدر که بهش ریسورس بدی بازم کم میاره.
یک تست بدیهی که مثلا ازش گرفتم و کار کرد، چیزی حدود ۱۵ کور از لپتاپم رو کامل درگیر کرد. (۱۰۰ درصد)
یک تست بدیهی که مثلا ازش گرفتم و کار کرد، چیزی حدود ۱۵ کور از لپتاپم رو کامل درگیر کرد. (۱۰۰ درصد)
❤3
یه نکته جالبیهم که داره فازرش اینه که نمیشه ست کرد که ماکسیمم چقدر ریسورس بگیره. بعد اینکه اگر ریسورسش کم باشه یهو وسط فاز کردن مینویسه من ریسورسام کمه انجام نمیدم. ریسورس رو بیشتر کن. (دقیقا یک همچین خطایی)
👍4👏1
واسه همین هیچ استیمیتی ندارم که اصلا چقدر مصرف میکنه ریسورس برای فاز کردن یک لایبرری نسبتا بزرگ که بشه حداقل روی سرور رانش کرد. یعنی مثلا ۴۰تا کور بگیره کافیشه دیگه یا نه. توی مقالهشونم چیزی نگفتن اصلا.
👍4👏1
البته یک موضوعی هم هست که خیلی عجیبه برام اینه که فازرها (مخصوصا حالا همین)، خیلی وابسته به محیطی ان که توش دولوپ شدن اولین بار. مثلا این فازره دقیقا باید یه ورژن خاصی از libc رو میدادی و gcc هم دقیقا باید یه ورژن خاصی میبود وگرنه اصلا موقع بیلد خود فازره کلا کامپایل ارور میخورد.
و فقط هم باید روی اوبونتو ۲۰ اجرا میشد. من مثلا روی ۲۲ و ۲۴ اجراش کردم مشکل میخورد با اینکه ورژنای gcc رو هم آپدیت کردم به همونی که خودش میخواست. حدسم اینه که چون دارن میرن مموری رو دامپ میکنن و یک سری api call از کرنل میزنن و کرنلها کلا آپدیت میشن api شونم عوض میشه تقریبا، لذا به همین دلیل حتما فورس میکنن فلان ورژن باشه.
و فقط هم باید روی اوبونتو ۲۰ اجرا میشد. من مثلا روی ۲۲ و ۲۴ اجراش کردم مشکل میخورد با اینکه ورژنای gcc رو هم آپدیت کردم به همونی که خودش میخواست. حدسم اینه که چون دارن میرن مموری رو دامپ میکنن و یک سری api call از کرنل میزنن و کرنلها کلا آپدیت میشن api شونم عوض میشه تقریبا، لذا به همین دلیل حتما فورس میکنن فلان ورژن باشه.
👍2👏1