Tüm lablar

Uygulamalı

Reflected XSS ve NoSQL enjeksiyonu labı

Aynı girdiyi bir HTML bağlamında ve bir veritabanı sorgu bağlamında çalıştır; “payload çalıştı”nın neden “bulgu gerçek” ile aynı şey olmadığını gör.

Zorluk: BaşlangıçSüre: ~50 dk

Amaç

Tek bir yansıyan girdiyi iki bağlamda test et (HTML yanıtı ve veritabanına karşı bir sorgu parametresi), ardından her bulguyu sömürülebilir kılan farklı ön koşulları belgele.

Ön koşullar

  • Yansıyan bir girdi ve sorgu destekli bir uç nokta içeren yerel lab uygulaması (DVWA veya bir eğitim uygulaması).
  • Geliştirici araçlarına sahip bir tarayıcı ya da aynı oturumda açık Burp.
  • Bağlamın (HTML, nitelik, JS, sorgu) hangi payload’ın geçerli olduğunu belirlediğini anlamak.

Ortam

  • Bağlam 1: HTML içine yansıtılan bir değer (görünüm, çalıştırma değil).
  • Bağlam 2: katı tipleme olmadan arka uç sorgusuna birleştirilen bir sorgu parametresi.
  • Hedefi yerel ve izole tut; bu lab kontrol ettiğin bir eğitim uygulamasını varsayar.

Adımlar

  1. 1

    Girdinin nereye düştüğünü bul

    Benzersiz bir işaretçi gönder ve ham yanıtı içinde ara. Göründüğü yer (etiketler arası, bir niteliğin içinde, bir betik dizesinde) sömürü yolunu belirler.

  2. 2

    HTML bağlamını test et

    Yansıma noktasını doğrula, ardından kodlamayı değerlendir: <, >, tırnak ve olay işleyicileri filtreleniyor mu yoksa kaçışlıyor mu. Çalışma kanıtlanana kadar görüntülenen bir yansıma yalnızca bir görünüm sorunudur.

  3. 3

    Sorgu bağlamını test et

    Sorgu destekli parametreyi yapısal değişim için yoklayarak test et: nesne biçimli bir girdi sonuç kümesini değiştiriyor mu? Filtreyi enjeksiyonla karıştırmamak için düz bir dizeyle karşılaştır.

  4. 4

    İki bulguyu yaz

    Her ikisini de kendi ön koşulu ve etkisiyle birer bulgu olarak belgele. Aynı girdinin iki davranış üretmesi bir değil iki bulgudur.

Nasıl doğrulanır

  • Yansıma noktası yalnızca görüntülenen sayfada değil, ham yanıtta belirlenir.
  • Her bulgu bağlamı ve sömürülebilir olduğu ön koşulu belirtir.
  • Sorgu bağlamı testi, düz bir filtreyi dışlamak için bir kontrol girdisiyle karşılaştırır.

Dayanak yazılar