Web Enjeksiyon Türleri Ve Örnekleri

xezua

Katılımcı Üye
4 Tem 2023
359
5
103
Misconfiguration
Herkese Merhaba Bayadır konu açmadım Çünkü Yks yılı o yüzden ufak bir konu açmak istedim iyi okumalar

Konuyu başta çorba ettim kusura bakmayın.


- Form Alanlarına Enjeksiyon: Kötü niyetli bir kullanıcı, bir web formunda (örneğin, bir arama kutusu veya iletişim formu) HTML veya JavaScript kodlarını göndererek enjeksiyon yapabilir. Bu kodlar daha sonra web sitesinde işlenir ve kullanıcıların görmesi amaçlanan içeriği değiştirebilir.

2-URL Parametrelerine Enjeksiyon: Bir web uygulaması, URL'de belirli parametreleri kullanarak dinamik içerik oluşturuyorsa, saldırgan URL'ye eklenen parametreler aracılığıyla HTML veya JavaScript kodlarını enjekte edebilir.

Arada örnek vereyim
; diyelim ki bir web sitesinde arama motoru şu şekilde çalışıyor olsun
Kod:
http://example.com/search?query=your_search_query

Burada "query" adında bir parametre kullanılıyor ve kullanıcıların arama sorgularını içeriyor.

Eğer bu sorgu parametresine kötü niyetli bir kullanıcı tarafından HTML kodları eklenirse, enjeksiyon gerçekleşebilir. Örneğin, kullanıcı "query" parametresine şu şekilde bir değer gönderebilir:


Kod:
http://example.com/search?query=<script>alert("XSS attack")</script>

*Örnekler Sadece Göz ucuyla kavrama içindir abartı olmayacak şekilde*


Bu URL, tarayıcıda çalıştırıldığında, tarayıcı bu JavaScript kodunu çalıştıracak ve bir pop-up penceresinde "XSS attack" mesajını görüntüleyecektir. 'evet xss sql gibi zaafiyetler eskisi kadar yaygın değildir lakin, amaç bilgilenmek. Bu, HTML enjeksiyonunun bir örneğidir ve web uygulaması güvenlik önlemleri alınmadığı sürece kullanıcılarına zarar verebilir.

3- Gizli Alanlara Enjeksiyon: Sayfanın kaynak kodunda görünmeyen ancak form işleme işlevlerinde kullanılan gizli alanlar (hidden fields) da enjeksiyon için bir hedef olabilir.

Gelelim bu nasıl işler ?

Örneğin, bir web formu aşağıdaki gibi bir HTML koduyla oluşturulmuş olsun:


HTML:
<form action="submit.php" method="post">
  <input type="hidden" name="user_id" value="12345">
  <input type="submit" value="Submit">
</form>

Burada, formun içinde gizli bir alan (<input type="hidden">) bulunmaktadır ve bu alan "user_id" adında bir kullanıcı kimliği içermektedir.

Bir saldırgan, bu formu manipüle ederek gizli alanın değerini değiştirebilir veya ekstra HTML kodlarını enjekte edebilir. Örneğin, saldırgan gizli alanı şu şekilde değiştirebilir:


Kod:
<input type="hidden" name="user_id" value="12345"><script>alert('XSS Attack');</script>

Bu durumda, form sunucuya gönderildiğinde, sunucu bu gizli alanı işleyecektir. Eğer sunucu gelen verileri yeterince doğrulamaz veya temizlemezse, gizli alanın değeri ve eklenen JavaScript kodu işlenecek ve tarayıcıda XSS saldırısı gerçekleşecektir.

4- HTTP Başlıklarına Enjeksiyon: HTTP başlıklarına enjeksiyon, kullanıcı tarafından sağlanan verilerin güvenlik kontrollerinden kaçırılarak gerçekleştirilebilir

Gelelim bu nasıl yapılır ;

HTTP başlıklarına HTML enjeksiyonu yapmak genellikle biraz daha karmaşıktır çünkü çoğu web uygulaması HTTP başlıklarını doğrudan kullanıcı girişlerinden değil, sunucu tarafında oluşturulan verilerden alır. Ancak, bazı durumlarda, HTTP başlıklarının kullanıcı girişlerinden alındığı ve doğrudan sunucuya iletildiği senaryolar vardır.

Örnek bir senaryo şu şekilde olabilir:


HTTP:
GET /page HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Session-ID: <script>alert("XSS attack")</script>

Burada, bir saldırgan, tarayıcıda çalıştırılacak olan JavaScript kodunu içeren Session-ID başlığını manipüle ederek enjeksiyon yapmaya çalışıyor. Bu HTTP başlığı sunucuya gönderilecek ve sunucu tarafından işlenecektir.

Ancak, bu tür enjeksiyonları önlemek için sunucu tarafında güvenlik kontrolleri yapılması gerekir. Örneğin, sunucu gelen HTTP başlıklarını doğru şekilde doğrulamalı ve temizlemelidir. Bu, kötü niyetli kodların sunucu tarafında işlenmeden önce engellenmesine yardımcı olur.

Bu örnek, genellikle teorik bir senaryodur ve gerçek dünya uygulamalarında bu tür enjeksiyonların başarılı olması daha az olasıdır çünkü çoğu modern web uygulaması güvenlik önlemleriyle donatılmıştır. Dediğim gibi amaç bilgilendirmektir.

Gelelim son yöntemlerden birine

5- Kullanıcı Tarafı Scripting (XSS):
Kötü niyetli bir kullanıcı, web uygulamasına JavaScript kodları enjekte ederek XSS saldırısı gerçekleştirebilir. Bu, kullanıcıların tarayıcılarında zararlı kodların çalıştırılmasına neden olabilir.

2 Farklı şekilde olabilir;


Depolama (Stored) XSS:
Bir forum, blog veya mesaj panosu gibi bir web uygulamasının kullanıcıya gönderilen metinleri depoladığı bir senaryoda, bir saldırgan zararlı JavaScript kodlarını bir mesaj veya yorum içine ekler.
Örnek:
Bir kullanıcı yorumunda şu metin bulunabilir:

Kod:
<script>alert('XSS attack!');</script>

Bu kod, kullanıcıların bu mesajı görüntülediğinde tarayıcılarında bir pop-up penceresi açacak şekilde çalışacaktır.

2- Yansıtılan (Reflected) XSS:
Bir web uygulaması, kullanıcının tarayıcısına gönderilen verileri doğrudan HTML sayfasına yansıtıyorsa ve bu girdilerin doğrulanması veya temizlenmesi yapılmıyorsa, bir saldırgan kötü amaçlı bir URL oluşturabilir ve kullanıcıları bu URL'yi tıklamaya ikna edebilir.
Örnek:
Bir arama motoruna gönderilen bir sorguda şu URL olabilir:


Kod:
http://example.com/search?query=<script>alert('XSS attack!');</script>

Bu URL'yi tıklayan kullanıcılar, tarayıcılarında JavaScript kodunu çalıştıracak bir pop-up penceresi görecektir.

Yöntemlerimiz bu şekilde ve toollar ile çoğalabilir. Gelelim korunma yollarına



1-Kullanıcı Girdilerini Doğrulama ve Temizleme: Kullanıcıların girdilerini doğrulamak ve temizlemek önemlidir. Tüm girdiler doğru şekilde doğrulanmalı ve güvenilir olmayan karakterler temizlenmelidir. Örneğin, HTML etiketleri ve JavaScript kodları için kaçış karakterleri kullanılabilir.
Veri Bağlamına Göre Güvenli Kodlama: Kullanıcı tarafından sağlanan verilerin gömülü olduğu HTML, CSS veya JavaScript gibi bağlamlara göre güvenli bir şekilde kodlama yapılmalıdır. Örneğin, HTML içinde metin olarak gösterilmesi gereken veriler için HTML kodlaması yapılmalıdır.

2- Kapsamlı Güvenlik Testleri: Web uygulamaları, kapsamlı güvenlik testlerine tabi tutulmalıdır. Bu, potansiyel güvenlik açıklarını tespit etmek ve düzeltmek için önemlidir. Otomatik tarayıcılar ve manuel denetimler kullanılarak güvenlik testleri gerçekleştirilmelidir.

3-Güvenlik Duvarları (WAF) Kullanma: Web Uygulama Güvenlik Duvarları (WAF), web uygulamalarına gelen istekleri izleyerek kötü niyetli trafikleri filtreleyebilir ve önleyebilir. WAF, bilinen saldırı kalıplarını algılayarak HTML enjeksiyonu gibi saldırılara karşı koruma sağlayabilir.

4-Güncel Kalma: Web uygulaması ve sunucu yazılımınızı düzenli olarak güncel tutun. Güncellemeler, yaygın olarak bilinen güvenlik açıklarını düzeltmek için önemlidir.

5-Güvenli Geliştirme Prensiplerine Uyma: Güvenli yazılım geliştirme prensiplerini takip ederek, kodlama sürecinde güvenlik açıklarını önlemek için önlemler alınabilir. Bu prensipler, güvenlikle ilgili konuları geliştirme sürecinin her aşamasına entegre eder.



- Okuyan Herkese Teşekkür ederim ^_^

Diğer konumda ise 403 Forbidden bybass düşünüyorum. Ne dersiniz?
 
Son düzenleme:

OBT is HeRYerDe

Anka Team
11 Ara 2020
2,610
9
1,512
Görsel Kullanarak Anlatımı Daha Etkili Bir Hâle Getirebilirsin, Bu Arada HTML İnjection Göremedim?
 
Son düzenleme:
19 May 2013
947
50
Eline sağlık, birde konularda sanırım sen beyaz temayı kullanıyorsun fakat karanlık tema kullanıldığında siyah yazılar okunmuyor öyle bir çarpışık düzen oluyor bilgin olsun.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.