Sql injection



Yüklə 0,83 Mb.
tarix14.01.2023
ölçüsü0,83 Mb.
#79198
SQL Injection

SQL Injection

Həsən İmanov

Giriş

SQL Injection: SQL sorğusuna müdaxilə edərək verilənlər bazasındakı məlumatlara icazəsiz daxil olmaq üsuludur. Bu zəiflik normalda görülməsi mümkün olmayan məlumatlara baxmaq imkanı verir.

SQL Injection

Müştəri sistemə daxil olduqda istifadəçi adı və şifrəni verir və giriş əldə edir. Bu icazə yalnız öz məlumatlarınızı görməyə icazə verir. SQL injection metodunda isə hücumçu digər istifadəçilərə və veb proqramın digər məlumatlarına daxil ola bilər. Buradakı SQL injection zəifliyi ilə hücumçu məlumatları ötürə, dəyişdirə və silə bilər. Başqa sözlə, o, daxil olduğu bütün məlumatları manipulyasiya edə bilir.


SQL Injection hücumu növləri
SQL inyeksiyaları adətən üç kateqoriyaya bölünür: In-band SQLi (Klassik), Inferential SQLi (Blind) və Out-of-band SQLi. Siz SQL inyeksiya növlərini onların Backend-dəki datalarına çatmaq üçün istifadə etdikləri üsullara əsasən təsnif edə bilərsiniz.

In-band SQL Injection

Hücumçu hücumlarına başlamaq və nəticələrini toplamaq üçün eyni rabitə kanalından istifadə edir. İn-band SQLi-nin sadəliyi və səmərəliliyi onu SQLi hücumunun ən çox yayılmış növlərindən birinə çevirir. Bu metodun iki alt variantı var:

Error-based SQLi—hücumçu verilənlər bazasında səhv mesajları yaratmağa səbəb olan hərəkətləri yerinə yetirir. hücumçu potensial olaraq verilənlər bazasının strukturu haqqında məlumat toplamaq üçün bu xəta mesajlarının verdiyi məlumatlardan istifadə edə bilər.

Union-based SQLi—bu texnika UNION SQL operatorundan istifadə edir, hansı ki, vahid HTTP cavabı almaq üçün verilənlər bazası tərəfindən yaradılan çoxsaylı seçilmiş ifadələri birləşdirir. Bu cavab hücumçu tərəfindən istifadə edilə bilən məlumatları ehtiva edə bilər.

Inferential(Blind) SQLi


Hücumçu serverə məlumat yükləri göndərir və onun strukturu haqqında daha çox öyrənmək üçün serverin reaksiyasını və davranışını müşahidə edir. Bu üsul Blind SQLi adlanır, çünki məlumatlar veb-sayt verilənlər bazasından hücumçuya ötürülmür, beləliklə, hücumçu qrup daxilində hücum haqqında məlumatı görə bilmir.
Blind SQL inyeksiyaları serverin reaksiyasına və davranış nümunələrinə əsaslanır, ona görə də onlar adətən daha yavaş icra edilir, lakin eyni dərəcədə zərərli ola bilər. Blind SQL inyeksiyaları aşağıdakı kimi təsnif edilə bilər:
Inferential(Blind) SQLi
Boolean - bu təcavüzkar proqramdan nəticə qaytarmağı tələb edən verilənlər bazasına SQL sorğusu göndərir. Nəticə sorğunun doğru və ya yalan olmasından asılı olaraq dəyişəcək. Nəticəyə əsasən, HTTP cavabında olan məlumat dəyişəcək və ya dəyişməz qalacaq. Təcavüzkar daha sonra mesajın doğru və ya yanlış nəticə yaratdığını öyrənə bilər.
Zamana əsaslanan— Hücumçu verilənlər bazasına SQL sorğusu göndərir ki, bu da verilənlər bazasını reaksiya verməzdən əvvəl (bir neçə saniyə ərzində) gözləməyə məcbur edir. Təcavüzkar verilənlər bazasının cavab verməsi üçün lazım olan vaxtdan sorğunun doğru və ya yalan olduğunu görə bilər. Nəticəyə əsasən, HTTP cavabı dərhal və ya gözləmə müddətindən sonra yaradılacaq. Beləliklə, təcavüzkar verilənlər bazasındakı məlumatlara etibar etmədən istifadə etdiyi mesajın doğru və ya yanlış olduğunu müəyyən edə bilər.

Out-of-Band SQLi


Hücumçu bu hücum formasını yalnız veb proqram tərəfindən istifadə edilən verilənlər bazası serverində müəyyən funksiyalar işə salındıqda həyata keçirə bilər. Hücumun bu forması ilk növbədə in-band və inferensial SQLi üsullarına alternativ kimi istifadə olunur.
Out-of-band SQLi, hücumçu hücumu başlatmaq və məlumat toplamaq üçün eyni kanaldan istifadə edə bilmədikdə və ya server bu hərəkətləri yerinə yetirmək üçün çox yavaş və ya qeyri-sabit olduqda həyata keçirilir. Bu texnikalar serverin məlumatı hücumçuya ötürmək üçün DNS və ya HTTP sorğuları yaratmaq qabiliyyətinə əsaslanır.

Plan for product launch 


Planning
Synergize scalable e-commerce
Marketing
Disseminate standardized metrics
Design
Coordinate
e-business applications
Strategy
Foster holistically superior methodologies
Launch
Deploy strategic networks with compelling e-business needs
1
2
3
4
5
SQL Injection hücumu necə edilir
Databazaya qoşulmaq üçün istifadə olunan kod parçası

Credentials-ın doğruluğunu yoxlamaq

Hücumun yerinə yetirilməsi

Hücumun yerinə yetirilməsi

Alınan query-ni databazada yoxlamaq

Sql injection vasitəsilə databazadan məlumat silinməsi

Silinmə üçün istifadə edilən method


Şifrəni səhv daxil etdiyimizə görə bazadan silinmədi
Burada isə 1 sətir silindi mesajı gəldi, SQL Injection hücumu ilə bazadan həmin istifadəçinin məlumatları silinir
Silmə əməliyyatından öncə
Silmə əməliyyatından sonra

Diqqətinizə görə təşəkkürlər


Yüklə 0,83 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin