🅰پروژهای که در جهنم را باز کرد
🅱قسمت ۱۵: شکاف در کد
سرم هنوز از اون پیامهای آخر سیستم داغ بود. «تغییر معماری»...
این دیگه چه صیغهای بود؟ انگار دارن دنبال کسی میگردن که نه فقط بلد باشه با کدها کار کنه، بلکه بتونه کل ساختار رو بهم بریزه و دوباره از نو بسازه!!😕
لپتاپم دیگه اون لپتاپ سابق نبود؛ انگار خودش هم فهمیده بود که دارن از بیرون کنترلش میکنن. فنش جوری کار میکرد که انگار میخواست از جاش کنده بشه😖
دوباره رفتم سراغ Network تا شاید یه چیزی پیدا کنم. اینبار تصمیم گرفتم خیلی آرومتر پیش برم. نمیخواستم دوباره سیستم بفهمه دارم دنبال نقاط ضعفش میگردم و امتیاز ناچیزی که برام مونده رو هم صفر کنه💳🧨
با Inspect Element زدم روی یکی از المانهای اصلی صفحه.
یه div بود که کل محیط کاربری مسابقه رو نگه داشته بود...
وقتی استایلهای این div رو چک کردم، دیدم کلی متغیر توش تعریف شده🗝🗝 همون متغیرهای رنگ و سایز و اینا...
یه چیزی اون وسط خیلی عجیب بود:
⚠️ --vulnerability-point
چشمام چهارتا شد😳 «نقطهی آسیبپذیری»؟ اونم توی متغیرهای استایل؟
(این آدما خودشون می دونن دارن چیکار میکنن؟؟)اول فکر کردم شاید یه شوخی احمقانه برای تمسخر من باشه از طرف طراح این سیستم ولی وقتی مقدارش رو تغییر دادم، یه اتفاق عجیب افتاد.🤯
(فکر کردم دارن مسخرم می کنن ولی مثل اینکه واقعا یه چیزی اینجاست)کل پنل امتیازها که همیشه گوشهی صفحه بود، برای یه لحظه غیب شد و جاش یه فضای خالی سیاه ظاهر شد. 💢 یه شکاف!!!!!!!! یه چیزی مثل یه حفره توی کدهای HTML ... که اصلاً نباید اونجا میبود💡 توی اون فضای سیاه، یه کد خیلی ریز نوشته شده بود که فقط با Inspect میشد دیدش: ⭕️ <!-- NODE_0: ENTRY_POINT_DETECTED --> ⭕️ یعنی من تازه تونستم یکی از ورودیهای اصلی سیستمشون رو پیدا کنم؟ تپش قلبم رفته بود روی هزار💥 این همون «تغییر معماری» بود که لاگها میگفتن؟ داشتم دستو پا میزدم که اون حفره رو بیشتر باز کنم که یهو یه پیام دیگه روی کل صفحه نشست⚠️ اینبار نه از طرف سیستم، نه از طرف ناظرها. یه پیام سیستمی خیلی سرد: 🌐> WARNING: UNAUTHORIZED MODIFICATION OF CORE STYLES. 🌐> SYSTEM BALANCE SHIFTED. سیستم داشت میفهمید. نباید میذاشتم متوجه بشن دارم به قلب تپندهی پروژهشون دست میزنم. سریع کد رو به حالت اول برگردوندم، ولی اون حفره... اون حفره رو هنوز یادم بود👀🕳 توی همین گیرودار، یه تغییر دیگه هم حس کردم. انگار تماشاگرها واکنش جدیدی نشون دادن. یه صدایی مثل پچپچ مبهم از توی اسپیکر لپتاپ بلند شد😶🌫 انگار دارن در موردِ من حرف میزنن. نه... انگار دارن در مورد «اینکه چطور این حفره رو پیدا کردم» شرطبندی میکنن!☠ کمکم داشت برام روشن میشد. اونا دنبال بهترین فرانتکار نمیگردن که بیاد براشون سایت بزنه. اونا دارن کسی رو تست میکنن که بتونه کدها رو بشکنه. صبر کن... صبر کن... یعنی😶😶 یعنی کل این مسابقه، در واقع یه جور «تست نفوذ» برای خودشون بود❗️ من یه فرانتکار ساده بودم که حالا داشت با یه دست خالی، دیوار بلند یه دژ دیجیتال رو سوراخ میکرد🧩 نمیدونستم پشت این حفره چیه، ولی حس میکردم اگه بتونم ردش رو دنبال کنم، شاید بالاخره بفهمم کجای این دنیای کثیف گیر افتادم🎭 فقط یه سوال بزرگ برام موند: چرا این حفره رو باز گذاشتن؟ این یه اشتباه برنامهنویسی بود، یا یه تلهی دیگه برای اینکه ببینن چقدر میتونم احمق باشم؟🧐 ادامه دارد...🔜🔜 #داستان #جهنمی ╭─❀ @web_block ❀─╮
به نظرت:
اگه اینترنت کل دنیا فقط ۱ ساعت قطع بشه، اولین چیزی که به مشکل بخوره چیه؟🧐
۱) بانکها 💳
۲) پیامرسانها 💬
۳) حملونقل 🚗
۴) شبکه برق ⚡
۵) زندگی خودمون 😶
حدس خودتونو به پشتیبانی بفرستید✅
🆔 @Web_Block_Support
فردا پاسخ صحیح رو توی کانال میزارم براتون❤️
🅰پروژهای که در جهنم را باز کرد
🅱قسمت ۱۶: پشت شکاف
چند ثانیه فقط خیره مونده بودم به همون جای خالی سیاه.
NODE_0: ENTRY_POINT_DETECTED
این دیگه فقط یه باگ یا یه اشتباه کوچیک نبود. حس میکردم یه در مخفی رو پیدا کردم که عمداً یه لایه روش کشیده بودن، اونم نه خیلی ماهرانه؛ بیشتر شبیه این بود که بخوان فقط آدم درست پیداش کنه!
(یا شایدم یه آدم اشتباه...)دوباره شروع کردم به بالا و پایین کردن ساختار صفحه همهچیز خیلی تمیز و منظم بود؛ زیادی تمیز! اونقدر که آدم شک میکرد یه سیستم واقعی پشتشه، نه یه سایت معمولی🌀 لایهها با flex و grid درست چیده شده بودن، اما زیر اون نظم ظاهری، یه سری لایه های پنهان دیده میشد که فقط وقتی استایلها رو خاموش میکردم خودشون رو نشون میدادن👁🗨
(چرا سعی دارن همه چیز رو پنهان کنن؟)یکی از اون لایهها یه iframe بود که با شفافیت صفر و pointer-events: none قایم شده بود. اگر صفحه رو عادی نگاه میکردم، هیچوقت نمیدیدمش🧐 ولی وقتی پیداش کردم، بدجوری حس کردم دارم به یه اتاق پشت دیوار نگاه میکنم. آدرسش کوتاه بود: /relay/view انتظار داشتم باز همون پنجرههای نظارت، همون لاگهای لعنتی رو ببینم😖 اما اینبار فقط یه صفحهی ساده باز شد؛ یه صفحهی تقریباً خالی با یه نوار وضعیت پایینش: 🔴LIVE STAGE SYNC زیرش چندتا نام کاربری دیده میشد. نه اسم واقعی، فقط شناسه: - USER_03 - USER_09 - USER_12 - USER_19 - USER_45 همونهایی که قبلاً توی فایلهای log_archive دیده بودم. پس اینا واقعاً به هم وصل بودن. نه به شکل چت، نه به شکل تماس مستقیم؛ بلکه به شکل یه مرحلهی مشترک. انگار هر کدومشون یه نسخه از یه آزمایش بودن. نوار وضعیت پایین صفحه یهو بالا رفت: BUFFERING.. SYNCING NEXT EVENT... و بعد، برای چند لحظه، یه تصویر محو ظاهر شد؛ نه از اتاق من، نه از صفحهی خودم. یه محیط دیگه بود 😰 یه دسکتاپ دیگه. یه پنجرهی مرورگر با همون قالب، همون رنگ، همون چینش. فقط شمارهی مرحله فرق میکرد: STAGE 05 یعنی من تنها کسی نبودم که این کابوس رو تجربه میکرد. من یکی از چند نفر گیر افتاده تو این بازی دیجیتال بودم... و این شکاف، در واقع یه پنجره به بقیه بود!!🤭
(حالا سوال اینه که باید تلاش کنم با بقیه ارتباط بگیرم یا نه؟!)دستام یخ کرده بود. میخواستم بیشتر نگاه کنم که یه پیام خیلی ریز پایین صفحه چشمک زد: > SPECTATOR LAYERS EXPOSED > REDIRECTING... فهمیدم اگه همینجوری ادامه بدم، سیستم مسیر منو عوض میکنه. ولی قبل از اینکه صفحه سیاه بشه، یه تکهی دیگه از اون تصویر رو دیدم: یه نفر اونطرف صفحه، دقیقاً همزمان با من داشت توی DOM خودش میگشت. نه من اونو میدیدم، نه اون منو. فقط هر دو داشتیم همزمان دیوارهای یکسانی رو لمس میکردیم. همین فهمیدن اینکه تنها نیستم، بدترم کرد😶 چون اگه یکی دیگه هم همینجاست، پس این همه لاگ، این همه مرحله، این همه پنهانکاری... همش برای یه بازی بزرگتره. و من هنوز حتی نفهمیده بودم آخر این بازی چی میخوان ازم بگیرن❗️
(اگر بفهمم از من چی می خوان خیلی راحت تر می تونم تصمیم بگیرم)یه چیز دیگه هم واضح شده بود: اون iframe فقط یه پنجره نبود. یه مسیر بود. و اگر میخواستم ازش استفاده کنم، باید خیلی زود، قبل از اینکه سیستم بفهمه، یه کاری میکردم. شاید تغییر یه استایل. شاید خاموش کردن یه لایه. شاید باز کردن یه در، فقط برای یه ثانیه. اما همونطور که به صفحه زل زده بودم، پایین مرورگرم یه اعلان قرمز اومد: 🚫> PARTICIPANT ACTIVITY DETECTED 🚫> VIEWERSHIP STABILITY COMPROMISED یعنی دارن میفهمن که من دارم از پشت صحنه نگاه میکنم!!
(وای خدای من... نه اونا نباید می فهمیدن)و این بدترین لحظهی ممکن بود⚠️ ادامه دارد...🔜🔜 #داستان #پروژه_جهنمی ╭─❀ @web_block ❀─╮
برنامه نویسی | Web Block
به نظرت: اگه اینترنت کل دنیا فقط ۱ ساعت قطع بشه، اولین چیزی که به مشکل بخوره چیه؟🧐 ۱) بانکها 💳 ۲
جواب:
گزینه ۱؛ بانکها 💳
چون حجم خیلی زیادی از پرداختها، کارتخوانها، انتقال پول، خرید آنلاین و ارتباط بین سیستمهای مالی به اینترنت وابستهان و اختلالش سریع دیده میشه.💶
بعد از اون معمولاً پیامرسانها و سرویسهای حملونقل ضربه میخورن.🚕
جالب اینکه برق تو بیشتر مناطق مستقیم با اینترنت عمومی کار نمیکنه و معمولاً دیرتر تحت تأثیر قرار میگیره.💡
@web_block
🅰پروژهای که در جهنم را باز کرد
🅱قسمت ۱۷: خطای مهلک
صفحه داشت از دستم میرفت😨
سیستم متوجه شده بود که دارم از لایه
iframeاستفاده میکنم. ضربان قلبم رو توی گوشام میشنیدم💥 باید سریع عمل میکردم؛ یا باید کل سیستم رو ریست میکردم یا... یه راهی پیدا میکردم که ردی از خودم نذارم... سریع رفتم روی تب Network لیست درخواستها داشت با سرعت وحشتناکی رفرش میشد. یک دامین جدید اضافه شده بود: tracker-verify.io. همون لحظه فهمیدم: این کدی بود که باید بفهمه من از کجا دارم به محتوا دسترسی پیدا میکنم🌪 اگر نمیبستمش، کل دسترسی من قطع میشد و احتمالاً... حذف میشدم!!
(نه... حالا که تا اینجا اومدم نباید حذف بشم)با یه حرکت سریع، یک Breakpoint روی XHR Request گذاشتم. هر چی بود و نبود رو توی کنسول مرورگر متوقف کردم. کد اجرایی سیستم برای یک لحظه ثابت موند... صفحه یهو فریز شد❄️ همهچیز، از شمارنده امتیازها تا اون پیام قرمز تهدیدآمیز، گیر کرد🚫
(حالا فرصت دارم)دنبال کدی گشتم که اون XHR رو فراخوانی میکرد. یه فایل monitor.js پیدا کردم. کدش خیلی پیچیده بود، ولی یه تابع توش بود که اسمش مو رو به تنم سیخ کرد: function report_breach_and_terminate(user_id) { ... } «گزارش نقض و پایاندهی»♨️ این همون تابعی بود که اگر اجرا میشد، یعنی آخر کار من💣 توی همین گیرودار، یه فکر دیوانه وار به سرم زد. نمیخواستم فقط این درخواست رو ببندم. اگر میشد مسیرش رو عوض کنم چی؟ اگر میشد جای اینکه هویت من رو به اونها گزارش بده، یه دیتای فیک یا خراب براشون بفرسته؟📭 کد رو ویرایش کردم! تابع رو جوری تغییر دادم که به جای ایدی من، یک مقدار تهی (null) بفرسته😶 دستام میلرزید. دکمهی Resume رو زدم. یک ثانیه... دو ثانیه... صدای فن لپتاپ آروم گرفت. پیام قرمز تهدیدآمیز محو شد. به جاش، یک پیام جدید روی کنسول ظاهر شد: > SYSTEM RECALIBRATING... > STABILITY RESTORED. نفسم رو حبس کرده بودم😮💨 یعنی باور کردن؟ سیستم فکر کرد همهچیز عادیه؟ یهو، اون نوار وضعیت پایین صفحه که قبلاً دیده بودم، یک بار دیگه تغییر کرد. اینبار فقط نوشته بود: CONNECTION_TYPE: INTER-NODAL تازه متوجه شدم که چیکار کردم! من از «شکار» اونا تبدیل شدم به یه «گره» توی شبکه!! من الان بخشی از زیرساخت اونا بودم، بدون اینکه اونها بفهمن من کیام🤫 اما یه حس بدی داشتم. انگار این موفقیت، زیادی ساده بود. همون لحظه، یه فایل جدید توی دسکتاپ مجازیام ظاهر شد: instruction_01.txt. بازش کردم. توش فقط یک جمله بود: 📄«حالا که حفره رو باز کردی، وارد شبکه شو. زمان تست نهایی معماریه.» اونا میدونستن😵 اونا از اول میدونستن من این کار رو میکنم. این یه تست بود برای اینکه ببینن میتونم خودم رو توی سیستم اونا ادغام کنم یا نه.
(یه تست برای اینکه ببینن من تسلیم میشم یا نه؟)من نه تنها فرار نکردم، بلکه حالا عملاً توی دل سیستم اونا بودم و راهی هم برای برگشت نداشتم❌ ادامه دارد...🔜🔜 #داستان #پروژه_جهنمی ╭─❀ @web_block ❀─╮
از تم های دارک و لایت تکراری و ساده vs code خسته شدی؟😫
🔴🎥 یه ویدئو خفن که ۳ تا افزونه بهت معرفی می کنه برای تم های جذاب🎨
✅کنتراست عالی
✅ظاهر مدرن و شیک
✅بدون خستگی چشم
✅تنوع رنگی
ببینید و لذت ببرید💞
19.3M حجم رسانه بالاست
مشاهده در ایتا
🦋معرفی افزونه های تم در VS CODE
🅰پروژهای که در جهنم را باز کرد
🅱قسمت ۱۸: معماری سایهها
حالا دیگه فقط یک کاربر نبودم که بیرون حصار ایستاده؛ من بخشی از کد اونا شده بودم.
📂 فایل
instruction_01.txtهنوز روی صفحه باز بود و کلماتش مثل لکهی خون🩸روی صفحه میدرخشیدن: «زمان تست نهایی معماریه» سیستم حالا اجازه میداد به بخشهایی دسترسی داشته باشم که تا چند دقیقه پیش، مثل دیوارهای بتنی غیرقابل نفوذ بودن!
(اینجا دقیقا چه خبره؟چطور هنوز بهم اخطار نداده؟)با کنجکاوی شروع کردم به گشتن تو دایرکتوری /assets/core/. برخلاف فایلهای قبلی که پر از کدهای مخفی و پیچیده بودن، اینجا فقط اسکلتبندی اصلی وبسایت بود☠ اما یک چیز عجیب بود🧐 ساختار CSS سایت از یک فایل grid.css استفاده میکرد که بینهایت ستون داشت. وقتی فایل رد باز کردم، با دیدن کلاسها نفسم بند اومد🆘 به جای اسمهای رایج برنامهنویسی، کلاسها با شمارهی شرکتکنندهها برچسبگذاری شده بودند: .cell-user-01, .cell-user-09, .cell-user-34... من کدی که مال خودم بود رو پیدا کردم: cell-user-22 با یه تغییر ساده تو z-index و grid-column، شروع کردم به جابهجا کردن بلوک مربوط به خودم تو ساختار کلی صفحه وقتی تغییرات رو ذخیره کردم، تصویر دوربین وبکم من که همیشه گوشهی تصویر اصلی بود، ناپدید شد👾 سکوت وحشتناکی اتاق رو فرا گرفت. نه صدای فن، نه صدای تماشاگرها🤫 ستون من حالا تو یک موقعیت جدید قرار گرفته بود: cell-hidden-buffer من از دید تماشاگرها مخفی شده بودم😶🌫♨️ این یعنی سیستم هنوز نفهمیده بود من دارم کد رو دستکاری میکنم، یا شاید... داشتن به من اجازه میدادن که این کار رو بکنم تا ببینن بعدش چیکار میکنم؟؟ در همین حین، یه اعلان سیستمی روی کنسول ظاهر شد: 📛> WARNING: ARCHITECTURE OVERLOAD 📛> REDIRECTING ALL VIEWERS TO: STAGE_FINAL_01 همه داشتن به یه صفحهی جدید منتقل میشدن. کنجکاو شدم. با استفاده از همون ابزاری که برای پنهان کردن خودم ساخته بودم، یک EventListener روی دکمهی Redirect گذاشتم تا بفهمم مقصد نهایی کجاست؟؟؟ لینک مقصد یک آدرس عجیب بود: http://localhost:9090/core-execution/eval قلبم ریخت... eval؟ 😰 اونا میخواستن کدهای مستقیم ما رو اجرا کنن؟ یعنی تمام فرآیند طراحی و کدزنی که ما داشتیم انجام میدادیم، در واقع ورودی یه الگوریتم بزرگتر بود؟🎯 ما فقط داشتیم برای اونا «دیزاین» میکردیم، بدون اینکه بدونیم در حال ساخت یه زندان دیجیتال پیچیدهتر برای خودمون هستیم.🎟 یک فایل دیگه تو تب Network ظاهر شد که داشت با سرعت وحشتناکی بارگذاری میشد: production_build.log. بازش کردم. متنها سریع میدویدن: [SYSTEM]: Injecting component <user_22_interface>... [SYSTEM]: Component accepted. [SYSTEM]: User 22 - Role: PRIMARY_ARCHITECT. «معمار اصلی»؟ این مسخره بود🙄 من فقط یه فرانتاندکار معمولی بودم که سعی میکردم از این مهلکه فرار کنم!!! چطور ممکن بود من رو به عنوان معمار این ساختار انتخاب کرده باشن؟
(مگه قرار نبود اینا نفهمیده باشن من چیکار کردم با کدا؟؟)یه پیام دیگه روی صفحه نقش بست که از طرف هیچکس نبود، فقط یه متن ساده تو console که انگار مستقیماً به حافظهی مرورگر من تزریق شده بود: ⚠️> CONGRATULATIONS, USER 22. YOU HAVE REBUILT THE UI. WOULD YOU LIKE TO SEE WHAT YOU HAVE CREATED? دکمهای با عنوان [RENDER] زیر متن ظاهر شد⏯ 🔚اگر روی اون میزدم، شاید میتونستم ببینم این «معماری» چیه.. اما میدونستم که این دکمه، پایان کاره! یا خودم رو لو میدم، یا بالاخره میفهمم با دستهای خودم چه دیواری دور خودم کشیدم. انگشتم روی کلید Enter خشک شد😨 ادامه دارد...🔜🔜 #داستان #پروژه_جهنمی ╭─❀ @web_block ❀─╮
دلت می خواد مرورگر پیش فرض لایو سرور رو تغییر بدی؟🤩🤩
🧩 از اینکه لایو سرور مجبورت کنه تو مرورگری که دوست نداری خروجی ببینی ناراحتی؟😐🤌
🎥🔴 ویدئو آموزشی زیر دقیقا برای توعه🤝
👀اگر نمی دونی لایو سرور چیه اینجا رو ببین
_____
سوالی بود می تونی از پشتیبانی بپرسی🤗
🆔 @Web_Block_Support