Gereflecteerde XSS

Gereflecteerde XSS

De hele aanval past in een link die je hebt gekregen.

Wat is Gereflecteerde XSS?

Gereflecteerde cross-site scripting verbergt zich in de URL. Er wordt niets op de server geplaatst: één vervaardigde link voert het script van de aanvaller uit vanuit uw eigen bron, binnen de ingelogde sessie van het slachtoffer. U vervangt de zoekterm van een winkel door een img onerror -payload en ziet hoe de resultatenrubriek deze uitvoert. Vervolgens opent u de zoekhandler, vindt u de query samengevoegd in de antwoord-HTML, laat u deze ontsnappen bij de weergavegrens en speelt u dezelfde payload opnieuw af als inerte tekst. Een blokkeerlijst die op zoek is naar script -tags ziet deze nooit.

Wat je leert in Gereflecteerde XSS

Gereflecteerde XSS — Trainingsstappen

  1. Vind de winkelzoekopdracht

    Vandaag richt Bob zich op Vellora , een online marktplaats met een groot aantal ingelogde klanten. Hij opent de zoekfunctie voor de openbare winkel om te zien hoe deze zich gedraagt. Een zoekvak dat uw zoekopdracht terugstuurt naar de pagina is het eerste wat een aanvaller onderzoekt.

  2. Voer een normale zoekopdracht uit

    Kijk eerst hoe de functie zich gedraagt voor een echte klant. Voer een gewone productzoekopdracht uit. De winkel retourneert overeenkomende items en de term die Bob heeft getypt, wordt herhaald in de resultatenkop.

  3. De vraag wordt weerspiegeld

    De exacte term die Bob zocht, komt rechtstreeks terug in de resultatenrubriek, en de adresbalk draagt deze nu als een q -parameter. Die reflectie is alleen gevaarlijk als de pagina er bij het verlaten niet in slaagt om aan de waarde te ontsnappen. De enige manier om daar achter te komen is door het een teken te geven dat de browser als markup behandelt.

  4. Test of het ontsnapt

    Bob onderzoekt de reflectie met een klassieke test: een afbeeldingstag met een kapotte bron en een onerror -handler die een onschadelijke alert(1) tevoorschijn haalt. Als de pagina aan de zoekopdracht ontsnapt, wordt dit weergegeven als platte tekst in de kop. Als dit niet het geval is, bouwt de browser een echte tag en wordt de waarschuwing geactiveerd.

  5. Het is exploiteerbaar

    Het alarm ging af. De pagina ontsnapt niet aan de zoekopdracht, dus wordt de opmaak uitgevoerd die de URL bevat. Die onschuldige alert(1) was slechts de bevestiging. Een echte payload laat geen dialoog verschijnen, maar werkt stil en steelt de sessiecookie van de bezoeker.

  6. Wapenen en phishen

    Bob ruilt de waarschuwing in voor een cookiesdief die de sessie naar zijn eigen server stuurt, verpakt deze in een Vellora -zoeklink zodat deze op het vertrouwde winkeldomein draait, en verbergt deze achter een vriendelijke beloning. Vervolgens mailt hij het naar een echte medewerker wiens sessie het stelen waard is: Alice. Mensen vertrouwen op links naar de winkel van hun eigen bedrijf.

  7. Een beloning, uit het niets

    Een belonings-e-mail belandt in uw inbox. Het lijkt erop dat het van Vellora is, en de knop wijst naar de winkel die je dagelijks gebruikt. Er is duidelijk niets mis.

  8. Claim de beloning

    Met de link wordt de eigen winkel van Vellora geopend, dus het voelt veilig. Klik door om de beloning te claimen.

  9. Wat de link feitelijk luidde

    De pagina is slechts de zoekopdracht van Vellora en toont een gebroken afbeelding waar de resultatenrubriek zou moeten staan. Maar de q -parameter van de link bevatte een script. Het werd uitgevoerd zodra de pagina werd weergegeven, las uw sessiecookie en stuurde deze naar de aanvaller. Er was geen pop-up. Het gebroken beeld is het enige spoor.

  10. Uw sessie is gekaapt

    Minuten later wordt dit door veiligheidsoperaties opgemerkt. De link die u hebt geopend, heeft uw eigen winkel tegen u gekeerd, en nu houdt iemand anders uw sessie vast. De gekaapte pagina is nog steeds geopend naast de waarschuwing. U bent eigenaar van deze code. Lees de waarschuwing en los vervolgens de oorzaak op.

Dekking van beveiligingsframeworks

OWASP Top 10

  • A05:2025 Injection
  • A03:2021 Injection

CWE

  • CWE-79 Improper Neutralization of Input During Web Page Generation

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security