No, no hay API web que un atacante pueda emplear para modificar la cadena de la versión HTTP en un ataque XSS reflejado.
A menudo me encuentro con fallas similares durante las pruebas de penetración que son técnicamente XSS, pero no se pueden explotar directamente sin alterar manualmente la solicitud HTTP. Estos errores a menudo son rechazados por los programas de recompensas de errores. Otro ejemplo común para este tipo de defecto es el encabezado Host
:
Host: vulnerable.example
A menudo vería que vulnerable.example
se refleja en el cuerpo de la respuesta sin ningún tipo de filtrado, pero simplemente no puede elegir el valor del encabezado del host en un ataque XSS en la vida real, por lo que la vulnerabilidad resulta bastante inútil. . Otro ejemplo más es XSS a través del agente de usuario . De manera similar, a menos que sea un defecto XSS persistente , lo más probable es que no se pueda explotar simplemente imprimiendo una cadena de usuario-agente modificada.
Más allá del XSS reflejado, obviamente hay otras vulnerabilidades a las que hay que estar atentos. La respuesta puede estar almacenada en caché en algún lugar, lo que le permite convertirla en un defecto XSS persistente. O el valor puede almacenarse sin filtrar en algún sistema de registro backend.