0xCyberDev – Telegram
0xCyberDev
22 subscribers
26 photos
5 videos
3 files
29 links
01001000 01100101 01101100 01101100 01101111 00100000 01100110 01110010 01101001 01100101 01101110 01100100
Download Telegram
"هیچوقت به input کاربر اعتماد نکن"
اگه به عنوان یه Developer همین یه جمله ساده رو رعایت کنی جلوی کلی از آسیب پذیری های رایج Web رو میگیری.
👏1
یکی از قدیمی‌ترین آسیب‌پذیری‌های وب SQLi هست.
خودش چند نوع اصلی داره، مثل:
In-band,Blind,Out-of-band

اصولاً به هر SQLi که در اون هم برای حمله هم برای تخلیه دیتا از یک کانال استفاده میشه In-band میگیم.
که In-band هم خودش دو حالت داره:

Error-Based, Union-Based



باهم Error-Based رو بررسی کنیم:
توی این مدل حمله، مهاجم اول یه نقطه ورود (Injection Point) آسیب‌پذیر پیدا می‌کنه. این نقطه می‌تونه هر جایی توی برنامه باشه که اطلاعات کاربر رو بدون چک کردن درست و حسابی یا پاک‌سازی، صاف می‌فرسته قاطی کوئری‌های SQL. مثلاً پارامترهای URL، چیزایی که تو فرم‌های HTML می‌نویسیم، هدرهای HTTP (مثل Cookie یا User-Agent)، یا حتی اطلاعاتی که تو JSON یا XML برای APIها می‌فرستیم.

وقتی که مهاجم نقطه تزریق رو پیدا کرد با فرستادن ورودی‌های دستکاری‌شده کاری می‌کنه که پایگاه داده ارور بده. این ارورها جوری هستن که یه تیکه‌هایی از اطلاعاتی که می‌خوایم یا حتی ساختار پایگاه داده رو توی خودِ متن ارور نشون میدن. مهاجم این کار رو می‌تونه با خراب کردن سینتکس کوئری (مثلا با اضافه کردن ' ) انجام بده، یا اینکه از متدها و دستورهای خاصی توی پایگاه داده استفاده کنه که اگه بهشون ورودی ناجور بدی یا مشکلی پیش بیاد، اطلاعات رو لو میدن. مثلاً سعی می‌کنه یه چیزی که رشته هست (مثل نتیجه یه ساب‌کوئری) رو به زور تبدیل به عدد کنه، یا از متدهای کار با XML (مثل ExtractValue یا UpdateXML توی MySQL و چیزای شبیه به این تو بقیه پایگاه‌داده‌ها) با ورودی‌های دستکاری شده که توش یه ساب‌کوئری جاسازی کرده، استفاده می‌کنه.

اگه برنامه همچین اروری رو نشون بده، خب یعنی به SQLi مبتنی بر خطا آسیب‌پذیره!
البته اینکه ارور چقدر اطلاعات میده و چه شکلیه، به تنظیمات پایگاه داده و خود برنامه بستگی داره. بهترین حالت برای مهاجم اینه که ارورهای Verbose (یعنی پرحرف) بگیره که کلی جزئیات مثل نسخه پایگاه داده، اسم جدول‌ها، ستون‌ها یا حتی یه تیکه از خود کوئری رو بهش میده. اینم مهمه که بدونیم روش‌های ارور درآوردن و شکل خود ارورها خیلی به نوع پایگاه داده‌ای که استفاده میشه (مثلاً MySQL، SQL Server، Oracle، PostgreSQL) ربط داره.

از اینجا به بعد، مهاجم با درست کردن و فرستادن کوئری‌های آلوده و با برنامه، پله پله کل پایگاه داده رو شناسایی و به اصطلاح Enumerate می‌کنه. این Enumerate کردن معمولاً یعنی درآوردن نسخه پایگاه داده، کاربر فعلی، اسم پایگاه‌داده‌ها، بعدش جدول‌های توی یه پایگاه داده، ستون‌های توی اون جدول‌ها، و آخر سر هم کش رفتن اطلاعات حساس از این ستون‌ها. همه این اطلاعات رو هم از طریق همون پیام‌های اروری که پایگاه داده میده، به دست میاره.
🔥1
می‌گفتش که:
"بهترین زبان برنامه نویسی همونه که بابت استفاده ازش بهت پول میدن"
یکی از راه‌های خوب برای اینکه موقع چک کردن اخبار کمتر حواست پرت بشه استفاده از Feedly هست.
می‌تونی باهاش برای خودت Category مختلف از فیدهای شخصی‌سازی‌شده درست کنی و بدون اینکه پست‌های نامربوط تمرکزت رو به هم بزنن اطلاعاتت رو به‌ روز نگه‌ داری.
مثلاً یه متخصص امنیت که سرش شلوغه می‌تونه همه‌ی منابع خبری مورد نیازش رو توی یه فید جمع کنه.
یا مثلاً می‌شه یه فید برای خبرهای AI ساخت تا به موقع بدونیم قراره کدوم LLM شغلمون رو تصاحب کنه:)
شاید تا حالا اسم Fail2Ban به گوشتون خورده باشه خودم امروز وقتی داشتم یه CTF انجام میدادم باهاش آشنا شدم.
این ابزار در واقع یه IPS به حساب میاد که کارش اینه جلوی حملاتی مثل Brute Force رو بگیره. مثلاً اگه یه نفر هی بخواد پسورد سرور شما رو حدس بزنه Fail2Ban می‌فهمه و IP اون شخص رو بلاک می‌کنه تا دیگه نتونه حمله کنه. خیلی ابزار باحالیه برای بالابردن امنیت سرور.
اما یه نکته خیلی مهم و خطرناک وجود داره که اگه اجازه‌های دسترسی (Permissions) فایل‌ها و پوشه‌ها در سطح سیستم عامل (OS) درست تنظیم نشن همین Fail2Ban که قراره جلوی حمله رو بگیره خودش می‌تونه تبدیل به یه راه برای Privilege Escalation (بالابردن سطح دسترسی از یه کاربر عادی به کاربر روت) بشه!
یعنی چی؟ یعنی اگه یه مهاجم بتونه به فایل‌های تنظیمات Fail2Ban دسترسی پیدا کنه و اونا رو تغییر بده می‌تونه کاری کنه که Fail2Ban به جای محافظت یه کد مخرب رو با دسترسی روت اجرا کنه و در نهایت به مهاجم دسترسی کامل بده. این دیگه تقصیر خود Fail2Ban نیست بلکه برمی‌گرده به تنظیمات غلطی که در سطح OS روی پرمیشن‌ها اعمال شده.
اگه دوست دارید دقیق‌تر بدونید چطور می‌شه از این نقطه ضعف استفاده کرد و Fail2Ban رو برای Privilege Escalation اکسپلویت کرد این مقاله رو حتماً بخونید.
https://juggernaut-sec.com/fail2ban-lpe
ای بابا APT ها تنبل شدن خب چه کاریه چهارتا mac mini می‌گرفتید deepSeek رو self host میکردید دیگه😁
https://thehackernews.com/2025/06/openai-bans-chatgpt-accounts-used-by.html?m=1
شاید خیلی ساده به نظر بیاد اما وقتی با مسأله‌ای پیچیده سر و کار داری به‌جای اینکه فقط توی ذهنت حلاجی کنی کاغذ و قلم دست بگیر و بخشی از بار Cognitive رو offload کن روی برگه.

این کار چندتا مزیت داره:

اول اینکه مثل این می‌مونه که یه تکه از ram مغزت رو آزاد کردی،

دوم اینکه از نظر علمی (dual coding theory) اگه هم‌زمان با نوشته و تصویر کار کنی مسیرهای نورونی بیشتری فعال می‌شن و در نتیجه راحت‌تر الگوها رو توی مسأله پیدا می‌کنی،

سوم اینکه به‌جای حل خطی و تک‌بعدی راحت‌تر میتونی dynamic approach داشته باشی،

چهارم اینکه با کشیدن دیاگرام فلوچارت یا مایند‌مپ می‌تونی جزئیات رو شفاف‌تر ببینی و هیچ نکته‌ای جا نمونه،

پنجم اینکه این سبک کار باعث می‌شه حافظه‌ت بهتر عمل کنه خطاهای ساده کمتر بشن و حتی برای تیمی که باهاش کار می‌کنی تفهیم ایده‌ها آسون‌تر باشه.

خودم زمانی از قدرت این موضوع آگاه شدم که ازش برای حل سوالات الگوریتمی leetcode استفاده کردم.
موضوع قابل توجهیه که ساعتها بعد از آتش بس هنوز وضعیت اینترنت به حالت اولیه برنگشته، اونم در حالی که بمبارون و شلیک موشک تموم شده...

تاثیر اینترنت و ارتباطات دیجیتال روی موضوعات مختلف از سرفصل های امنیت داخلی گرفته تا موضوعات اجتماعی و آزادی مدنی...

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

این دوازده روز تنها جایی که بی دفاع بود آسمون ایران نبود...
امشب داشتم دوباره Zero Days رو میدیدم، به نظرم حتی اگه علاقه خاصی نسبت به Cyber Security و... ندارید بازم دیدنش می‌تونه خیلی سرگرم کننده و مفید باشه.


https://m.imdb.com/noscript/tt5446858/
فکر کنم توی Reddit بود که یبار یه نفر بهم گفت استفاده از nodejs برای ساخت back-end مثل حل یه پازله البته شاید بشه همین رو به همه زبان هایی که یجورایی Library Dependent هستن تعمیم داد...
خودم این موضوع رو جذاب می‌دونم و نقطه ضعف نمیبینمش البته که می‌تونه به نوع پروژه بستگی داشته باشه.
داستان ترسناک یک کلمه‌ای که developer ها برای بچهاشون میگن: "regex" 👻
تاحالا براتون پیش اومده توی سایت‌های فروش کتاب با یه چیزی شبیه این isbn:9780061917806 مواجه بشید و ندونید چیه؟
این یه URN (Uniform Resource Name) هست که زیرمجموعه URI به‌حساب میاد، درست مثل URLها که هر روز ازشون استفاده می‌کنیم، ولی به دلایلی خیلی کمتر شناخته شده‌ان...

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

در مورد مثال ISBN، URN به‌طور دقیق مشخص می‌کنه با چه کتابی طرفیم، بدون اینکه آدرس فیزیکی یا لینک دسترسی به اون کتاب رو نشون بده.

البته برای استفاده از URN نمی‌تونیم مثل URLها صرفا اونارو توی address bar مرورگر وارد کنیم، چون معمولا یا مرورگر نمی‌دونه چطور باید آدرس رو resolve کنه یا اون رو به‌عنوان یه query در نظر می‌گیره.
به همین دلیل، برای خوندن URN از ابزارها و وب‌سایت‌های مخصوص خودشون استفاده می‌کنیم. مثلا برای ISBNها می‌تونیم از سایت worldcat.org استفاده کنیم یا حتی از طریق خود گوگل و tab اختصاصی Books این کار رو انجام بدیم.

نمونه‌های دیگه URNها هم مثل ISSN، UUID و... وجود دارن که می‌تونید درباره‌شون بیشتر بخونید!

راستی isbn بالا مربوط به کتابی از سه‌گانه مورد علاقه خودمه!!!
امروز دوباره فکرم رفت روی بحث روش های نادرست استفاده از LLM ها، مثلا در پلتفرم Twitter یا همون X باب شده که افراد مدام از Grok استفاده میکنن تا براشون پست هارو توضیح بده!!!
این یعنی نابود کردن Critical Thinking!!!
البته که این خودش چند وقتیه به meme تبدیل شده ولی فکر نمیکنم چیزی بتونه جلوی این استفاده غلط رو بگیره...
This shit is getting out of hand...


https://youtu.be/7OTv6ZSP18c?si=DnXtFvrU1sbTcVWz
یه ابزار برای analyze کردن وبسایت و url ها که توی Threat Intelligence ازش استفاده میشه urlScanIO هستش میتونه کلی اطلاعات مفید از url که بهش میدید استخراج کنه...
Entity.Framework.Core.in.Action.www.EBooksWorld.ir.pdf
4.7 MB
از سری کتاب هایی که برای رستگاری در EF Core میتونید مطالعه‌اش کنید
یه نکته، اگه به سایتی که اتصال https رو به اجبار برقرار میکنه (اصطلاحا enforce میکنه) درخواست http بفرستید (مثلا روی port 80) اون بهتون respnose با کد 301 یا Moved Permanently میده و redirect ‌میکنه به https
از نگاه دولوپری هم میتونیم با تکنولوژی های مختلفی https enforcing انجام بدیم، از nginx و apache گرفته تا DNS level redirect توی cloudflare
یه ابزار note taking خیلی ساده اما کاربردی 'SimpleNote' هست. بدرد بخوره مخصوصا برای کسایی که نیاز دارن note هاشون بین دیوایس های مختلف با OS های مختلف sync باشه...