İnternete her zamankinden daha fazla insanın erişimi var. Bu, birçok kuruluşu, kullanıcıların kuruluşla etkileşimde bulunmak için çevrimiçi olarak kullanabilecekleri web tabanlı uygulamalar geliştirmeye teşvik etti. Web uygulamaları için kötü yazılmış kod, hassas verilere ve web sunucularına yetkisiz erişim sağlamak için kullanılabilir.
Bu eğiticide, web sitelerini nasıl hackleyeceğinizi öğreneceksiniz ve size web uygulaması hackleme tekniklerini ve bu tür saldırılara karşı koruma sağlamak için uygulayabileceğiniz karşı önlemleri tanıtacağız .
Bu eğiticide anlatılan konular
- Web uygulaması nedir? Web Tehditleri nelerdir?
- Web sitenizi saldırılara karşı nasıl korursunuz?
- Web sitesi hackleme hileleri: Çevrimiçi bir Web Sitesini Hackleyin!
Web uygulaması nedir? Web Tehditleri nelerdir?
Bir web uygulaması (web sitesi olarak da bilinir), istemci-sunucu modeline dayalı bir uygulamadır. Sunucu, veritabanı erişimini ve iş mantığını sağlar. Bir web sunucusunda barındırılır. İstemci uygulaması, istemci web tarayıcısında çalışır. Web uygulamaları genellikle Java, C # ve VB.Net, PHP, ColdFusion Markup Language vb. Dillerde yazılır, web uygulamalarında kullanılan veritabanı motorları arasında MySQL, MS SQL Server, PostgreSQL, SQLite vb. Bulunur.
Çoğu web uygulaması, İnternet üzerinden erişilebilen genel sunucularda barındırılır. Bu, kolay erişilebilirlik nedeniyle onları saldırılara karşı savunmasız hale getirir. Aşağıdakiler yaygın web uygulaması tehditleri.
- SQL Enjeksiyonu - bu tehdidin amacı giriş algoritmalarını atlamak, verileri sabote etmek vb.
- Hizmet Reddi Saldırıları - bu tehdidin amacı meşru kullanıcıların kaynağa erişimini reddetmek olabilir
- Siteler Arası Komut Dosyası XSS - bu tehdidin amacı, istemci tarafı tarayıcıda yürütülebilecek kodu enjekte etmek olabilir.
- Çerez / Oturum Zehirlenmesi - bu tehdidin amacı, yetkisiz erişim elde etmek için bir saldırgan tarafından çerezleri / oturum verilerini değiştirmektir.
- Form Kurcalama - Bu tehdidin amacı, e-ticaret uygulamalarındaki fiyatlar gibi form verilerini değiştirerek saldırganın ürünleri daha düşük fiyatlarla alabilmesini sağlamaktır.
- Kod Enjeksiyonu - bu tehdidin amacı, sunucuda çalıştırılabilen PHP, Python vb. Gibi kod enjekte etmektir. Kod arka kapılar kurabilir, hassas bilgileri açığa çıkarabilir vb.
- Tahrif etme - bu tehdidin amacı, bir web sitesinde görüntülenen sayfayı değiştirmek ve tüm sayfa isteklerini saldırganın mesajını içeren tek bir sayfaya yönlendirmektir.
Web sitenizi saldırılara karşı nasıl korursunuz?
Bir kuruluş, kendisini web sunucusu saldırılarına karşı korumak için aşağıdaki politikayı benimseyebilir.
- SQL Enjeksiyonu - kullanıcı parametrelerini işlenmek üzere veritabanına göndermeden önce sterilize etmek ve doğrulamak, SQL Enjeksiyonu aracılığıyla saldırıya uğrama olasılığını azaltmaya yardımcı olabilir. MS SQL Server, MySQL vb. Gibi veritabanı motorları parametreleri ve hazırlanmış ifadeleri destekler. Geleneksel SQL ifadelerinden çok daha güvenlidirler
- Hizmet Reddi Saldırıları - saldırı basit bir DoS ise, şüpheli IP adresinden gelen trafiği düşürmek için güvenlik duvarları kullanılabilir. Ağların ve İzinsiz Giriş Tespit Sisteminin uygun şekilde yapılandırılması, bir DoS saldırısının başarılı olma şansını azaltmaya da yardımcı olabilir.
- Siteler Arası Komut Dosyası - üstbilgileri, URL aracılığıyla iletilen parametreleri, form parametrelerini ve gizli değerleri doğrulamak ve temizlemek, XSS saldırılarını azaltmaya yardımcı olabilir.
- Çerez / Oturum Zehirlenmesi - bu, çerezlerin içeriğini şifreleyerek, çerezleri bir süre sonra zaman aşımına uğratarak, çerezleri onları oluşturmak için kullanılan istemci IP adresiyle ilişkilendirerek önlenebilir.
- Form temperleme - bu, işlemeden önce kullanıcı girişinin doğrulanması ve doğrulanmasıyla önlenebilir.
- Kod Enjeksiyonu - bu, tüm parametreleri çalıştırılabilir kod yerine veri olarak ele alarak önlenebilir. Temizlik ve Doğrulama, bunu uygulamak için kullanılabilir.
- Tahrifat - iyi bir web uygulaması geliştirme güvenlik politikası, web sunucusuna erişmek için yaygın olarak kullanılan güvenlik açıklarını kapatmasını sağlamalıdır. Bu, işletim sisteminin, web sunucusu yazılımının uygun bir yapılandırması ve web uygulamaları geliştirirken en iyi güvenlik uygulamaları olabilir.
Web sitesi hackleme hileleri: Çevrimiçi bir Web Sitesini Hackleyin
Bu web sitesi hackleme pratik senaryosunda, www.techpanda.org adresinde bulunan web uygulamasının kullanıcı oturumunu ele geçireceğiz. Çerez oturum kimliğini okumak için siteler arası komut dosyası kullanacağız, ardından bunu meşru bir kullanıcı oturumunu taklit etmek için kullanacağız.
Yapılan varsayım, saldırganın web uygulamasına erişimi olduğu ve aynı uygulamayı kullanan diğer kullanıcıların oturumlarını ele geçirmek istemesidir. Bu saldırının amacı, saldırganın erişim hesabının sınırlı olduğunu varsayarak web uygulamasına yönetici erişimi sağlamak olabilir.
Başlarken
- Http://www.techpanda.org/ adresini açın.
- Uygulama amacıyla, SQL Enjeksiyonu kullanılarak erişim sağlanması şiddetle tavsiye edilir. Bunun nasıl yapılacağı hakkında daha fazla bilgi için bu makaleye bakın.
- Giriş e-postası: Bu e-posta adresi istenmeyen postalardan korunmaktadır. Görüntülemek için JavaScript'in etkin olması gerekir, şifre Password2010'dur.
- Başarıyla giriş yaptıysanız, aşağıdaki kontrol panelini alacaksınız
- Yeni Kişi Ekle'ye tıklayın
- Aşağıdakileri ilk isim olarak girin
İŞTE,
Yukarıdaki kod JavaScript kullanır . Bir onclick olayıyla bir köprü ekler . Şüphelenmeyen kullanıcı bağlantıyı tıkladığında, olay PHP tanımlama bilgisi oturum kimliğini alır ve URL'deki oturum kimliği ile birlikte snatch_sess_id.php sayfasına gönderir.
- Kalan ayrıntıları aşağıda gösterildiği gibi girin
- Değişiklikleri Kaydet'e tıklayın
- Kontrol paneliniz şimdi aşağıdaki ekran gibi görünecek
- Siteler arası betik kodu veritabanında depolandığından, erişim hakları olan kullanıcılar her oturum açtığında yüklenecektir.
- Yönetici oturum açtığını ve Dark yazan köprüyü tıkladığını varsayalım.
- URL'de oturum kimliğinin gösterildiği pencereyi alacak.
Not : komut dosyası, değeri PHPSESSID'nin depolandığı bir uzak sunucuya gönderiyor olabilir ve ardından kullanıcı hiçbir şey olmamış gibi web sitesine yeniden yönlendirebilir.
Not : Aldığınız değer bu web sayfası korsanlığı eğitimindekinden farklı olabilir, ancak konsept aynıdır
Firefox ve Sabotaj Verileri eklentisini kullanarak Oturum Kimliğine Bürünme
Aşağıdaki akış şeması, bu alıştırmayı tamamlamak için atmanız gereken adımları göstermektedir.
- Bu bölüm için Firefox web tarayıcısına ve Sabotaj Verileri eklentisine ihtiyacınız olacak
- Firefox'u açın ve aşağıdaki şemalarda gösterildiği gibi eklentiyi kurun
- Kurcalama verilerini arayın, ardından yukarıda gösterildiği gibi yüklemeye tıklayın
- Kabul Et ve Kur'a tıklayın…
- Kurulum tamamlandığında Şimdi yeniden başlat'a tıklayın.
- Gösterilmiyorsa Firefox'ta menü çubuğunu etkinleştirin
- Araçlar menüsünü tıklayın ve aşağıda gösterildiği gibi Dış Müdahale Verilerini seçin
- Aşağıdaki Pencereyi alacaksınız. Not: Windows boş değilse, temizle düğmesine basın
- Sabotaj Başlat menüsüne tıklayın
- Firefox web tarayıcısına geri dönün, http://www.techpanda.org/dashboard.php yazın ve sayfayı yüklemek için enter tuşuna basın
- Sabotaj Verisinden aşağıdaki açılır pencereyi alacaksınız
- Açılır pencerenin üç (3) seçeneği vardır. Kurcalama seçeneği, sunucuya gönderilmeden önce HTTP başlık bilgilerini değiştirmenize olanak tanır .
- Üstüne tıkla
- Aşağıdaki pencereyi alacaksınız
- Saldırı URL'sinden kopyaladığınız PHP oturum kimliğini kopyalayın ve eşittir işaretinin arkasına yapıştırın. Değeriniz şimdi böyle görünmeli
PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2
- Tamam düğmesine tıklayın
- Sabotaj verisi açılır penceresini tekrar alacaksınız
- Kurcalanmaya Devam Edilsin mi? Soran onay kutusunun işaretini kaldırın.
- Bittiğinde gönder düğmesine tıklayın
- Gösterge tablosunu aşağıda gösterildiği gibi görebilmelisiniz
Not : Giriş yapmadık, siteler arası komut dosyası kullanarak aldığımız PHPSESSID değerini kullanarak bir giriş oturumunun kimliğine büründük
Özet
- Bir web uygulaması, sunucu-istemci modeline dayanır. İstemci tarafı, sunucudaki kaynaklara erişmek için web tarayıcısını kullanır.
- Web uygulamalarına genellikle internet üzerinden erişilebilir. Bu onları saldırılara karşı savunmasız hale getirir.
- Web uygulaması tehditleri arasında SQL Injection, Code Injection, XSS, Defacement, Cookie zehirlenmesi vb. Yer alır.
- Web uygulamaları geliştirirken iyi bir güvenlik politikası onları güvenli hale getirmeye yardımcı olabilir.