💉 تزریق SQL: چیست و چه کاربردی دارد؟
تزریق SQL حمله ای است که می تواند منجر به به خطر انداختن داده های حساس و حتی تصاحب کامل سیستم شود.
برای توسعه دهندگان و مدیران سیستم مهم است که از این تهدید آگاه باشند و اقداماتی را برای جلوگیری از آن انجام دهند. استفاده از عبارات آماده شده با کوئری های پارامتری، اعتبار سنجی ورودی و پاکسازی، و بررسی های امنیتی منظم می تواند خطر حمله موفقیت آمیز را به میزان قابل توجهی کاهش دهد.
- در اینجا یک نمونه از کدهایی است که در برابر تزریق SQL آسیب پذیر است:
❗️ مشکل این کد این است که مستقیماً ورودی کاربر ($username و $password) را در پرس و جوی SQL بدون اعتبارسنجی یا پاکسازی مناسب وارد میکند. این بدان معنی است که اگر در قسمت نام کاربری و رمز عبور تزریق شود، می تواند منجر به اجرای دستورات ناخواسته شود.
👁 به عنوان مثال، می توانید در قسمت نام کاربری وارد کنید: admin' --، که باعث می شود کوئری تبدیل به:
- برای از بین بردن این آسیب پذیری، ورودی کاربر باید اعتبارسنجی و پردازش شود و از دستورات کوئری پارامتری برای ساخت کوئری SQL استفاده شود، چیزی شبیه به این خواهد بود:
#SQL #Injection
@TryHackBox
@TryHackBoxOfficial
تزریق SQL حمله ای است که می تواند منجر به به خطر انداختن داده های حساس و حتی تصاحب کامل سیستم شود.
برای توسعه دهندگان و مدیران سیستم مهم است که از این تهدید آگاه باشند و اقداماتی را برای جلوگیری از آن انجام دهند. استفاده از عبارات آماده شده با کوئری های پارامتری، اعتبار سنجی ورودی و پاکسازی، و بررسی های امنیتی منظم می تواند خطر حمله موفقیت آمیز را به میزان قابل توجهی کاهش دهد.
- در اینجا یک نمونه از کدهایی است که در برابر تزریق SQL آسیب پذیر است:
<?phpدر این مثال، اسکریپت PHP سعی می کند با بررسی نام کاربری و رمز عبور در مقابل ورودی های جدول "کاربران"، کاربر را احراز هویت کند.
$username = $_POST[“username”];
$password = $_POST[“password”];
$query = “SELECT * FROM users WHERE username = ‘$username’ AND password = ‘$password'”;
$result = mysqli_query($connection, $query);
if (mysqli_num_rows($result) > 0) {
// login successful
} else {
// login failed
}
?>
❗️ مشکل این کد این است که مستقیماً ورودی کاربر ($username و $password) را در پرس و جوی SQL بدون اعتبارسنجی یا پاکسازی مناسب وارد میکند. این بدان معنی است که اگر در قسمت نام کاربری و رمز عبور تزریق شود، می تواند منجر به اجرای دستورات ناخواسته شود.
👁 به عنوان مثال، می توانید در قسمت نام کاربری وارد کنید: admin' --، که باعث می شود کوئری تبدیل به:
SELECT * FROM users WHERE username = ‘admin’ –‘ AND password = ‘whatever_password_entered’این درخواست با بایپس بررسی رمز عبور، بقیه درخواست را نظر می دهد، بنابراین حمله موفقیت آمیز خواهد بود .
- برای از بین بردن این آسیب پذیری، ورودی کاربر باید اعتبارسنجی و پردازش شود و از دستورات کوئری پارامتری برای ساخت کوئری SQL استفاده شود، چیزی شبیه به این خواهد بود:
$stmt = $connection->prepare(“SELECT * FROM users WHERE username = ? AND password = ?”);به این ترتیب به عنوان یک کوئری اجرا نمی شود و به عنوان یک رشته در نظر گرفته می شود و از حملات تزریق SQL جلوگیری می کند.
$stmt->bind_param(“ss”, $username, $password);
$stmt->execute();b
#SQL #Injection
@TryHackBox
@TryHackBoxOfficial
👍4
🛡 متدولوژی آزمایش آسیبپذیریهای تزریق SQL
تست آسیبپذیریهای تزریق SQL میتواند به صورت دستی یا با استفاده از ابزارهای خودکار انجام شود.
- در زیر چک لیستی وجود دارد که می توانید برای بررسی آسیب پذیری های تزریق SQL دنبال کنید:
👩💻 ابزارهای کشف و بهره برداری خودکار:
• sqlmap
• SQLNinja
• Havij
• sqldump
#SQL #Injection #metodology
@TryHackBox
@TryHackBoxOfficial
تست آسیبپذیریهای تزریق SQL میتواند به صورت دستی یا با استفاده از ابزارهای خودکار انجام شود.
- در زیر چک لیستی وجود دارد که می توانید برای بررسی آسیب پذیری های تزریق SQL دنبال کنید:
1. همه فیلدهای ورودی در برنامه وب، از جمله فرم ها، رشته های کوئری و کوکی ها را تعریف کنید.
2. سعی کنید پیلودهای مختلف تزریق SQL مانند نقل قول های تک، دو نقل قول و عملگرهای منطقی را در هر فیلد ورودی تزریق کنید.
3. رفتار برنامه را مشاهده کنید و به دنبال نتایج غیرمنتظره مانند پیام های خطا یا نشت داده ها باشید.
4. از ابزارهای خودکار برای خودکارسازی این مراحل و اسکن وب سایت، برنامه استفاده کنید.
👩💻 ابزارهای کشف و بهره برداری خودکار:
• sqlmap
• SQLNinja
• Havij
• sqldump
#SQL #Injection #metodology
@TryHackBox
@TryHackBoxOfficial
Windows Process Injection in 2019 THB.pdf
2.9 MB
این مقاله به بررسی تکنیک های تزریق پروسس در ویندوز میپردازه، که یکی از روش های رایج بدافزارها برای پنهان کاری و دور زدن ابزارهای امنیتی مثل آنتیویروس، DLP (Data Loss Prevention) و فایروالهاست. تزریق پروسس یعنی کد مخرب رو داخل یک پروسس قانونی (مثل explorer.exe) اجرا کنی بدون اینکه فرآیند جدیدی بسازی ...
منبع
@TryHackBox | Github | YouTube | Group
#Windows #Process #Injection
منبع
@TryHackBox | Github | YouTube | Group
#Windows #Process #Injection
👍7🔥2👌1
The Definitive Guide to Linux Process Injection THB.pdf
1.5 MB
⭕ راهنمای جامع تزریق پروسس در لینوکس
تکنیک های تزریق پروسس بخش مهمی از ابزارهای یک مهاجم هستند. این تکنیکها به عوامل تهدید امکان میدهند تا کد مخرب را درون یک پروسس قانونی اجرا کنند تا از شناسایی شدن جلوگیری کنند یا قلابهایی (hooks) در پروسس های راه دور قرار دهند تا رفتار آنها را تغییر دهند.
@TryHackBox | Github | YouTube | Group
#Linux #Process #Injection
تکنیک های تزریق پروسس بخش مهمی از ابزارهای یک مهاجم هستند. این تکنیکها به عوامل تهدید امکان میدهند تا کد مخرب را درون یک پروسس قانونی اجرا کنند تا از شناسایی شدن جلوگیری کنند یا قلابهایی (hooks) در پروسس های راه دور قرار دهند تا رفتار آنها را تغییر دهند.
@TryHackBox | Github | YouTube | Group
#Linux #Process #Injection
👍3