Dato uno snippet JavaScript vulnerabile da una risposta Stack Overflow, come posso trovare a buon mercato i siti web i cui autori lo hanno copiato e incollato?

9

Spesso, le risposte di Overflow dello stack alle domande JavaScript contengono vulnerabilità XSS (o vulnerabilità di altro tipo). Ad esempio, questa risposta con 420 upvotes e un quarto di milione di visualizzazioni a una domanda sulla decodifica di entità HTML potrebbe causare una vulnerabilità XSS se utilizzata su input non attendibili.

Data la popolarità della risposta, possiamo tranquillamente presumere che ci siano dozzine - forse centinaia o migliaia - di siti Web che utilizzano questo frammento di codice vulnerabile. Trovarli è interessante sia per i blackhats (uno di quei siti potrebbe essere qualcosa che vale la pena hackerare) sia per i whitehats che vorrebbero informare i proprietari di quelle applicazioni sulla vulnerabilità.

Tuttavia, localizzare tali siti Web non è un problema banale. Google non indicizza JavaScript, quindi non possiamo semplicemente Google per lo snippet e trovare siti vulnerabili. Ricerca in GitHub trova alcune istanze dello snippet che vengono copiate e incollate, ma la fonte della maggior parte dei siti Web non è ospitata pubblicamente su GitHub. Scoprire me stessa tutta la rete e cercare tutto il codice JavaScript sul web è, ovviamente, una possibilità teorica, ma non quella che io (o la maggior parte delle persone) abbiamo le risorse da fare.

Quindi quale meccanismo pratico una persona normale deve cercare luoghi in cui uno snippet di codice è stato copiato e incollato?

    
posta Mark Amery 28.12.2016 - 17:43
fonte

2 risposte

1

Non esiste un modo facile e potente per la scansione di massa di un determinato codice.

Molte delle possibilità che posso pensare sono state scritte, ma cercherò di riprenderle in una risposta completa. Inoltre, la mia risposta vale per tutti i frammenti e non solo per quelli da Stack Overflow.

  • Cerca contesto: è probabilmente il modo più efficace per cercare il codice sorgente. Stai cercando una vulnerabilità su un CMS (Wordpress, Joomla, e107)? Molti di loro hanno un contesto specifico, come Orgogliosamente potenziato da ... che puoi usare su Google. Ciò non sembra applicabile alle domande che ci hai collegato, ma a volte puoi anche indovinare un contesto in cui il codice verrebbe eseguito, il che può aiutarti a trovarli sui motori di ricerca tradizionali.

  • Utilizza i motori di ricerca del codice sorgente: nonostante non siano all'altezza dei motori di ricerca tradizionali, puoi comunque ottenere alcuni risultati per il sito web più popolare. Ce ne sono molti: nerdydata , globalogiq , publicwww , codice di ricerca ...

  • Utilizza piattaforme di code sharing: come indicato nella tua domanda, puoi utilizzare le piattaforme di condivisione del codice sorgente per trovare il codice vulnerabile e risalire ai siti web. Github ha un efficace, ma potresti anche provare pastebin .

  • Scansione dei siti web: questa è probabilmente la peggiore e lenta opzione, ma sicuramente funziona.

Se sei più interessato alla tua sicurezza, puoi anche:

  • Utilizza un plug-in: il plug-in controlla il codice sorgente delle pagine che visiti e controlla se riesce a trovare una corrispondenza con uno dei codici cercati.

Naturalmente, ci sono altri modi potenti, come l'utilizzo di botnet, i software che distribuisci ... ma richiedono tempo o problemi illegali, quindi non rientrano nell'ambito delle domande.

    
risposta data 30.12.2016 - 14:23
fonte
-2
  1. Invece di raschiare tutti i siti su Internet, perché non clonare semplicemente una copia di un singolo sito che consideriamo interessante e quindi raschiare il codice sorgente JS per questi frammenti? Esempio: clona example.com e controlla la fonte.

  2. Utilizza un servizio come link per fare il lavoro per noi.

  3. Scrivi uno spider per analizzare i domini di destinazione. Come hai detto, probabilmente rimarrà una teoria - la maggior parte delle persone non ha le risorse per farlo - usa 1.

risposta data 28.12.2016 - 18:36
fonte

Leggi altre domande sui tag