Veriyükü üzerinden sql enjeksiyon zafiyetlerin belirlenmesi
Determining sql injection vulnerabilities through payload
Yazar: RAMAZAN CANKUŞ
Danışman: PROF. DR. RESUL KARA
Düzce Üniversitesi / Lisansüstü Eğitim Enstitüsü / Siber Güvenlik Ana Bilim Dalı / Siber Güvenlik Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Korunaksızlık = Vulnerability ; SQL = Structured query language ; Saldırı = Intrusion ; Veri yükü = Payload

Özet:
Sürekli gelişen teknoloji ile birlikte bilgiye hızlı erişim, depolamak, gibi ihtiyaçlarının yanında bilgisayar sistemlerinin kullanımı da paralel olarak artmaktadır. Bu sistemler içerisinde özellikle kurum ve kuruluşlar önemli bilgilerini bulundurmakta ve kullanmaktadırlar. Her alanda olduğu gibi bilgisayar sistemleri de bulundurdukları önemli kaynaklardan dolayı siber saldırganlar tarafından tehdit altındadır. Bu tehditlere karşı her alanda olduğu gibi güvenlik önlemleri alınmaktadır. Güvenlik duvarları (firewalls), saldırı tespit ve önleme sistemleri (IPS/IDS), içerik filtreleme sistemleri, anti virüs yazılımları, kod güvenliği sıkılaştırmaları gibi donanımsal ve yazılımsal olarak önlemler alınmaktadır. Siber saldırganlar tarafından bilgisayar sistemlerine özellikle kritik ve gizli derecedeki bilgileri ele geçirebilmek için çeşitli siber saldırılar yapılmaktadır. Bu siber saldırılardan birisi en yaygın ve en tehlikeli saldırı türü olan Structured Query Language (SQL) enjeksiyon saldırısıdır. SQL enjeksiyon saldırısı, bir veri tabanı kullanan uygulama üzerindeki kodların güvenlik açıklarından faydalanılarak, siber saldırganın yetkisi olmadan gizli bilgileri ele geçirmeye yönelik amacı doğrultusunda güvenlik zafiyetinin sömürülmesi şeklidir. Bu tez çalışmasında, SQL enjeksiyonu, SQL enjeksiyon saldırılarının sınıflandırılması, SQL enjeksiyon zafiyetinin belirlenme yöntemleri anlatılmıştır. Web uygulamaları üzerindeki SQL enjeksiyon zafiyetinin belirlenmesine yönelik çalışmalar yapılmıştır. Bu çalışmalar web uygulama güvenliğine yönelik olarak oluşturulmuş içerisinde web güvenlik zafiyetleri barındıran Damn Vulnerable Web Application (DVWA) ve Web For Pentester uygulamaları üzerinde yapılmıştır. SQL enjeksiyon zafiyetinin belirlenmesinde elle yapılan sorgular ve Burp Suite, Sqlmap, Kali Linux, Havij, Acunetix, Netsparker gibi web zafiyeti ve penetrasyon testi araçları kullanılmıştır. Bu araçların gerçekleştirdikleri veri yükleri ve elle yapılan SQL enjeksiyon sorgulamaları analiz edilerek karşılaştırılmıştır.

Abstract:
Along with the constantly developing technology, the use of computer systems is increasing in parallel with the needs such as rapid access to information, storage. In these systems, especially institutions and organizations hold and use important information. As in every field, computer systems are under threat by cyber attackers because of the important resources they have. As in all areas, security measures are taken against these threats. Hardware and software precautions such as firewalls, intrusion detection and prevention systems (IPS/IDS), content filtering systems, anti virus software, code security tightening are taken. Various cyber attacks are carried out by cyber attackers in order to seize especially critical and confidential information on computer systems. One of these cyber attacks is the Structured Query Language (SQL) injection attack, which is the most common and most dangerous type of attack. A SQL injection attack is a form of exploitation of a security vulnerability by exploiting the vulnerabilities of the codes on the application using a database, with the aim of obtaining confidential information without the authorization of the cyber attacker. In this thesis, SQL injection, classification of SQL injection attacks, methods of detecting SQL injection vulnerability are explained. Studies have been carried out to determine SQL injection vulnerability on web applications. These studies were carried out on Damn Vulnerable Web Application (DVWA) and Web For Pentester applications, which were created for web application security and contain web security vulnerabilities. Manual queries and web vulnerability and penetration testing tools such as Burp Suite, Sqlmap, Kali Linux, Havij, Acunetix, Netsparker were used to identify SQL injection vulnerability. The data loads performed by these tools and manual SQL injection queries were analyzed and compared.