
Un'estensione del browser Chrome/Firefox per mostrare avvisi per parametri di query riflessi, mostrare i link dell'archivio Wayback per il percorso corrente, mostrare elementi nascosti e abilitare elementi disabilitati.
Questa è un'estensione per Chrome/Firefox che può fare quanto segue:
'," e < vengono riflessi senza essere codificati.Xnl Reveal dei DevTools del browser.Xnl Reveal dei DevTools del browser).La possibilità di mostrare un avviso per i parametri riflessi è stata ispirata da un commento di @renniepak sull'Episodio 42 del Critical Thinking - Bug Bounty Podcast in cui ha menzionato di avere una propria estensione del browser che lo informava di eventuali riflessioni.
Il numero di parametri riflessi trovati è mostrato da un badge verde sull'icona dell'estensione. Tuttavia, se uno qualsiasi dei nomi dei parametri riflessi rientra in una delle categorie descritte nella ricerca sui parametri "sus" di @Jhaddix e @G0LDEN_infosec, il badge sarà rosso. Se ci sono parametri "sus", le categorie verranno mostrate anche nell'output nella scheda Xnl Reveal dei DevTools, nella finestra di avviso e negli appunti, ad es. boringParameter, query [XSS], path [LFI/RFI | SSRF | XSS] (questa è la stessa identificazione dei parametri "sus" della mia GAP Burp Extension).
La possibilità di mostrare elementi nascosti e abilitare elementi disabilitati è stata ispirata da questo Tweet di Critical Thinking - Bug Bounty Podcast e inizialmente l'ho creata come segnalibri del browser.
L'icona dell'estensione viene normalmente mostrata con uno sfondo nero
, ma se l'icona appare con uno sfondo rosso
, indica che l'API Wayback CDX Server è probabilmente non disponibile. Anche se le funzionalità principali sono disabilitate, l'estensione controllerà lo stato dell'API ogni 10 minuti.
IMPORTANTE: Quando si usano strumenti come waymore, waybackurls o gau per ottenere URL dall'archivio Wayback, viene usata l'API CDX Server. Se l'API è giù, non riceverai alcun dato dalla Wayback Machine, ma solo da altre fonti. Inoltre, solo waymore ti farebbe sapere che c'è stato un problema.
Clona questo repo sulla tua macchina e poi segui le istruzioni qui sotto, a seconda che tu voglia installarla su un browser Chrome o Firefox:
Apri il Gestore delle estensioni in Chrome seguendo: Menu kebab (tre puntini verticali) -> Estensioni -> Gestisci estensioni
Se la modalità sviluppatore non è attiva, attivala facendo clic sull'interruttore in alto a destra.
Ora fai clic sul pulsante Carica estensione non pacchettizzata in alto a sinistra.
Vai nella directory dove hai la cartella Xnl Reveal e selezionala.
L'estensione è ora caricata. Puoi fare clic sull'icona dell'estensione nella barra degli strumenti e poi sull'icona della puntina per fissare Xnl Reveal alla barra degli strumenti.
IMPORTANTE: Con le estensioni di Firefox, dovrai caricarla ogni volta che apri Firefox. Purtroppo non posso aggiungerla allo store di Firefox per evitare questo, perché per farlo deve essere Manifest v3. Xnl Reveal deve usare Manifest v2 (a meno che qualcun altro non riesca a capire come fare, perché io non ci sono riuscito) che ha meno restrizioni di sicurezza e le permette di funzionare.
Vai su about:debugging in una nuova scheda del browser.
Fai clic sulla voce Questo Firefox sul lato sinistro della pagina.
Fai clic sul pulsante Carica componente aggiuntivo temporaneo... sotto la voce Estensioni temporanee.
Vai alla cartella Firefox del repo scaricato e seleziona un qualsiasi file, quindi fai clic su Apri.
L'estensione è ora caricata. Puoi fare clic sull'icona dell'estensione nella barra degli strumenti, poi sull'icona dell'ingranaggio delle Impostazioni e selezionare Fissa alla barra degli strumenti.
Xnl Reveal nella barra degli strumenti e selezioni Opzioni, verrai portato alla pagina delle Opzioni.Xnl Reveal nella barra degli strumenti e selezioni Gestisci estensione, poi fai clic sulla scheda Opzioni per vedere la pagina delle Opzioni.
Hai le seguenti opzioni:
Canary token - Quando vengono fatte richieste per testare la riflessione dei parametri di query, questo è il valore del parametro che viene usato e controllato.Controlla la riflessione di ' " < - Quando vengono fatte richieste per testare la riflessione dei parametri di query, la stringa '",xnl viene aggiunta alla fine del Canary token. Se uno qualsiasi di questi caratteri viene riflesso senza essere codificato, anche questo verrà segnalato. Se l'inserimento di quei caratteri fa sì che il Canary token non venga affatto riflesso (magari un WAF blocca <), verrà fatta un'altra richiesta solo con il Canary token.Mostra finestra di avviso per le riflessioni - Se selezionato e se Mostra riflessioni dei parametri di query è selezionato nel menu Popup (vedi sotto), verrà mostrata una finestra di avviso del browser con i dettagli di eventuali parametri di query riflessi.Copia il testo della riflessione negli appunti - Se selezionato e se Mostra riflessioni dei parametri di query è selezionato nel menu Popup (vedi sotto), quando vengono trovate riflessioni di parametri, i dettagli vengono inseriti negli appunti dell'utente oltre che scritti nella scheda dei DevTools (e in una finestra di avviso se richiesto). Questo significa che appena vedi una finestra di avviso o i dettagli nella scheda DevTools, puoi andare nei tuoi appunti e incollare subito i dettagli. Se fai clic sul logo Xnl Reveal nella barra degli strumenti, vedrai un menu popup.
Hai le seguenti impostazioni:
ABILITA REVEAL - Se questa opzione non è selezionata, l'estensione non farà nulla. Se selezionata, eseguirà determinate azioni sulle pagine web visitate (se sono in scope), a seconda delle altre opzioni impostate.Mostra riflessioni dei parametri di query - Se selezionato, quando viene visitata una pagina web che ha dei parametri di query, viene fatta una richiesta in background per ogni parametro, sostituendo ciascuno a turno con il Canary token della pagina delle Opzioni. Se il token viene trovato per uno qualsiasi dei parametri nella risposta, viene scritto un messaggio nella scheda Xnl Reveal dei DevTools con l'URL e tutti i parametri di quella pagina che sono stati riflessi. Se le opzioni sono selezionate, questi dettagli possono essere mostrati anche in una finestra di avviso del browser e copiati negli appunti dell'utente. L'estensione mostrerà anche un badge con il numero di riflessioni trovate.CHARSET NON SPECIFICATO NELLA RISPOSTA! se il charset non è impostato esplicitamente per una pagina HTML. Questo può significare che l'XSS potrebbe essere più facile con un trucco spiegato in questo blog.Scrivi endpoint Wayback nei DevTools - Se selezionato, per ogni posizione/percorso visitato nel browser, verranno recuperati fino a 1000 endpoint dall'archivio Wayback e scritti nella scheda Xnl Reveal dei DevTools. Una volta che una posizione/percorso è stata inviata all'API Wayback, non verrà inviata di nuovo, a meno che non sia stato fatto clic su .Se fai clic con il tasto destro su una pagina web, otterrai il menu contestuale del browser, ad es. se sei su example.com, vedrai questo e se hai selezionato Whitelist nelle Opzioni, vedrai questo:
Queste opzioni sono disponibili anche se l'opzione ABILITA REVEAL nel Menu Popup non è selezionata. Ci sono 3 opzioni tra cui puoi scegliere:
Ottieni endpoint wayback - Se fai clic, verrà aperta una nuova scheda che conterrà gli endpoint dell'archivio Wayback per il dominio della finestra su cui è stato fatto clic. Non è influenzata da altre impostazioni e può essere eseguita anche se l'estensione non è abilitata.Mostra elementi nascosti - Mostra tutti gli elementi nascosti nella pagina corrente, allo stesso modo di Mostra elementi nascosti, ma l'estensione non deve essere abilitata.Abilita elementi disabilitati - Abilita tutti gli elementi disabilitati nella pagina corrente, allo stesso modo di Abilita elementi disabilitati, ma l'estensione non deve essere abilitata.Mostra versione Google Cache - Se fai clic, verrà aperta una nuova scheda che aprirà la versione Google Cache della pagina corrente. Anche se un sito web non è più disponibile, Google avrà una copia archiviata nei suoi archivi e potrai comunque accedere alla pagina nella cache.Mostra ricerca dominio FOFA - Se fai clic, verrà aperta una nuova scheda con FOFA che mostra i risultati di ricerca per domain="{TARGET}", dove {TARGET} è il dominio della scheda attiva.I messaggi sulle riflessioni dei parametri e sugli endpoint wayback venivano precedentemente scritti nella console, ma ora verranno scritti in una scheda separata nei DevTools del browser. Da qui puoi:
Filtra messaggi... - Inserisci qualsiasi testo per eseguire il filtraggio in tempo reale dei messaggi, rendendo più facile trovare riflessioni specifiche o risultati Wayback tra i messaggi memorizzati.Copia tutti i messaggi - Copia tutti i messaggi negli appunti per poterli incollare nei tuoi appunti!Copia tutti gli URL - Estrae tutti gli URL univoci dai messaggi attualmente visibili (rispettando qualsiasi filtro attivo) e li copia negli appunti, uno per riga. Utile per raccogliere rapidamente tutti gli URL da riflessioni e risultati Wayback per ulteriori test.Cancella messaggi e cache - Cancella tutti i messaggi dalla scheda e dall'archiviazione locale. Cancellerà anche gli endpoint wayback che sono stati cercati in precedenza.
Questa estensione del browser non sarà perfetta!
A volte la modifica del codice può rompere una pagina. Se riscontri un problema, deselezionare una determinata impostazione nel menu popup ricaricherà la pagina e potrebbe andare di nuovo tutto bene, ma non sarai in grado di controllare.
Potrebbero anche esserci alcuni Errori mostrati nella pagina Gestisci estensione in determinate situazioni.
Se esegui manualmente un'opzione dal menu contestuale e non succede nulla, potrebbe essere necessario aggiornare la pagina su cui stai tentando di eseguire l'opzione e riprovare.
Crea word list alla versione Firefox.Errore durante la copia negli appunti (NotAllowedError: Document is not focused.)true,false,1, ecc., poiché ci saranno molti falsi positivi.Se incontri qualsiasi problema, o hai idee per miglioramenti, sentiti libero di aprire una issue su Github. Se c'è un problema, sarà utile se puoi fornire l'URL esatto su cui eri e eventuali errori della console.
Buona fortuna e buona caccia!
Se ami davvero lo strumento (o qualsiasi altro), o ti ha aiutato a trovare una fantastica bounty, considera l'idea di OFFRIRMI UN CAFFÈ! ☕ (Mi serve la caffeina!)
🤘 /XNL-h4ck3r
Xnl RevealBlacklist parametri - Questa è una lista separata da virgole di nomi di parametri (ad es. param1,param2) che non vuoi sostituire con il canary token per verificare se viene riflesso. Può essere usata quando testare alcuni parametri causa problemi, ad es. disconnetterti.Ritardo controllo - Quando una pagina viene caricata, a seconda delle impostazioni, l'estensione proverà a mostrare gli elementi nascosti e ad abilitare gli elementi disabilitati. Tuttavia, a volte parti della pagina vengono caricate dinamicamente e non sono nella risposta originale. L'estensione proverà a mostrare e abilitare di nuovo dopo questo ritardo (in secondi) dal caricamento iniziale della pagina.RegEx Wayback - Se l'impostazione per scrivere gli endpoint dell'archivio Wayback è stata selezionata, verranno mostrati nella scheda DevTools solo gli endpoint wayback che corrispondono alla RegEx inserita. Se il campo viene lasciato vuoto, vengono restituiti fino a 1000 endpoint Wayback. IMPORTANTE: Qualsiasi RegEx inserita verrà trattata come case insensitive.Chiave API KNOXSS - Inserisci la tua chiave API KNOXSS. Se una chiave viene salvata e Mostra riflessioni dei parametri di query è abilitato nel menu Popup, quando viene trovata una riflessione l'URL viene automaticamente inviato all'API KNOXSS. L'header X-API-KEY viene impostato con la chiave salvata e i cookie della pagina corrente vengono passati come header di autenticazione. La risposta dell'API KNOXSS viene scritta nella scheda Xnl Reveal dei DevTools. La chiamata API viene fatta in modo asincrono, quindi non blocca l'interazione con la pagina.Ambito estensione:
Whitelist o Blacklist - Questo determina quali siti riceveranno i controlli delle riflessioni dei parametri e/o il recupero degli endpoint wayback. A seconda dell'opzione scelta, un host deve contenere o non contenere la parola inserita per essere elaborato.Parola host da aggiungere - Inserisci una parola che esiste nel nome host (o un nome host completo) che vuoi inserire nella whitelist o nella blacklist e fai clic sul pulsante Aggiungi per aggiungerla alla lista dell'ambito. Ad esempio, se vuoi eseguire solo sulle pagine Redbull, aggiungi redbull e imposta come whitelist.Aggiungi - Aggiunge una parola inserita alla lista dell'ambito.Rimuovi selezionati - Rimuove la/e parola/e selezionata/e dalla lista dell'ambito.Cancella tutto - Rimuove tutte le parole dalla lista dell'ambito.Salva - Se una qualsiasi opzione viene modificata, fai clic su questo pulsante per salvarla per un uso futuro.Cancella URL/Parametri salvati - Se l'estensione cerca parametri di query riflessi, non vorrai ricevere continuamente avvisi per le stesse combinazioni URL/Parametro, quindi quelle già segnalate vengono memorizzate per evitarlo. Tuttavia, se vuoi rimuovere la memoria di queste, puoi fare clic su questo pulsante per rimuoverle. Allo stesso modo, non vogliamo continuare a inviare le stesse richieste all'archivio Wayback, quindi anche quelle vengono memorizzate, ma possono essere cancellate premendo questo pulsante.Cancella URL/Parametri salvatiMostra elementi nascosti - Se selezionato, qualsiasi elemento (esclusi img,span e div) nascosto verrà mostrato. Verrà mostrato con un bordo rosso e un'etichetta in rosso che fornisce alcuni dettagli. A volte, se la pagina è dinamica, gli elementi potrebbero non essere mostrati.Abilita elementi disabilitati - Se selezionato, qualsiasi elemento (esclusi img,span e div) disabilitato verrà abilitato. Verrà mostrato con un bordo rosso e un'etichetta in rosso che fornisce alcuni dettagli. A volte, se la pagina è dinamica, gli elementi potrebbero non essere mostrati. Puoi sempre fare clic sul pulsante Esegui ora per modificare la pagina attualmente caricata.Crea word list{Aggiungi|Rimuovi} {HOST} {a|da} {whitelist|blacklist} - A seconda che il nome host della scheda corrente sia già nella lista dell'ambito e che l'opzione whitelist o blacklist sia selezionata, otterrai una voce di menu per aggiungerlo/rimuoverlo. Ad esempio, se sei su https://www.redbull.com/gb-en/ e hai Blacklist selezionato nella pagina Opzioni e redbull.com non è nella lista dell'ambito, vedrai la voce del menu contestuale Aggiungi redbull.com alla blacklist. IMPORTANTE: Se la voce di menu non mostra l'host corretto, potrebbe essere necessario aggiornare la scheda.