web application security testing guide
güneş filmleri neden çalışmıyor
Web uygulamalarında depolanan büyük miktarda veri ve web üzerindeki işlemlerin sayısındaki artış nedeniyle, Web Uygulamalarının doğru Güvenlik Testi gün geçtikçe çok önemli hale geliyor.
Bu makalede, Web Sitesi Güvenlik Testinde kullanılan temel terimler ve test yaklaşımı hakkında ayrıntılı bilgi edineceğiz.
Ne öğreneceksin:
- Güvenlik Testi nedir?
- Güvenlik Testinde Kullanılan Bazı Anahtar Terimler
- Önerilen Güvenlik Testi Araçları
- Güvenlik Testi Yaklaşımı
- Web Güvenliği Testi Yöntemleri
- Sonuç
- Önerilen Kaynaklar
Güvenlik Testi nedir?
Güvenlik Testi olup olmadığını kontrol eden süreçtir. gizli veriler gizli kalır veya gizli kalır (yani amaçlanmadığı kişilere / kuruluşlara maruz kalmaz) ve kullanıcılar yalnızca gerçekleştirmeye yetkili oldukları görevleri yerine getirebilirler.
Örneğin, bir kullanıcı web sitesinin işlevselliğini diğer kullanıcılara inkar etmemeli veya bir kullanıcı web uygulamasının işlevselliğini istenmeyen bir şekilde değiştirememelidir vb.
Güvenlik Testinde Kullanılan Bazı Anahtar Terimler
Daha fazla ilerlemeden önce, web uygulaması Güvenlik Testinde sıkça kullanılan birkaç terime aşina olmak faydalı olacaktır:
'Güvenlik Açığı' nedir?
Web uygulamasındaki zayıflık budur. Bu tür 'zayıflığın' nedeni, uygulamadaki hatalar, bir enjeksiyon (SQL / komut dosyası kodu) veya virüslerin varlığı olabilir.
'URL Manipülasyonu' nedir?
Bazı web uygulamaları, istemci (tarayıcı) ile sunucu arasında URL'de ek bilgiler iletir. URL'deki bazı bilgilerin değiştirilmesi, bazen sunucu tarafından istenmeyen davranışlara neden olabilir ve bu, URL Manipülasyonu .
'SQL yerleştirme' nedir?
Bu, daha sonra sunucu tarafından yürütülen bir sorguya web uygulaması kullanıcı arabirimi aracılığıyla SQL deyimlerinin eklenmesi işlemidir.
'XSS (Siteler Arası Komut Dosyası)' nedir?
Bir kullanıcı, bir web uygulamasının kullanıcı arayüzüne HTML / istemci tarafı komut dosyası eklediğinde, bu ekleme diğer kullanıcılar tarafından görülebilir ve buna şu şekilde adlandırılır: XSS .
'Adres sahteciliği' nedir?
Sahte görünümlü web sitelerinin veya e-postaların oluşturulmasına Adres sahteciliği .
Önerilen Güvenlik Testi Araçları
# 1) Acunetix
web uygulaması için test senaryoları örneği
Acunetix uçtan uca bir web uygulaması güvenlik tarayıcısıdır. Kuruluşunuzun güvenliğinin 360 derecelik bir görünümünü verecektir. SQL enjeksiyonları, XSS ve Zayıf Parolalar, vb. Gibi 6500 tür güvenlik açığını tespit edebilir. Karmaşık çok seviyeli formları taramak için gelişmiş makro kayıt teknolojisini kullanır.
Platform sezgiseldir ve kullanımı kolaydır. Tam taramaların yanı sıra artımlı taramaları planlayabilir ve önceliklendirebilirsiniz. Yerleşik bir güvenlik açığı yönetimi işlevi içerir. Jenkins gibi CI araçlarının yardımıyla yeni yapılar otomatik olarak taranabilir.
=> Web App Security için Acunetix'i deneyin
# 2) Kiuwan
SDLC'nin her aşamasında kodunuzdaki güvenlik açıklarını bulun ve düzeltin.
Kiuwan OWASP, CWE, SANS 25, HIPPA ve daha fazlası dahil olmak üzere en katı güvenlik standartlarıyla uyumludur.Geliştirme sırasında anında geri bildirim almak için Kiuwan'ı IDE'nize entegre edin. Kiuwan, tüm büyük programlama dillerini destekler ve önde gelen DevOps araçlarıyla entegre olur.
=> Kodunuzu ücretsiz tarayın
Güvenlik Testi Yaklaşımı
Bir web uygulamasının yararlı bir güvenlik testini gerçekleştirmek için, güvenlik test edicisi HTTP protokolü hakkında iyi bilgiye sahip olmalıdır.
İstemcinin (tarayıcının) ve sunucunun HTTP kullanarak nasıl iletişim kurduğunu anlamak önemlidir.
Ek olarak, test uzmanı en azından SQL enjeksiyonu ve XSS'nin temellerini bilmelidir.
Umarım web uygulamasında bulunan güvenlik kusurlarının sayısı yüksek olmayacaktır. Ancak, tüm güvenlik kusurlarını gerekli tüm detaylarla doğru bir şekilde tanımlayabilmek kesinlikle yardımcı olacaktır.
Web Güvenliği Testi Yöntemleri
# 1) Şifre Kırma
Bir üzerinde güvenlik testi Web Uygulaması 'Şifre Kırma' ile başlatılabilir. Uygulamanın özel alanlarına giriş yapmak için, bir kullanıcı adı / şifre tahmin edilebilir veya bunun için bazı şifre kırma aracı kullanılabilir. Açık kaynaklı şifre kırıcıların yanı sıra yaygın kullanıcı adları ve şifrelerin bir listesi mevcuttur.
Web uygulaması karmaşık bir parola ( Örneğin, harflerle, sayılarla ve özel karakterlerle veya en azından gerekli sayıda karakterle), kullanıcı adı ve parolayı kırmak çok uzun sürmeyebilir.
Bir kullanıcı adı veya parola tanımlama bilgilerinde şifrelenmeden saklanırsa, saldırgan tanımlama bilgilerini ve kullanıcı adı ve parola gibi tanımlama bilgilerinde depolanan bilgileri çalmak için farklı yöntemler kullanabilir.
Daha fazla ayrıntı için ' Web Sitesi Çerez Testi ”.
# 2) HTTP GET Yöntemleriyle URL Manipülasyonu
Bir test cihazı, uygulamanın sorgu dizesindeki önemli bilgileri iletip iletmediğini kontrol etmelidir. Bu, uygulama, istemci ile sunucu arasında bilgi iletmek için HTTP GET yöntemini kullandığında gerçekleşir.
hangi uygulama youtube videolarını indirmenize izin verir
Bilgi, sorgu dizesindeki parametreler üzerinden geçirilir. Test cihazı, sunucunun kabul edip etmediğini kontrol etmek için sorgu dizesindeki bir parametre değerini değiştirebilir.
HTTP GET isteği aracılığıyla kullanıcı bilgileri, kimlik doğrulama veya veri alma için sunucuya iletilir. Saldırgan, gerekli bilgileri almak veya verileri bozmak için bu GET isteğinden bir sunucuya iletilen her giriş değişkenini değiştirebilir. Bu tür durumlarda, uygulama veya web sunucusu tarafından yapılan herhangi bir olağandışı davranış, saldırganın bir uygulamaya girmesi için giriş kapısıdır.
# 3) SQL Enjeksiyonu
Kontrol edilmesi gereken bir sonraki faktör SQL Injection'dır. Herhangi bir metin kutusuna tek bir alıntı (‘) girmek, uygulama tarafından reddedilmelidir. Bunun yerine, test eden kişi bir veritabanı hatasıyla karşılaşırsa, bu, kullanıcı girdisinin daha sonra bir uygulama tarafından çalıştırılan bir sorguya eklendiği anlamına gelir. Böyle bir durumda, uygulama SQL enjeksiyonuna karşı savunmasızdır.
SQL enjeksiyon saldırıları, bir saldırgan sunucu veritabanından çok önemli bilgileri alabildiğinden çok kritiktir. Web uygulamanıza SQL enjeksiyon giriş noktalarını kontrol etmek için, kod tabanınızdan bazı kullanıcı girdilerini kabul ederek veritabanında doğrudan MySQL sorgularının yürütüldüğü kodu bulun.
Kullanıcı giriş verileri, veritabanını sorgulamak için SQL sorgularında oluşturulmuşsa, bir saldırgan, veritabanından önemli bilgileri çıkarmak için kullanıcı girdileri olarak SQL ifadelerini veya SQL ifadelerinin bir kısmını enjekte edebilir. Bir saldırgan, bir tarayıcıda gösterilen SQL sorgu hatasından uygulamayı çökertmeyi başarsa bile, saldırgan aradığı bilgiyi alabilir.
Bu gibi durumlarda, kullanıcı girdilerinden gelen özel karakterler uygun şekilde kullanılmalı / atlanmalıdır.
# 4) Siteler Arası Komut Dosyası (XSS)
Bir test uzmanı ayrıca web uygulamasını XSS (Siteler arası komut dosyası oluşturma) için kontrol etmelidir. Herhangi bir HTML Örneğin, veya herhangi bir komut dosyası Örneğin, uygulama tarafından kabul edilmemelidir. Öyleyse, uygulama Siteler Arası Komut Dosyası tarafından saldırıya açık olabilir.
Saldırgan, kurbanın tarayıcısında kötü amaçlı bir komut dosyası veya URL çalıştırmak için bu yöntemi kullanabilir. Bir saldırgan, siteler arası komut dosyası kullanarak, kullanıcı tanımlama bilgilerini ve tanımlama bilgilerinde depolanan bilgileri çalmak için JavaScript gibi komut dosyalarını kullanabilir.
Birçok web uygulaması bazı yararlı bilgiler alır ve bu bilgileri farklı sayfalardan bazı değişkenlerde geçirir.
Örneğin, http://www.examplesite.com/index.php?userid=123 &sorgu = xyz
Saldırgan, bazı kötü amaçlı girdileri kolayca iletebilir veya tarayıcıdaki önemli kullanıcı / sunucu verilerini keşfedebilecek bir '& sorgu' parametresi olarak kullanabilir.
Önemli: Güvenlik testi sırasında, test uzmanı aşağıdakilerden herhangi birini değiştirmemek için çok dikkatli olmalıdır:
- Uygulamanın veya sunucunun konfigürasyonu
- Sunucuda çalışan hizmetler
- Uygulama tarafından barındırılan mevcut kullanıcı veya müşteri verileri
Ek olarak, bir üretim sisteminde güvenlik testinden kaçınılmalıdır.
Sonuç
Bir güvenlik testinin amacı, geliştiricilerin bu güvenlik açıklarını uygulamadan kaldırabilmesi ve web uygulamasını ve verilerini herhangi bir yetkisiz eylemden koruyabilmesi için web uygulamasının güvenlik açıklarını keşfetmektir.
Önerilen okuma => SAST / DAST / IAST / RASP arasındaki fark
Bu makale ile ilgili yorumlarınızı / önerilerinizi paylaşmaktan çekinmeyin.
Önerilen Kaynaklar
- Web Uygulaması Sızma Testi İçin Yeni Başlayanlar Kılavuzu
- Güvenlik Testi (Tam Kılavuz)
- Alfa Testi ve Beta Testi (Tam Kılavuz)
- Ağ Güvenliği Testi ve En İyi Ağ Güvenliği Araçları
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Derleme Doğrulama Testi (BVT Testi) Tam Kılavuzu
- Web Uygulamasını Test Etmek İçin En İyi 4 Açık Kaynak Güvenlik Test Aracı
- Fonksiyonel Test ve Fonksiyonel Olmayan Test