9 Məşhur Veb tətbiqi injeksiyası Hücum növləri

Veb tətbiqetmələrindəki problem ondadır ki, milyardlarla internet istifadəçisinə açıq şəkildə məruz qalır, onların çoxu təhlükəsizlik tədbirlərini pozmaq istəyir – səbəblərdən asılı olmayaraq.


İnternetin ilk günlərində ən çox yayılmış hücum üsullarından biri əsas, sadə vəhşi qüvvə idi. Botlar ümumiyyətlə bu hücumları həyata keçirdilər – çox vaxt boş qalan insanlar – hədəf tətbiqinə daxil olma imkanı tapana qədər yüzlərlə istifadəçi adları və şifrələrin birləşməsini sınayan insanlar..

Şifrə siyasəti, məhdud giriş cəhdləri və ələ keçirmələr sayəsində qəddar güc hücumları artıq təhdid deyildir. Kiber cinayətkarlar yeni istismarları kəşf etməyi və yeni hücum növlərini həyata keçirmək üçün istifadə etməyi sevirlər. Çoxdan əvvəl, tətbiqlərdəki və ya veb səhifələrdəki mətn sahələri tətbiq etmək və ya inyeksiya etməklə tətbiq oluna biləcəyini, tətbiqin yerinə yetirilməməsi lazım olan bir şeyi etməyə məcbur edəcəklərini açıqladılar. Bu şəkildə, inyeksiya deyilən hücumlar hadisə yerinə girdi.

Enjeksiyon hücumları istifadəçi adı və şifrəsini bilmədən bir tətbiqə daxil olmaq üçün deyil, həm də şəxsi, məxfi və ya həssas məlumatları ifşa etmək və ya hətta bütün bir serveri gizlətmək üçün istifadə edilə bilər. Buna görə bu hücumlar yalnız veb tətbiqləri üçün deyil, həm də məlumatları həmin tətbiqetmələrdə olan istifadəçilər üçün, ən pis halda isə digər bağlı tətbiq və xidmətlər üçün təhdiddir..

Kod enjeksiyonu

Kod enjeksiyası enjeksiyon hücumlarının ən çox yayılmış növlərindən biridir. Təcavüzkarlar veb tətbiqetmənin istifadə etdiyi proqramlaşdırma dilini, çərçivəni, verilənlər bazasını və ya əməliyyat sistemini bilirlərsə, veb saytı istədiklərini etməyə məcbur etmək üçün mətn daxiletmə sahələri vasitəsilə kod vura bilərlər..

Bu cür inyeksiya hücumları giriş məlumatlarının təsdiqlənməsi olmayan tətbiqlərdə mümkündür. Mətn daxiletmə sahəsi istifadəçilərə istədiklərini daxil etməyə imkan verirsə, tətbiq potensial istismar olunur. Bu hücumların qarşısını almaq üçün tətbiqetməyə giriş istifadəçilərinin daxil olmasına icazə verildiyi qədər məhdudlaşdırmaq lazımdır.

Məsələn, gözlənilən məlumatların miqdarını məhdudlaşdırmaq, qəbul etməzdən əvvəl məlumat formatını yoxlamaq və icazə verilən simvollar dəstini məhdudlaşdırmaq lazımdır..

Kod enjeksiyonunu, müxtəlif məzmunlu bir veb tətbiqinin mətn girişini sınamaqla tapmaq asan ola bilər. Tapıldıqda, zəifliklərdən istifadə etmək çətindir. Lakin təcavüzkar bu zəifliklərdən birini istismar etdikdə təsirə məxfiliyin, bütövlüyün, əlçatanlığın və ya tətbiq funksiyasının itirilməsi daxil ola bilər..

SQL enjeksiyonu

Kod enjeksiyonuna bənzər bir şəkildə bu hücum SQL skriptini – sorğu əməliyyatlarını yerinə yetirmək üçün əksər verilənlər bazaları tərəfindən istifadə olunan bir dil – mətn daxil etmə sahəsində əlavə edir. Skript birbaşa bazasında icra edən tətbiqetməyə göndərilir. Nəticədə, təcavüzkar giriş ekranından keçə və ya daha təhlükəli şeylər edə bilər, məsələn məlumat bazasından həssas məlumatları oxumaq, verilənlər bazası məlumatlarını dəyişdirmək və ya silmək və ya verilənlər bazasında admin əməliyyatları həyata keçirmək.

PHP və ASP tətbiqetmələri köhnə funksional interfeyslərinə görə SQL injection hücumlarına meyllidir. J2EE və ASP.Net tətbiqləri ümumiyyətlə bu hücumlardan daha çox qorunur. SQL injection zəifliyi aşkar edildikdə və asanlıqla tapıla bilər – potensial hücumların miqyası yalnız təcavüzkarın bacarığı və təxəyyülü ilə məhdudlaşacaqdır. Beləliklə, bir SQL injection hücumunun təsiri şübhəsiz yüksəkdir.

Əmr əmri

Bu hücumlar, əsasən daxilolma etibarlılığı səbəbindən də mümkündür. Kod vurma hücumlarından fərqlənir ki, təcavüzkar proqramlaşdırma kodu və ya skript parçaları əvəzinə sistem əmrlərini daxil edir. Buna görə, hacker, tətbiqin əsaslandığı proqramlaşdırma dilini və ya verilənlər bazası tərəfindən istifadə olunan dili bilmək lazım deyil. Lakin hosting serverinin istifadə etdiyi əməliyyat sistemini bilməlidirlər.

Daxil edilmiş sistem əmrləri, ana əməliyyat sistemi tərəfindən tətbiq imtiyazları ilə icra olunur, bu da serverdə qalan ixtiyari sənədlərin məzmununu ifşa etməyə, serverin qovluq quruluşunu göstərməyə, istifadəçi şifrələrini dəyişdirməyə və digər şeylərə imkan verə bilər..

Bu hücumların bir sysadmin tərəfindən, bir serverdə işləyən veb tətbiqetmələrin sistem giriş səviyyəsini məhdudlaşdırmaqla qarşısını alına bilər.

Saytlararası skript

Hər hansı bir tətbiq, çıxardığı çıxış daxilində bir istifadəçiyə giriş təsdiqlədikdə və ya şifrələmədən daxil edərsə, təcavüzkarın fərqli bir son istifadəçiyə zərərli kodu göndərməsi üçün imkan verir. Xaç saytı skriptləri (XSS) hücumları zərərli skriptləri etibarlı veb saytlara yeritmək üçün bu fürsətləri istifadə edir, nəticədə təcavüzkarın qurbanı olan tətbiqin digər istifadəçilərinə göndərilir..

Zərər çəkmişlərin brauzeri etibarlı olmamağı bilmədən zərərli skripti icra edəcəkdir. Buna görə brauzer sessiya əlamətlərinə, peçenye və ya brauzer tərəfindən saxlanılan həssas məlumatlara icazə verəcəkdir. Düzgün proqramlaşdırılmış olsaydı, skriptlər hətta HTML faylı məzmununu yenidən yaza bilər.

XSS hücumları ümumiyyətlə iki fərqli kateqoriyaya bölünə bilər: saxlanılır və əks olunur.

In saxlanılır XSS hücumları, zərərli skript hədəf serverdə, mesaj forumunda, verilənlər bazasında, ziyarətçi qeydində və s. Daimi olaraq qalır, brauzerində saxlanan məlumatları tələb etdikdə onu alır. In əks olundu XSS hücumları, zərərli skript, serverə göndərilən girişi özündə əks etdirir. Bu, məsələn, səhv mesajı və ya axtarış nəticəsi ola bilər.

XPath enjeksiyonu

Bu tip bir veb tətbiqi XML məlumatları üçün XPath sorğusu yaratmaq üçün istifadəçi tərəfindən verilən məlumatdan istifadə edərkən mümkündür. Bu hücumun işləmə üsulu SQL enjeksiyonuna bənzəyir: təcavüzkarlar XML məlumatlarının necə qurulduğunu tapmaq üçün tətbiqə səhv məlumat göndərirlər və sonra həmin məlumatları əldə etmək üçün yenidən hücum edirlər..

XPath, SQL kimi, tapmaq istədiyiniz xüsusiyyətləri göstərə biləcəyiniz standart bir dildir. XML məlumatlarında bir sorğu yerinə yetirmək üçün, veb tətbiqləri məlumatların uyğun gəlməsi üçün bir nümunə təyin etmək üçün istifadəçi girişindən istifadə edir. Düzgün olmayan məlumat göndərməklə, nümunə təcavüzkarın məlumatlara müraciət etmək istədiyi bir əməliyyata çevrilə bilər.

SQL ilə baş verənlərdən fərqli olaraq, XPath-da fərqli versiyalar yoxdur. Bu, XPath enjeksiyonunun, tətbiqindən asılı olmayaraq XML məlumatlarını istifadə edən hər hansı bir veb tətbiqində edilə biləcəyini bildirir. Bu da hücumun avtomatlaşdırıla biləcəyi deməkdir; Buna görə də, SQL inyeksiyasından fərqli olaraq, ixtiyari sayda hədəfə qarşı atılmaq potensialı var.

Poçt əmri injection

Bu hücum metodu, düzgün olmayan təsdiq edilmiş istifadəçi girişi ilə IMAP və ya SMTP ifadələrini yaradan e-poçt serverlərindən və tətbiqlərindən istifadə etmək üçün istifadə edilə bilər. Bəzən, IMAP və SMTP serverləri hücumlardan güclü qorunma təmin etmir, çünki əksər veb serverlərdə olduğu kimi, daha da istismar edilə bilər. Bir poçt serverinə girərək təcavüzkarlar tutma, məhdud sayda sorğu və s. Kimi məhdudiyyətlərdən yayınmaq olar.

Bir SMTP serverini istismar etmək üçün təcavüzkarlar enjekte edilmiş əmrləri ilə mesaj göndərmək üçün etibarlı bir e-poçt hesabına ehtiyac duyurlar. Server həssasdırsa, təcavüzkarların istəklərinə cavab verəcək, məsələn, server məhdudiyyətlərini ləğv etməyə və servislərini spam göndərmək üçün istifadə etməyə imkan verəcəkdir.

IMAP enjeksiyonu mesaj oxumaq funksiyasından istifadə edərək əsasən veb poçt proqramlarında edilə bilər. Bu hallarda, hücum sadəcə veb brauzerin ünvan çubuğuna, vurulan əmrləri olan bir URL daxil etməklə həyata keçirilə bilər..

CRLF enjeksiyonu

Daşımaların geri dönməsi və xətt ötürücü simvolların daxil edilməsi – CRLF kimi tanınan birləşmə – veb şəklində giriş sahələrində CRLF enjeksiyonu adlı bir hücum metodu. Bu görünməz simvol HTTP, MIME və ya NNTP kimi bir çox ənənəvi internet protokolundakı bir xəttin və ya bir əmrin sonunu göstərir..

Məsələn, bir CRLF’nin bir HTTP sorğusuna daxil edilməsi, bəzi HTML kodunun ardından xüsusi veb səhifələri veb sayt ziyarətçilərinə göndərə bilər.

Bu hücum istifadəçi girişinə düzgün süzgəc tətbiq etməyən həssas veb tətbiqlərində edilə bilər. Bu zəiflik XSS və kod inyeksiyası kimi digər enjeksiyon hücumlarına qapı açır və veb saytın qaçırıldığını əldə edə bilər.

Host başlığının enjeksiyonu

Bir çox veb sayt və ya veb tətbiqetmədə iştirak edən serverlərdə, ana başlıq saytı və ya veb tətbiqetmədən hansını – virtual host kimi tanınanların hamısı daxil olan sorğuya cavab verməli olduqlarını müəyyənləşdirmək lazımdır. Başlıq dəyəri, virtual sahiblərin hansının sorğu göndərəcəyini serverə izah edir. Server etibarsız bir ana başlığı aldıqda, adətən onu siyahıdakı ilk virtual hosta ötürür. Bu, təcavüzkarların ixtiyari host başlıqlarını serverdəki ilk virtual hosta göndərmək üçün istifadə edə biləcəyi bir zəifliyi təşkil edir.

Host başlığının manipulyasiyası ümumiyyətlə PHP tətbiqləri ilə əlaqəlidir, baxmayaraq ki, digər veb inkişaf texnologiyaları ilə də edilə bilər. Host başlıq hücumları veb-yaddaş zəhərlənməsi kimi digər hücum növlərinə də imkan verir. Bunun nəticələrinə təcavüzkarlar tərəfindən həssas əməliyyatların aparılması, məsələn, parol sıfırlamaları daxil edilə bilər.

LDAP enjeksiyonu

LDAP bir şəbəkədəki mənbələrin (cihazların, faylların, digər istifadəçilərin) axtarışını asanlaşdırmaq üçün hazırlanmış bir protokoldur. İntranetlər üçün çox faydalıdır və tək giriş sisteminin bir hissəsi olaraq istifadəçi adları və şifrələri saxlamaq üçün istifadə edilə bilər. LDAP sorğuları onun idarə olunmasına təsir göstərən xüsusi nəzarət simvollarının istifadəsini əhatə edir. Təcavüzkarlar, idarəetmə simvollarını daxil edə bilsələr, bir LDAP sorğusunun nəzərdə tutulan davranışını potensial olaraq dəyişdirə bilərlər.

Yenə də LDAP enjeksiyon hücumlarına imkan verən kök problemi düzgün təsdiqlənməmiş istifadəçi girişidir. Bir istifadəçinin bir tətbiqə göndərdiyi mətn, sanksiyasız bir LDAP sorğusunun bir hissəsi kimi istifadə olunarsa, sorğu bütün istifadəçilərin siyahısını əldə edib hücumçuya göstərə bilər, yalnız sağdakı ulduzdan (*) istifadə etməklə bir giriş simi içərisinə yerləşdirin.

Enjeksiyon hücumlarının qarşısını alır

Bu yazıda gördüyümüz kimi, bütün enjeksiyon hücumları istənilən internet istifadəçisinə açıq çıxışı olan serverlərə və tətbiqlərə yönəldilmişdir. Bu hücumların qarşısını almaq üçün məsuliyyət proqram tərtibçiləri və server idarəçiləri arasında bölüşdürülür.

Tətbiq hazırlayıcıları istifadəçi girişinin yanlış təsdiqlənməsi ilə əlaqəli riskləri bilməli və risklərin qarşısının alınması məqsədi ilə istifadəçi girişini təmizləmək üçün ən yaxşı təcrübələri öyrənməlidirlər. Server idarəçiləri, zəiflikləri aşkar etmək və mümkün qədər tez düzəltmək üçün sistemlərini vaxtaşırı yoxlamalıdırlar. Bu yoxlamaları istəkli və ya avtomatik olaraq həyata keçirmək üçün bir çox variant var.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map