قضیه از اونجا شروع میشه که دوشنبه شب ( 1400/9/8 ) بود که یکی از دوستان لینک توییت ایران سرور رو توی گروهمون فرستاد. ایران سرور در توییتر، اینستاگرام و تلگرام خود اعلام کرده بود که میخواهند چالش فتحِ پرچم (CTF Challenge) رو در روز سه شنبه از ساعت 11 تا 19 شب برگزار کنند و اطلاعات بیشتر رو در ساعت 10 صبح در صفحه خود اعلام میکنند.
این اولین رایتآپی هست که مینویسم و قصد نوشتنش رو نداشتم ولی با پیشنهاد عباس هیبتی عزیز مایل به نوشتن این رایتآپ شدم. اگر که خوب ننوشتم و عکس هام خوب نشد، به بزرگی خودتون ببخشید ♥ و خیلی خوشحال میشم نظراتون رو حتما حتما برام کامنت کنید. :))
صبح شد و سریع از خواب پریدم و رفتم توییتر ایران سرور رو چک کردم و دیدم لینک رو گذاشتند و سریع وارد لینک شدم. لینکی که دادن این بود:
ctf.irancert.com
که به این صفحه ریدایرکت میشد:
ctf.irancert.com/login
در مرحله ی اول فکر کردم باید با حساب ایران سرور خودم لاگین کنم که قبول نکرد. و تا چند دقیقه ی اول فکر نمیکردم این قسمت هم جز CTF باشه! و دنبال نام کاربری و رمز توی صفحات ایران سرور بودم :)))
بعد چند دقیقه یه نوتیف از گروه تلگرام اومد که یک عزیزی " admin:1234 " رو فرستاد و گفتن آسیب -پذیری SQLi داشت و تازه دوزاریم جا افتاد که این هم بخشی از CTF هست :)))
خوب تا اینجا که کاری نکردم و با لطف دوستان وارد شدم :)
بعد از تایپ نام کاربری و پسورد به عنوان کاربر ویژه لاگین کردم. طبعا باید یه گشتی توی سایت بزنم و ببینم قضیه از چه قراره!
پنلِ کاربری استاتیک بود و اطلاعات و نمودار ها صرفا جنبهی تزئینی داشتن :)
در ناوبار به غیر از پروفایل (کاربر ویژه) چهار گزینه موجود بود.
ctf.irancert.com
ctf.irancert.com/ajax/ping
ctf.irancert.com/ajax/password
ctf.irancert.com/logout
خوب بدیهی هست که "داشبورد" و "تغییر کلمه عبور" و "خروج"چه کاربردی دارند و این دو گزینه هم صرفا جنبهی تزئینی داشت.
بررسی وضعیت نود ها
وقتی روی گزینهی بررسی وضعیت نود ها کلیک کردم این صفحه برایم باز شد. یک ورودی داشت که ip میگرفت و پینگ میکرد.
اگر ارتباط با اون آیپی برقرار بود یه پیام سبز رنگ نشون میداد و اگر ارتباط برقرار نبود یه پیام قرمز نشون میداد. (متاسفانه یادم رفت از این قسمت اسکرین شات بگیرم و از عکس های noob0x استفاده میکنم)
در این قسمت باید پورت های مختلف رو فاز میکردم تا پورت های مختلف باز رو پیدا کنم. (متاسفانه از این قسمت هم اسکرین نگرفتن.) همزمان که داشتم فاز میکردم mr.msa پورت های باز رو برام فرستاد و در نتیجه این پورت ها باز بودن:
53, 21, 110, 80, 25, 143, 443, 465, 587, 783, 953, 993, 995, 3031, 3310, 3306, 4041, 4190, 8080
بررسی سورس کد
رفتم یه سری به سورس کد زدم. در سورس کد یه کامنتی توجه من رو جلب کرد.
یکی از گزینه های ناوبار به اسم "بخش ادمین" کامنت شده بود. مشخص است که یه رکوئست باید به لینک زیر بزنم!
<li class="nav-item"> <a href="https://ctf.irancert.com/GSecLab/EC3A13400EAB4431B5FF263788B8C1A8" class="nav-link"> <i class="nav-icon fa fa-magic"></i> <p>بخش ادمین</p> </a>
و یه رکوئست زدم و ریسپانسش این صفحه بود:
این تنها سرنخ بود و طبعا باید بایپسش میکردم. همین موقع ها بود که ایران سرور یه استوری گذاشت :)
پس رفتم تو گوگل یه سرچی زدم و این صفحه رو پیدا کردم.
در این صفحه چند هدر برای بایپس 403 پیشنهاد داده بود:
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
Host: localhost
ارتباط رو به برپ پروکسی کردم و به رکوئستم اولین هدر رو اضافه کردم و جواب نداد. بعدش دومی رو تست کردم.
که جواب داد. :) الان دسترسیم به ادمین کل سیستم ارتقا یافت. ( این بده... )
خوب در اینجا هم مثل پنل کاربر ویژه صفحاتش استاتیک هست. در ناوبار هم دو گزینه جدید اومد:
مقصد های ارسال: ctf.irancert.com/GSecLab/ajax/register
ارسال اطلاعات: ctf.irancert.com/GSecLab/ajax/send-data
ابتدا روی مقصد های ارسال رو کلیک کردم.
اگر جمع بستن اشتباه مقصد را که میشه مقاصد رو در نظر نگیریم و از اصل مطلب دور نشیم، یه ورودی اینجا هست که هر کارکتری را قبول میکنه!
فعلا این قسمت رو ایگنور کردم و روی ارسال اطلاعات کلیک کردم.
در این صفحه یه ورودی به اسم آدرس مقصد وجود داشت که طبعا مربوط به قسمت مقصد های ارسال میشد. یه آپلودر هم وجود داشت که به لینک زیر، فایل رو ارسال میکرد.
ctf.irancert.com/GSecLab/ajax/uploader
و یه فرم هم در انتها بود که شش تا ورودی میگرفت:
نام
نام خانوادگی
ایمیل
شماره همراه
فلگ
توضیحات بیشتر
ایران سرور باز هم در این لحظه یه استوری دیگه گذاشت و یه هینت دیگه داد. و چون ایران سرور مرام و معرفت بالایی داره یه ساعت دیگه هم تمدید کرد. =)))
طبعا باید فلگ رو بدست میاوردم و همراه با اطلاعات شخصیم به یه جایی که هنوز نمیدونستم کجاست ارسالش میکردم.
با خودم فکر کردم که اطلاعات خودم رو باید به کجا ارسال کنم؟ به روابط عمومی شبکه سه؟ به مسابقه محله؟ به قرعه کشی دنا پلاس؟ به اسنپ فود؟ خوب بدیهی هست که اطلاعات خودم رو باید به ایران سرور رو ارسال کنم. سوال بعدی که ایجاد شد این بود به کدوم آدرسی که متعلق به ایران سرور ارسال کنم؟ درسته متد ارسال اطلاعاتش POST بود ولی نباید آدرس پستی شرکت ایران سرور رو وارد بکنم :))) پس تنها چیزی که میمونه آدرس آیپی ایران سرور هست که من نداشتم و پس به لوکال هاست (127.0.0.1) باید ارسال میکردم.
در قسمت مقصد های ارسال 127.0.0.1 رو وارد کردم و به قسمت ارسال اطلاعات بازگشتم و اطلاعات شخصی خودم رو تایپ کردم و گزینه ارسال رو زدم. یه پیام خطا اومد که یادم نمیاد چه چیزی نوشته بود.
باز یه سوال دیگه ای برام ایجاد شد که آیا باید به لوکال هاست ارسال بشه یا نه؟ و همین جور که داشتم فکر میکردم به ذهنم اومد که این اطلاعات باید به یه پورت خاصی ارسال بشه نه 127.0.0.1 بدون پورت!
دوباره در مقصد های ارسال آیپی لوکال هاست رو با پورت 80 نوشتم.
و به قسمت اطلاعات بازگشتم و دوباره فرم رو پر کردم. و فرم رو ارسال کردم. باز هم پیام خطا داد :(
اینجا بود که یاد قسمت بررسی وضعیت نودها افتادم که حدود تا 20 پورت باز رو پیدا کرده بودم. سریع رفتم با برپ این درخواست رو با اون 20 تا پورت فاز کردم.
دو گزینه بود که Length ریسپانسش با بقیه موارد فرق میکرد. ریسپانس یکی از موارد رو دیدم و رفتم با دیکدر unicode، دیکدش کردم.
و بله :)))))))))) بالاخره تونستم سابمیتش کنم. اما هنوز فلگ موندش.
واضح بود که قسمت آپلودر رو واسه خوشگلی نذاشتن. سریع رفتم یه شل آپلود کردم و آپلودر آسیب پذیری RCE داشت و فلگ رو بدست آوردم. ولی متاسفانه دوباره خواستم اطلاعات خودم رو با فلگ ارسال کنم، پیغام خطا (شما تنها یکبار مجاز به ثبت اطلاعات خود هستید) میداد و سابمیت نشد. :(((
(در استوری گفته بودن که اول اطلاعات شخصیتون رو ارسال کنید و بعدش فلگ رو پیدا کنید)
برحال تجربه خوب و جذابی بود و خیلی کیف کردم :) از ایران سرور هم بابت برگزاری این CTF تشکر میکنم و تا باشد از این CTF ها...
جا از دوست خوبم mr.msa تشکر کنم ❤
خیلی ممنون میشم نظراتتون برام کامنت کنید.
من رو میتونید در این شبکه های اجتماعی هم دنبال کنید: