تزریق(N/A)
آسیبپذیری که به مهاجمان اجازه میدهد دادههای مخرب را به عنوان کد یا دستور به سیستم ارسال کنند.
تزریق چیه؟
خلاصه در یه جمله: وقتی بتونی کد مخرب خودت رو به جای دادههای عادی به سیستم بدی و سیستم اجراش کنه!
فرض کن رفتی رستوران و به گارسون میگی "غذای من رو بیار". گارسون میره به آشپزخونه و میگه "غذای مشتری رو بیار". حالا فرض کن تو گفتی "غذای من رو بیار و تمام غذاها رو هم بریز دور!" گارسون بدون فکر این رو میگه به آشپزخونه و آشپزخونه هم اجرا میکنه! این یعنی Injection .
انواع Injection:
SQL Injection: کد SQL مخرب به دیتابیس میفرستی. مثلاً به جای پسورد میزنی ' OR '1'='1 و بدون پسورد وارد میشی!
XSS (Cross-Site Scripting): کد JavaScript مخرب تو سایت تزریق میکنی. وقتی کاربر دیگه سایت رو باز میکنه، کد تو اجرا میشه.
Command Injection: دستور سیستمی به سرور میفرستی. مثلاً ; rm -rf / و کل سرور پاک میشه!
LDAP Injection: به دایرکتوری LDAP کد مخرب میفرستی.
XML Injection: به XML Parser داده مخرب میفرستی.
مثال SQL Injection:
فرض کن لاگین فرم داری:
1SELECT * FROM users WHERE username = 'ali' AND password = '123456'
هکر به جای پسورد میزنه: ' OR '1'='1
کوئری میشه:
1SELECT * FROM users WHERE username = 'ali' AND password = '' OR '1'='1'
'1'='1' همیشه درسته! پس هکر بدون پسورد وارد میشه!
چرا برای امنیت مهمه؟
چون شماره ۳ OWASP Top 10 2021 هست! Injection میتونه منجر به دزدی داده، حذف داده، دسترسی کامل به سرور، یا حتی برداشتن کل سیستم بشه.