¿Se pueden usar las vulnerabilidades de XSS presentes en las bibliotecas js de terceros para atacar la aplicación que usa la biblioteca?

1

Estoy usando varias bibliotecas de terceros como cordova.js, jquery, jquery mobile, mobilizer, etc., en una aplicación móvil android. Se encuentra que estas libs tienen varios vectores XSS a través del uso inseguro de eval, settimeout, interior / outerhtml y así sucesivamente. Sin embargo, los módulos que tienen estos problemas no se utilizan / llaman en la aplicación.

Teniendo en cuenta el escenario anterior, ¿hay alguna forma en que un atacante pueda explotar mi aplicación en base a los vectores XSS en las librerías de terceros, incluso si los módulos vulnerables no se usan en mi aplicación?

    
pregunta Ocelot 12.03.2013 - 07:39
fuente

2 respuestas

2

Posible, pero poco probable. ¿Por qué?

Permítame darle una información de fondo. He visto a gente obsesionarse con las supuestas "vulnerabilidades XSS" en jQuery y en muchas otras bibliotecas, aquí hay un ejemplo:

$('#inputElement').keyup(function () {
   $('#someDiv').html($(this).val())
});

Algunos dirían que este código es vulnerable a XSS, lo cual no es cierto. Sí, puede escribir JavaScript en el campo de entrada y hacer que se ejecute (por ejemplo, <script>alert(document.cookie)</script ) pero, ¿y qué? Ya puedes hacerlo con cualquier aplicación que te ofrezca la consola de JavaScript (Firebug), diablos, incluso puedes hacerlo con Greasemonkey.

Solo se puede considerar una vulnerabilidad XSS si se utilizan datos externos a su aplicación dentro de su aplicación al engañar al usuario para que ingrese a una URL maliciosa o al enviar un formulario especialmente diseñado. Aquí hay un ejemplo:

$(document).ready(function () {
   $('#someDiv').html(window.location.hash)
});

Ahora este es vulnerable a XSS, un atacante podría crear la siguiente URL

http://example.com/search/searchQuery+<script>alert(document.cookie)</script>

O incluso use algunos servicios de acortamiento de URL para hacer que el ataque sea un poco más confuso. El punto es que, en tales casos, debes preocuparte.

Si el lado del cliente de su aplicación web utiliza datos externos y es posible que el usuario legítimo no tenga control sobre ellos (como en el caso anterior), entonces debe preocuparse.

Otro ejemplo que utiliza las bibliotecas de recuperación de API del historial, como jQuery BBQ (analiza window.location.hash ) que podría ser vulnerable y de alguna manera permite que se ejecute el código en la URL.

Tenga en cuenta que esta respuesta está estrictamente en el alcance de su pregunta; Ataques XSS relacionados con las bibliotecas de JavaScript.

    
respondido por el Adi 12.03.2013 - 09:20
fuente
0

Sí, definitivamente. Aquí hay un ejemplo reciente de Yahoo, donde una antigua biblioteca JS causó un XSS enlace

    
respondido por el Erlend 13.03.2013 - 14:02
fuente

Lea otras preguntas en las etiquetas