Security hint
4.54K subscribers
75 photos
2 videos
18 files
187 links
🔥Security training

🎯 قراره روشن کننده مسیرتون باشیم.

یوتیوب: www.youtube.com/@sec_hint

اپارات: aparat.com/sec_hint

گیت‌هاب: https://github.com/sechint

ادمین:
@adm_sec_hint
Download Telegram
🐞Command Injection
زمانی اتفاق می افتاد که ورودهای حساس بدون فیلتر مناسب در شل وب اپلیکیشن آپلود شود.
چرا باید وب اپلیکیشن ورودی رو در شل قرار دهد ؟
-تبدیل های مربوط به عکس/ ویدیو
-فراخوانی یک وب سرویس خارجی
-فراخوانی باینری
انواع مختلف:
- Reverse shell
ویکتیم (victim) رو مجبور کنیم به سرور ما درخواست ارسال کند و متصل شود
HTTP/DNS data exfiltration

تولز مناسب :
commix -> https://github.com/commixproject/commix

Payload


#Command_Injection
#bug_cheet

🌐@sec_hint
👍1👎1
🐧دستوراتی که باید از لینوکس بدانید: (پارت اول)
~$ls
نمایش محتوای یک دایرکتوری

~$cd /path/to/directory
تغییر دایرکتوری

~$pwd
مسیری که درحال حاضردران قرار داریم

~$mkdir name_of_dir
ایجاد یک دایرکتوری

~$rm file.txt
حذف یک فایل یا یک دایرکتوری

~$du
تخمین و نمایش میزان استفاده از فضای دیسک

~$cp file.txt /path/to/destination
کپی یک فایل یا دارکتوری

~$mv file.txt new_name.txt 'or'
mv file.txt /path/to/destination
انتقال یک فایل یا دایرکتوری

~$cat file.txt
نمایش محتوا یک فایل

~$echo "Hello, World!"
نمایش یک پیام یا مقدار یک متغیر

~$wget https://example.com/file.zip
دانلود یک فایل از اینترنت

~$id
نمایش اطلاعات کاربر یا گروه

~$whoami
نمایش نام کاربری کاربر فعلی

~$ps
نمایش اطلاعات مربوط به فرآیندهای در حال اجرا

~$uname -a
نمایش اطلاعات سیستم از جمله نام سیستم و نسخه هسته
~


#linux
#command

@sec_hint
🔥11👍41
🐧دایرکتوری های مهم در لینوکس:

/bin (Binary): 
شامل برنامه های اجرایی باینری، دستورات رایج مانند ls، cp، mv و rm در اینجا ذخیره می شوند

/etc (Etcetera):
دایرکتوری مربوط به فایل های پیکربندی سیستم و برنامه های نصب شده

/var (Variable):
دایرکتوری برای داده های پویا سیستم مثل گزارش ها، آپاچی

/home:
محل ذخیره ی فایل ها و تنظیمات شخصی

/root:
دایرکتوری اصلی کاربر ریشه

/tmp (Temporary):
محل ذخیره سازی موقت فایل ها



#linux #dir #command

@sec_hint
👍62
🐧دستوراتی -command- که باید از لینوکس بدانید: (پارت دوم)
~$command | tee output.txt
با tee خروجی دستوری را میتوان نمایش و در خروجی ذخیره کرد
~$tail file.txt
نمایش چند خط از فایل مثلا: tail -n 11 file.txt
~$grep "pattern" file.txt
پیداکردن یک الگو در یک فایل
~$echo hello word | sed 's/e/E/'
تبدیل‌های متنی در یک جریان ورودی
~$find /path/to/search -name "*.txt"
جستجوی فایل ها و دایرکتوری ها
~


#linux
#command

@sec_hint
👍4
🧞‍♀️دو غول دنیای خط فرمان sh و zsh:
هر دو پوسته‌های خط فرمان (command line shells) هستند که به شما امکان می‌دهند با سیستم‌عامل خود تعامل داشته باشید. اما تفاوت‌های کلیدی بین آن‌ها وجود دارد که می‌تواند انتخاب پوسته مناسب را برای شما دشوار کند.

🚀کار پوسته‌ها چیست؟
پوسته‌ها رابط کاربری بین شما و سیستم‌عامل هستند. آن‌ها دستورات شما را تفسیر می‌کنند، آن‌ها را اجرا می‌کنند و نتایج را به شما نمایش می‌دهند. پوسته‌ها همچنین می‌توانند برای نوشتن اسکریپت‌ها، برنامه‌های کوچک برای خودکارسازی وظایف، استفاده شوند.

🔁تفاوت‌های sh و zsh:

تاریخچه: sh پوسته اصلی یونیکس بود که در دهه 1970 معرفی شد. bash در دهه 1980 به عنوان جایگزینی برای sh با ویژگی‌های بیشتر معرفی شد. zsh در دهه 1990 به عنوان جایگزینی برای bash با ویژگی‌های هنوز بیشتر معرفی شد.

قابلیت‌ها: zsh مجموعه‌ای از ویژگی‌های پیشرفته را ارائه می‌دهد که sh و bash ندارند، از جمله: ‏
پیشنهادات خودکار: zsh می‌تواند نام دستورات، فایل‌ها و متغیرها را به طور خودکار پیشنهاد دهد.
تاریخچه قدرتمند: zsh به شما امکان می‌دهد به راحتی در تاریخچه دستورات خود جستجو و پیمایش کنید.
شخصی‌سازی: zsh به شما امکان می‌دهد پوسته خود را با تم‌ها، افزونه‌ها و تنظیمات مختلف شخصی‌سازی کنید.
⁧.
پیچیدگی: zsh به دلیل ویژگی‌های بیشتر، می‌تواند پیچیده‌تر از sh و bash باشد.

💡انتخاب پوسته مناسب:
• اگر مبتدی هستید: sh یا bash ممکن است انتخاب‌های بهتری برای شما باشند. آن‌ها ساده‌تر هستند و یادگیری آن‌ها آسان‌تر است.
• اگر کاربر باتجربه‌ای هستید: zsh ممکن است انتخاب بهتری برای شما باشد. ویژگی‌های پیشرفته آن می‌تواند کارایی شما را افزایش دهد.

#bash #shell #linux #command #شل

@Sec_Hint
👍7🔥3🤩1
🔒 آشنایی با Command Injection و RCE 🔒
Command Injection

📌 تعریف: Command Injection یا تزریق دستورات، نوعی آسیب‌پذیری است که در آن مهاجم می‌تواند دستورات سیستمی را به یک برنامه تحت وب یا نرم‌افزار وارد کند و آن‌ها را اجرا کند. این نوع حمله زمانی ممکن می‌شود که ورودی‌های کاربر بدون اعتبارسنجی مناسب مستقیماً به خط فرمان سیستم عامل ارسال شوند.

⚠️ مثال: فرض کنید یک وبسایت فرمی دارد که نام دامنه‌ای را از کاربر می‌گیرد و آن را پینگ می‌کند:

import os
domain = input("Enter domain to ping: ")
os.system("ping " + domain)


اگر کاربر به جای وارد کردن نام دامنه، این ورودی را وارد کند:

google.com; rm -rf /


این دستور مخرب rm -rf / (که کل سیستم را پاک می‌کند) به دنبال دستور پینگ اجرا می‌شود، چون ورودی کاربر مستقیماً به خط فرمان ارسال شده است.

Remote Code Execution (RCE)


📌 تعریف: RCE نوعی آسیب‌پذیری است که به مهاجم اجازه می‌دهد کد دلخواه خود را از راه دور بر روی سیستم هدف اجرا کند. این آسیب‌پذیری‌ها بسیار خطرناک هستند زیرا مهاجم می‌تواند کنترل کامل سیستم را در دست بگیرد.

⚠️ مثال: فرض کنید یک برنامه وب آسیب‌پذیری دارد که به مهاجم اجازه می‌دهد کد PHP دلخواه خود را از طریق یک درخواست HTTP ارسال و اجرا کند:

<?php
$code = $_GET['code'];
eval($code);
?>


مهاجم می‌تواند با ارسال یک درخواست به این صفحه، کد مخربی را اجرا کند:

http://vulnerable-website.com/vulnerable.php?code=system('cat /etc/passwd');


این دستور محتویات فایل حساس /etc/passwd را نمایش می‌دهد.

📌تفاوت Command Injection و RCE

یک- Command Injection بیشتر به تزریق دستورات سیستم‌عامل اشاره دارد که توسط برنامه آسیب‌پذیر اجرا می‌شوند.
دو- RCE به اجرای کد دلخواه مهاجم روی سیستم هدف از راه دور اشاره دارد. این کد می‌تواند هر چیزی باشد، از جمله اسکریپت‌های پیچیده یا برنامه‌های مخرب.

🔺چطور می‌توان از این حملات جلوگیری کرد؟

اعتبارسنجی ورودی‌ها: هرگز ورودی‌های کاربر را بدون اعتبارسنجی و تصحیح ارسال نکنید.
استفاده از توابع امن: از توابع و کتابخانه‌هایی استفاده کنید که برای اجرای دستورات و ارتباط با سیستم عامل طراحی شده‌اند و در برابر تزریق‌ها مقاوم هستند.
بروزرسانی منظم نرم‌افزارها: همیشه نرم‌افزارها و کتابخانه‌های خود را به آخرین نسخه بروز نگه دارید تا از رفع آسیب‌پذیری‌ها بهره‌مند شوید.



#Command_Injection #RCE #تزریق_دستورات #اجرای_کد_از_راه_دور

🌐Sec_Hint & Boost & Youtube
👍11👻1🦄1