Web sitesi üzerindeki zafiyetlerin analizi, kaynaklanma nedenleri ve çözüm önerileri
Analysis of vulnerabilities in web sites, its causes and proposed solutions
Yazar: EHSSAN SALMAN OBAID AL-JANABI
Danışman: YRD. DOÇ. DR. ARİF KOYUN
Süleyman Demirel Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2017
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
İnternetin bize pek çok olası iş kolaylığı sağladığı bir dünyada yaşıyoruz. Günümüzde tüm büyük bankalar mobil bankacılık hizmeti sunmaktadır. Ayrıca bilet satın alabiliyor ve çevrimiçi alışveriş yapabiliyoruz. Bugün, tüm işlemler internetle ve dolayısıyla web uygulamaları ile bağlantılıdır. Sonuç olarak, insanlar arasında internet kullanımı her geçen gün daha da artmakta, bu web uygulamaları sayısını da arttırmaktadır. Çok sayıda web uygulaması hayatımızı kolaylaştırırken, bu uygulamaların birçoğu bilgisayar korsanlarının sistemimizi kesmesini veya virüs ve solucan bulaştırmasına sebep olmaktadır. Bu olaylardan dolayı da özel hayatımız ve ticari yaşamlarımız kötü şekilde etkilenebilmektedir.
Günümüzde web uygulamaları genelde uygulamanın sadece sunucusu üzerinde değil kullanıcının cihazında da çalıştırılımaktadır. Bu web uygulamaları kullanıcılarına çok sayıda hizmet sunarken aynı zamanda işlevsellik, etkileşim ve kullanım kolaylığı sağlamaktadır. Bu nedenle, en basit web uygulaması bile birçok farklı HTTP parametresini işler. Bu durum manipüle edilmeye açık birçok zafiyet bulundurma olasılığını artırmaktadır.
Son yirmi yılda, güvenlik açıkları, web uygulamalarının muazzam çoğalmasayla birlikte artış göstermektedir. Web güvenliği sadece bir güvenlik duvarı kurmanın ve ana makinelerin güncellenmiş yazılım kullanmasını sağlaması problemi değildir. Sistemdeki ve yazılım bileşenleri arasındaki güvenilir ve güvenilmez sayılan mesajlar, komutlar ve veri değişimi gibi uygulamada küçük veya büyük olan her şeyi incelemek gerekir. Bu güvenlik derecesi ile web uygulamalarında güvenlik açıklarını gidermek için çok sayıda derinlemesine araştırma yapılmıştır. Ancak bu güvenlik açıklarını gidermek için önceden tespit edilmesi önem taşımaktadır.
Web uygulamaları güvenliğini test etmenin bir yolu olarak, kuruluşlar, güvenlik açıklarını belirlemek için denetlenen bir ortamdaki bir saldırganın davranışını taklit eden Penetrasyon testi (Pentest) gerçekleştirmektedir. Bu tezde bir Penetrasyon testi gerçekleştirerek bazı güvenlik açıklıkları ve web uygulaması hakkında ayrıntılı bir çalışma sunulmuştur. Ayrıca, web uygulamaları alanındaki mevcut çalışmaları izlemek ve mevcut güvenlik açıklıklarını gidermek için etkili çözüm önerileri sunulmaktadır.

Abstract:
We live in a world where the Internet provides us many possible chores. All major banks offer mobile banking services. Also we purchase tickets and do shopping online. Today all the processes is linked to the Internet and hence with web applications. As a result, the usage of the internet among people is increasing day by day, which also increases the number of web applications. Despite that huge number of web applications makes life easier for us, but most of these applications have some vulnerability that allows hackers to hack our systems or infect them with viruses and worms and thus affect our private and commercial lives.
Nowadays, web applications are usually run on the user's device, not just on the server of the application. These web applications provide a multitude of services to users, while at the same time it need to be consistent with functionality, interactivity, and ease of use. For this reason, even the simplest web application process may need a plethora of different HTTP parameters. This could increases the likelihood of producing many varieties of vulnerabilities that are vulnerable to manipulation.
In last two decades, security vulnerabilities have grown with the enormous growth of web applications. Web security is no longer simply a question of installing a firewall and ensuring that hosts have updated software. It is a matter of scrutinizing everything small or large in the application such as messages, commands, and data exchanged between systems and software components deemed trusted and untrustworthy. With this maturity of security, a large number of empirical studies have been conducted to address vulnerabilities in web applications. But to overcome these vulnerabilities, it is important to detect first the problem before preventing it.
As a way to test security in web applications, organizations have been performing penetration testing (pentest) which simulates an attacker's behavior in a controlled environment in order to identify applications vulnerabilities. This thesis is submitted a detailed study on some vulnerabilities in web application through conduct a penetration testing. Also, monitor existing studies in web applications area and come up with effective solutions to address existing security vulnerabilities.