XSS memorizzato

XSS memorizzato

Piantato una volta, da quel momento in poi funzionerà per ogni visitatore.

Cos’è XSS memorizzato?

Lo scripting cross-site archiviato deve essere installato una sola volta. Ogni utente che successivamente carica la pagina esegue lo script dell'aggressore sulla propria sessione, senza alcun collegamento su cui fare clic e nulla da notare. Trascinerai un tag immagine con un gestore onerror in un libro degli ospiti, quindi caricherai tu stesso la pagina e guarderai la stampa del cookie della sessione. La correzione sfugge al limite del rendering, quindi il payload identico ancora presente nel database viene visualizzato come testo. Il valore memorizzato non deve mai essere ripulito affinché la correzione possa essere mantenuta.

Cosa imparerai in XSS memorizzato

XSS memorizzato — Fasi della formazione

  1. Trova il forum della comunità

    Oggi Bob si rivolge a Signal Coast, il cui forum della comunità consente a qualsiasi membro di pubblicare una breve nota pubblica che ogni altro membro legge. Accede con un account usa e getta e apre il libro degli ospiti del forum per vedere come gestisce ciò che le persone scrivono.

  2. Le note vengono visualizzate come scritte

    Il libro degli ospiti fa una promessa che la maggior parte dei siti fa attenzione a non mantenere mai: rende ogni nota esattamente come scritta, HTML incluso. Un campo che trasforma qualunque cosa digiti in markup attivo è esattamente ciò che Bob sperava di trovare.

  3. Pubblica una nota normale

    Innanzitutto, Bob si comporta come qualsiasi altro membro e pubblica una normale nota per vedere come la gestisce il libro degli ospiti. Il biglietto si attacca al muro esattamente così come è scritto: testo semplice, niente di insolito. Questa è la funzionalità che funziona come previsto.

  4. Passare a uno script

    Il campo esegue il rendering in HTML, quindi Bob gli fornisce uno script anziché una frase. La sua sonda è un tag immagine con una fonte che non può essere caricata e un gestore onerror che legge il cookie di sessione dello spettatore. L'immagine fallisce, il gestore viene eseguito e il browser apre qualunque cosa gli venga indicata dalla nota. Qui stampa la sessione, prova che una nota può eseguire codice con allegato il login dello spettatore.

  5. Funziona con la sessione

    Eccolo qui: la nota è stata eseguita da sola e ha attivato il cookie della sessione live dello spettatore, senza che venisse cliccato nessun collegamento e nessun file aperto. Un'impronta innocua oggi; domani un segnale silenzioso al server di Bob. Bob ha dimostrato che il muro corre qualunque cosa contenga una nota. Ora costruisce la vera arma.

  6. Pianta il login falso

    Bob scambia la sonda con una nota che riscrive la pagina in una casella di accesso a Sessione scaduta, con un gestore che invia qualsiasi cosa venga digitata al suo server. Ad ogni membro che carica il wall sembra che il forum gli abbia semplicemente chiesto di accedere nuovamente. Le credenziali vanno direttamente a Bob.

  7. La trappola è armata

    Il login falso è ora la nota più recente sul muro e sembra proprio che il forum chieda ai membri di accedere nuovamente. Il suo gestore invia qualunque cosa venga digitata direttamente al server di Bob. L'ha piantato una volta; ogni membro che si fida e accede consegna la propria password.

  8. Alice apre il muro

    Possiedi il codice di rendering del libro degli ospiti. Questa mattina ti aggiorni sulla community, proprio come qualsiasi altro amministratore che inizia la giornata: apri il browser e vai al muro. Non hai fatto clic su un collegamento né eseguito nulla. Stai semplicemente caricando una pagina che gestisci.

  9. Premi al caricamento

    La pagina ha appena terminato il caricamento e un popup sta già stampando il cookie della sessione. Non hai digitato nulla e non hai fatto clic su nulla. Una delle note di Bob è stata pubblicata nell'istante in cui è stato eseguito il rendering del muro, all'interno della sessione di amministrazione. Sulla sua corporatura lo stesso conduttore gli avrebbe segnalato quella sessione direttamente.

  10. E sotto un login falso

    Scorri il muro e c'è una seconda nota piantata: una casella di accesso alla Sessione scaduta che assomiglia a quella del forum. Qualsiasi membro che si fida e accede consegna la propria password all'aggressore. Queste sono note memorizzate, eseguite dal browser di ogni visualizzatore. Come ingegnere proprietario di questa pagina, sai che la correzione è nel codice di rendering.

Copertura dei framework di sicurezza

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