El consejo general (para inyectar un controlador de eventos en la etiqueta de imagen) de @MarkBuffalo en el comentario es correcto, pero onload
no es una gran opción de controlador de eventos para imágenes. La mejor opción suele ser onerror
, que es muy fácil de activar de manera confiable; simplemente configura la fuente para que sea algo que sabes que no existirá (o al menos no será una imagen), como src="qq" onerror="alert('XSS!')"
.
La excepción específica que me gusta son las etiquetas SVG, donde <svg onload="…" />
es una buena cadena corta (tan corta como <script>…</script>
, y utilizable en lugares que intentan trucos estúpidos como filtrar <script>
).