Inyectar scriptalert (“1”) / script en OWASP Juice Shop no funciona

0

Acabo de aprender la teoría detrás de los ataques XSS y ahora me gustaría probar mi conocimiento de manera legal.

Quería "hackear" OWASP Juice shop siguiendo los pasos de este book sección "Realizar un ataque XSS reflejado". Cuando uso iframe src="javascript:alert(1)"> como carga útil XSS, funciona como se esperaba (recibo la alerta 1 ). Pero cuando lo cambio a <script>alert(1)</script> no ocurre nada, no se muestra ninguna alerta.

Verifiqué mediante las herramientas de Chrome Developer que la carga útil se inyectó al DOM, pero por alguna razón no se ejecutó el script. ¿Tienes alguna idea de por qué? ¿Alguna idea de cómo puedo inyectar una carga útil más sofisticada en la tienda de jugos OWASP?

    
pregunta Paweł Adamski 15.12.2018 - 22:07
fuente

3 respuestas

5

Seguí adelante e intenté determinar en qué punto final en la aplicación OWASP Juice Shop en la que está inyectando su carga útil. Corríjame si me equivoco, pero parece que la carga útil se inyecta a través del campo de búsqueda.

Esto parece ser XSS basado en DOM y no reflejado XSS. Esto es importante tener en cuenta ya que innerHTML :

<div *ngIf="searchValue"><span>{{"TITLE_SEARCH_RESULTS" | translate}} - 
</span> <span [innerHTML]="searchValue"></span></div>

<script>alert(1)</script> no se ejecuta cuando se inyecta a través de innerHTML como se indica aquí :

  Los elementos

script insertados usando innerHTML no se ejecutan cuando se insertan.

En cambio, recomendaría el uso de cargas útiles como <iframe src=javascript:alert(1)> y <img src=x onerror=alert(1)> .

    
respondido por el EdOverflow 16.12.2018 - 13:14
fuente
0

Parece que el filtro XSS del navegador está detectando el script. Este es un mecanismo de defensa común, pero todavía hay formas de evitarlo (como cargar un script desde un iframe).

Te recomendaría que investigues un poco sobre los filtros XSS y los evites para comprender mejor lo que está pasando aquí. El hoja de trucos de evasión del filtro XSS de OWASP es un muy buen lugar para comenzar.

    
respondido por el securityOrange 16.12.2018 - 05:42
fuente
0

Hymmm, no sé exactamente cómo quieres realizar este ataque, pero creo que puedes intentar inyectar este script de manera diferente. En lugar de poner el script js en bruto, puede usar jsfuck.com, que traducirá su script java al mismo código, pero solo usará ciertos fletadores como [ etc ... Podría ser útil porque el navegador no lo trataría como código js porque Se verá como basura en la entrada pero en realidad se ejecutará. Espero que te ayude.

    
respondido por el Pankejk 16.12.2018 - 13:35
fuente

Lea otras preguntas en las etiquetas