حل چالش‌های Natas (۰ تا ۴)

با سلاممن احمد عبدالله‌زاده هستم و قصد دارم در این مجموعه از مطالب به حل مجموعه چالش‌های Natas از سایت OverTheWire بپردازم.حل و توجه به نکات این چالش‌ها میتواند به‌شما در طراحی وبسایت‌ها و نرم‌افزار‌های امن‌تر کمک کند. من بعد از دیدن چندتا از فیلم های جادی شروع به حل این مجموعه کردم که برای من بسیار جالب و مفید بود.امیدوارم براتون مفید باشه :-)چالش ناتاس از ۳۴ مرحله تشکیل شده که برای رفتن به هر مرحله باید رمز اون مرحله رو از مرحله قبل بدست بیارین.چالش را از این صفحه شروع کنید:https://overthewire.org/wargames/natas/natas0.htmlپیدا کردن رمز Natas0یوزنیم و پسورد مرحله صفر به این صورته:نکته‌ی مورد نظر این مرحله احتمالا نشان دادن عدم امنیت بالای یوزرنیم و پسورد ساده و یکسان است.احتمالا دیده‌اید که افراد زیادی از رمز ساده مانند ۱۲۳۴۵۶ یا admin و ... استفاده می کنند که حدس زدن آنها بسیار ساده است.یوزرنیم و پسورد پیچیده تری برای خود انتخاب کنید که قابل حدس نباشد.Username: natas0 Password: natas0 URL: http://natas0.natas.labs.overthewire.orgپیدا کردن رمز Natas1در صفحه‌ی Natas0 باید دنبال یوزرنیم و پسورد Natas1 باشیم.گاهی برنامه نویسان هنگام ساخت نرم‌افزار خود اطلاعات مهم و حیاتی مانند پسورد قسمت‌های مهم یا پسورد دیتابیس را بصورت کامنت در کد خود قرار می‌دهند و فراموش می‌کنند که آنرا حذف کنند.در این مرحله می‌توانید با کلیک راست روی صفحه و زدن گزینه‌ی Inspect Element(Q) در کد HTML یوزرنیم و پسورد مرحله‌ی ۱ را پیدا کنید. Username: natas1 Password: gtVrDuiDfck831PqWsLEZy5gyDz1clto URL: http://natas1.natas.labs.overthewire.orgپیدا کردن رمز Natas2در صفحه‌یNatas1 باید دنبال یوزرنیم و پسورد Natas2 باشیم.در این مرحله برنامه‌نویس کلیک راست روی صفحه را قفل کرده تا هکر به کد صفحه دسترسی نداشته باشه اما این کار باعث بالا رفتن امنیت سایت نشده زیرا براحتی میتوان با زدن شورت‌کات CTRL+u به سورس صفحه دسترسی پیدا کرد و رمز مرحله‌ی بعد رو کشف کرد.Username: natas2 Password: ZluruAthQk7Q2MqmDeTiUij2ZvWy2mBi URL: http://natas2.natas.labs.overthewire.orgپیدا کردن رمز Natas3در صفحه‌ی Natas2 باید دنبال یوزرنیم و پسورد Natas3 باشیم.در این مرحله عبارت چیزی در این صفحه نیست را مشاهده میکنیم. پس از بررسی سورس کد صفحه هیچ کامنتی که حاوی یوزرنیم و پسورد مرحله‌ی بعد باشد مشاهده نمی‌شود. اما یک img_tag جلب توجه میکند:<img src=&quotfiles/pixel.png&quot>با بررسی آدرس /files/ متوجه‌ی فایل users.txt می‌شویم که حاوی اطلاعات مربوط به مرحله‌ی بعد است.نتیجه: فایل حاوی اطلاعات مهم خود را در آدرسی که کاربر بتواند به آن دسترسی پیدا کند قرار ندهید.Username: natas3 Password: sJIJNW6ucpu6HPZ1ZAchaDtwd7oGrD14 URL: http://natas3.natas.labs.overthewire.orgپیدا کردن رمز Natas4در صفحه‌ی Natas3 باید دنبال یوزرنیم و پسورد Natas4 باشیم.با بررسی سورس کد این مرحله این عبارت به چشم می‌خورد:<!-- No more information leaks!! Not even Google will find it this time... -->با اندکی بررسی در اینترنت متوجه می‌شویم که ربات‌های گوگل هنگام بررسی صفحات هر وبسایت از فایل robots.txt/ عبور کرده و آنرا بررسی نمی‌کنند. این موضوع ممکن است باعث شود برنامه نویس این فایل را برای قرار دادن اطلاعات مهم وبسایت خود انتخاب کند تا با سرچ در گوگل این اطلاعات پیدا نشوند اما یکی از اولین فایل‌هایی که یک هکر بررسی می‌کند همین فایل است.نتیجه: هرگز اطلاعات مهمی که می‌خواهید از دسترس هکرها دور باشند را در این فایل قرار ندهید.با بررسی آدرس http://natas3.natas.labs.overthewire.org/robots.txt این صفحه را مشاهده می‌کنیم:حال با بررسی مسیر /s3cr3t/ فایل users.txt که حاوی پسورد مرحله‌ی بعد است را میبینیم.Username: natas4 Password: Z9tkRkWmpt9Qr7XrR5jWRkgOU901swEZ URL: http://natas4.natas.labs.overthewire.orgدر پست‌های بعد به حل ادامه‌ی مراحل این چالش می‌پردازیم.