È possibile modificare un file .js di supporto in un'applicazione Web per iniezione?

0

Supponiamo che ci sia un'applicazione web che necessita di un file di supporto JavaScript .js da caricare nella testa del documento html.

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <script type="text/javascript" src="file.js"></script>
    <title>example</title>
  </head>
  <body>
          [...]
  </body>
</html>

Sarebbe possibile modificarlo con un attacco di iniezione, a condizione ovviamente che l'applicazione web sia vulnerabile alle iniezioni? Non riesco a capire come sarebbe possibile modificare uno script prima necessario.

    
posta hate 20.02.2014 - 16:19
fonte

2 risposte

1

Per assicurarci di utilizzare la terminologia corretta, è necessario notare che quando si parla di vulnerabilità delle applicazioni Web, gli attacchi per iniezione di solito si riferiscono a A1-Injection come definito nella classificazione Top Ten OWASP.

Detto questo, la risposta alla tua domanda è sì. Se l'applicazione web è soggetta a attacchi di iniezione, uno scenario di attacco potrebbe essere il seguente:

The attacker sends a malicious input to the web server that in turn passes it to an interpreter (e.g. php) which includes it in a request and executes it. The malicious input is then executed on the web server, and if the JS file permissions allows it, the code executed (the payload) could modify the JS file with an arbitrary content. This modified JS file would then be served to every client requesting this web page.

Per semplificare, un attacco di iniezione può potenzialmente dare a un utente malintenzionato la possibilità di eseguire comandi arbitrari sul server della vittima, con conseguente file e / o modifica dei dati.

    
risposta data 20.02.2014 - 20:30
fonte
0

Se stai parlando di modificare il file javascript esterno chiamato "file.js" allora sì, è possibile apportare alcune modifiche ad esso utilizzando un debugger nel tuo browser di scelta. Vorrei iniziare cambiando le variabili nella console di bit interessanti di Javascript e aggiungendo un punto di interruzione ed eseguendo il debugger per vedere qual è il risultato. Io uso i breakpoint e il debugger per modificare le variabili in javascript al fine di produrre un risultato inaspettato. Diciamo che l'applicazione sta usando una variabile chiamata "is_admin = false" con Javascript. Per prima cosa cambierò la variabile in "is_admin = true" e proseguirò dopo il mio breakpoint nella speranza che stiano usando Javascript in tutti i modi sbagliati per separare i diritti di amministrazione.

    
risposta data 21.02.2014 - 00:49
fonte

Leggi altre domande sui tag