- HTTP/2 en Burp permite vistas fieles en el Inspector y edición estilo H1 con normalización para explotar vectores exclusivos.
- Menetetty alentaa H2→H1-versiota ja ottaa uudelleen käyttöön H2.CL/H2.TE, pyytää tunnelointia ja välimuistin myrkytystä con alto Impacto.
- El control fino (protokolo por petición, ALPN override, conexión H2) ja ajustes de proyecto marcan hallazgos.
- Prácticas como CRLF en nombres de cabecera y HEAD para confirmar túneles descubren cabeceras internas críticas.

HTTP/2 ha abierto una superficie de pruebas que antes era casi incable con herramientas centradas en HTTP/1. Burp Suite, desde su Inspector y su editor de mensajes, sallia manipular y analizar solicitudes H2 con un control que no vas a encontrar en otros products. Si ya haces testaa verkkoa, dominar cómo Burp trabaja con HTTP/2 es clave para descubrir fallos modernos como desincronizaciones, pyytää salakuljetusta en downgrades o inyecciones imposibles en HTTP/1.
Lisäksi, los adjustments viimeisten Burp-päivien aikana (protocolo por defecto, opciones de Repeater, listeners del Proxy y tratamiento de respuestas especiales) marcan la diferencia entre ver un falso negativo y explotar una brecha crítica. Aquí tienes una guía práctica, de nivel profesional, que integra lo esencial del protocolo, las funciones únicas de Burp y las técnicas de ataque más aktuales, todo explicado en un español natural y directo.
Tämä on HTTP/2 cambia las reglas del juego ja Burp Suite
Paljon palvelee hablan HTTP/2:ta, y con ello aparecen fallos imposibles de detectar site limitas a HTTP/1. Burp Suite te deja elegir entre dos modos de trabajo con peticiones H2: una representación estilo HTTP/1 en el editor (Burp normaliza y envía el equale en HTTP/2) o la Vista Fiel de HTTP/2 en el Inspector, que muestra cabeceras y pseudo-cabeceras reales y te permite construir ataques exclusivos de HTTP/2.
Tällä yhdistelmällä puedes explorar vectores que apenas han sido auditados por falta de herramientas adecuadas hasta hace poco. La capacidad de Burp para ver y editar pseudo-cabeceras, inyectar nuevos caracteres en cabeceras y manipular el formato binario de H2 se traduce en hallazgos muy jugosos, como variantes modernas de request salakuljetus.
oletusarvoisesti Burp negocia HTTP/2 cuando el servidor lo anuncia kautta ALPN durante el handshake TLS. Aunque no busques fallos de protocolo, te aprovechas del rendimiento de H2; y cuando sí los buscas, puedes forzar la versión en cada solicitud desde el Inspector.
Cuando estás cazando vulnerabilidades a nivel de protocolo, es imprescindible saber qué versio usas en cada golpe. Burp lo deja claro en varios puntos: línea de petición y de estado en el editor, protokollaetiketti Toistin (zona superior derecha) y Request Attributes en el Inspector. Contextos no editables, es informativo; fi Proxy/Repetidor, puedes alternar la versio y reenviar.
También puedes cambiar protocolo a mano por petición. Burp transforma automaticamente el mensaje para que sea válido en el nuevo formato. Si quieres probar HTTP/2 aunque el servidor no lo anuncie por ALPN, Aktivoi Salli HTTP/2 ALPN ohitus ja toistinvalikko y podrás tantear soporte H2 oculto.

Conceptos clave de HTTP/2 que necesitas dominar
HTTP/2 on binääritiedosto. En HTTP/1 todo es texto y los servidores separan campos con operaciones de cadena (dos puntos, saltos de línea jne.). En H2 los datos están a offsets definidos, así que los delimitadores Pierden significadoSe avautuu metrin oviaukkoon nuevas secuencias en nombres y valores de cabeceras que en H1 te romperían el mensaje, y algunos servidores las toleran pese a lo que dicta la especificación.
Punaisena, los mensajes H2 viajan en frames: uno de cabeceras (equivalente a línea de petición + cabeceras de H1) y, si toca, varios de datos con el cuerpo. Burp por simplicidad no te muestra los frames por separado; te ofrece una vista unificada para trabajar cómodo sin perder la fidelidad del contenido.
La longitud del mensaje en H2 es explícita: cada frame lleva su propio campo de longitud y el servidor suma. Esto evita ambigüedades típicas de Content-Length o Transfer-Encoding en H1. Aun así, ese choque entre mundos se vuelve arma cuando hay front-ends que degradan H2 a H1 para hablar con el back-end.
HTTP/2-esittely pseudo-cabeceras que sustituyen a la request line y la status line: :method, :path, :authority, :scheme y :status (esta última solo en respuestas). Según la RFC, deben ir antes que las cabeceras normales, y Burp las envía en orden fijo a menos que lo cambies en el Inspector.
Ole tarkkana yhteensopivuuden kanssa: los nombres de cabecera en H2 deberían ir en minúsculas. Es técnicamente posible usar mayúsculas, pero algunos servidores selvittää petition por incumplir la especificación. Por eso, la normalización de Burp evita que conviertas sin querer un mensaje válido en H1 en uno inválido en H2.

Dos formas de trabajar con peticiones en Burp: editor vs Inspector
En el editor de mensajes puedes usar una HTTP/1-tyylinen esitys para peticiones HTTP/2. Burp normaliza tus cambios y envía un equale H2 al servidor. Ihanteellinen cuando Igualin protokolla y quieres ir rápido probando la app.
En el Inspector, en cambio, tienes una HTTP/2-alkuperäinen näkymä con las pseudo-cabeceras y cada cabecera en campos de Nombre/Valor. Como no Depende de la sintaxis H1, puedes construir hyötykuormat H2 exclusivos: inyectar dos puntos en nombres de cabecera, espacios o saltos de línea en método y pathtai CRLF hampaiden sisäosa. Muchas de estas ediciones son tan simples como kaksoisnapsautus ja tiivistys, y para insertar CRLF puedes abrir el detalle de la cabecera y usar Vaihto + Return esitellä \r\n.
Al hacer ediciones que no se pueden representar en H1 sin perder información, Burp marca la solicitud como kattila. En ese caso, el editor deja de intentar mostrarte un equale H1 y verás una notificación explicando por qué está kettled; el cuerpo sigue näkyy, mutta cualquier cambio en cabeceras lo harás desde el Inspector.
Rastrear y cambiar el protocolo en cada petición
Burp usa HTTP/2 por defecto tai el servidor lo anuncia por ALPN. Si necesitas centralarte en fallos que requieren H1 (por ejemplo, CL.TE tai TE.CL clásicos), puedes cambiar el protocolo por defecto del proyecto en Asetukset > Verkko > HTTP, desmarcando la option de preferir H2. Siempre podrás sobrescribirlo por petición Con el Conmutador de Protocolo del Inspector.
Para identificar la versio en uso, Burp lo expone en varios sitios: línea de petición/estado del editor, el indicador fi Repeater junto al host de destino, y en el Tarkastaja > Pyynnön määritteet. Muokattavat kontekstit, ese selector te sallittu päivitys tai alennus ilmassa huolehdittu.
Si quieres probar soporte H2 no anunciado (HTTP/2 oculto), Activa en Repeater Salli HTTP/2 ALPN -ohitusTämän kanssa, hyvä Forzar HTTP/2 sisältää palvelun, joka ei ole julkista ALPN:n kautta y descubrir superficies de ataque escondidas.
En escenarios raros en los que el cliente que navega a través del Proxy tenga problems con su implementación H2, puedes poista HTTP/2 ja välityspalvelimen kuuntelija: Asetukset > Työkalut > Välityspalvelin > Välityspalvelimen kuuntelijat > Muokkaa > pestaña HTTP/2 y desmarcar Tuki HTTP/2. Esto afecta solo la conexión cliente-Burp; no cambia la conexión Burp-servidor.
Peticiones vedenkeitin: qué son, cómo se producen y cómo revertirlas
Yksi pyyntösi vie mennessään kattila cuando esittelee modificaciones que no se pueden representar con sintaxis HTTP/1 syn perder information. Esimerkki: añadir una letra mayúscula o dos puntos al nombre yhdestä cabecerasta, CRLF urheuden nimessä, tiloja :path o :method-hakemistossa, muokkaa :scheme, kaksoiskappale pseudo-cabeceras o insertar ; y espacio en un valor de cookie.
Si te on pasado de frenada, puedes Poistaa näppäinyhdistelmällä Ctrl/Cmd + Z, revertir manualmente desde el Inspector los cambios que causaron el estado kettled (la notificación del editor te lo chiva) o alenna HTTP/1-versiota aceptando que se perderán cambios yhteensopimattomat: Burp normalizará la solicitud y descartará lo eiligible en H1.
Laajennukset voivat crear y emitir nuevas peticiones kettled, por lo que ya puedes desarrollar tus propios Complementos para pruebas en H2. Syntikielto, de momento ei pueden modificar solicitudes kettled que haya creado Burp, porque solo acceden a la representación normalizada estilo H1.
Como mejora en el roadmap de Burp, se trabaja en ampliar el soporte de kettled en más herramientas, con especial foco en que Intruder pueda manejarlas de forma nativa.
Opciones y ajustes HTTP/2 en Burp
Repeater incorpora opciones específicas para H2. Puedes mantener el protocolo en redirecciones entre dominios (enforce protocol choice) para que los saltos cross-domain sign con la version seleccionada, crucial cuando las vulnerabilidades H2 disparan peticiones ja toinen isäntä. Voit myös habilitar o deshabilitar la reutilización de conexiones H2: algunos servidores tratan diferente la primera petición o dejan conexiones en estado corrupto, provocando intermitencias; si lo desactivas, tu solicitud será siempre la primera del socket.
Toinen toistimen vaihtoehto: por defecto Burp elimina la cabecera Connection en solicitudes H2, porque muchos servidores H2 las rechazan. Si te apetece kokeilulainen, voi muuttaa tätä johtamista y enviar Connection igualmente. Y, como ya hemos visto, Salli HTTP/2 ALPN -ohitus te sallia forzar H2 aun sin anuncio ALPN.
Muut allá de H2, Burp sallia konfigurointi tipos de redirección permitidos (3xx con Location, Refresh header, meta refresh, JavaScript, calquier status ja Location), y tratar vastaukset suoratoistona para no romper aplicaciones de salida continua (como interfaces con LLMs tai SSE). El Proxy puede pasar el stream en tiempo real, Toistin aktualiza la respuesta al vuelo y el resto de herramientas lo ignoran. Puedes decidir si almacenar-virrat täydellisiä, poista chunked-metatiedot o tratar-teksti/tapahtumastream kuten suoratoisto automaattisesti.
Vastauksena Tila 100, Röyhtäyttää puede osallistuja 100 - Jatka (saltando la respuesta intermedia y analizando la real) y retirar cabeceras 100 antes de pasarlas al resto de herramientas. En HTTP/1, Burp puede usar keep-alive si el servidor lo soporta y cierra conexiones TCP inaktivoi a los 5 sekuntiaKaikki on poika projektin mukautukset, aplican soolo al proyecto todellinen.
HTTP/2 oculto: detección y mitigación
Es habitual encontrar servidores que soportan H2 pero no lo anuncian por ALPN. Esto oculta superficie de ataque y puede derivar en pyytää salakuljetusta alentamaan luokitustaResepti on merkityksellinen: ignora ALPN y prueba a mandar H2. Con Burp (ALPN override en Repeater) tai con utilidades como curl usando ennakkotieto, puedes detectar este patrón rápidamente.
En cuanto a defensa, si quieres usar H2, asegúra de anunciarlo bientY si no lo -pakollista, kaiken aktivointi para no exponer superficie innecesaria. Entornos con downgrades H2->H1, la recomendación es evitarlos y hablar H2 extremo a extremo.
Ataques y vektores exclusivos de HTTP/2
La gran familia de fallos en H2 llega con el alenna H2:ta H1:ksi ja etupäätä. El front entiende la longitud por frames de H2, pero el back-end degradado vuelve a Sisällön pituus/siirtokoodaus. Ese desacuerdo ottaa uudelleen käyttöön desincronizaciones con nuevas variantes: H2.CL (etuosa ei ole validoitu CL) y H2.TE (acepta cabeceras de conexión prohibidas como TE).
Un célebre de H2.CL afectó a un gran sitio de streaming. Al mandar una petición HTTP/2 con Sisällön pituusvirhe y un payload diseñado, el back-end cortaba ennen tiempoa ja hoitaa ravintolaa kuten uusi vetoomus, sallien prefijar la solicitud de second useario. Con un prefijo que provocaba redirecciones controladas, el Impacto escalaba a robo de cuentas y datos sensibles.
Näkymässä H2.TE, algunos balanceadores aceptaron indebidamente Siirtokoodaus: paloiteltu en el downgrade y lo priorizaron frente a un Content-Length inyectado por el front-end. Tulos: colapsas el cuerpo antes y cuelas una segunda petición, con Impactos desde fugas de códigos OAuth hasta ejecución de JS vía redirecciones en recursos estáticos.
Toinen suojelija on voimakas inyección de cabeceras durante el downgrade käyttäen CRLF dentro del valor de una cabecera H2. En ciertos CDN, esto permitía introducir Siirtokoodaus: paloiteltu al volcarlo a H1 y desenkadenaarinen H2.TE con cache poisoning persisistente, logrando control de pagenas servidas desde la caché.
Vaihtoehto H2.X por -pyynnön jakaminen ilmestyä sitten, kun se hajoaa, el front-end inserta el \r\n\r\n de cierre de cabeceras ja muunna nimesi täydellinen pyyntö. Se observó un efecto dominó: cada usuario recibía la respuesta destinada al anterior, con Exposición de PII y cookies de sesión. Algunos intentos de parcheo incompletos dejaron vías como inyección en pseudo-cabeceras o bloquear CRLF mutta ei LF suelto, que sigue siendo explotable.
Túneles de petición (pyydä tunnelointia): Vahvista y explotar
Hay-etupäät jono ei uudelleenkäyttöyhteyksiä al back-end tai sovelluspoliittinen 1:1 asiakkaille. En estos escenarios, no puedes influir en la siguiente petición y las técnicas clásicas de confirmación fallan. Lo que sí queda es el petition-tunneli: colar una segunda solicitud en el mismo viaje y saada vastauksia del-taustajärjestelmä.
La Confirmation con H1 es ambigua porque concatenar respuestas es normal en keep-aliveH2:n kanssa, si vesi cabeceras HTTP/1 incrustadas en el cuerpo de la respuesta H2, tienes la prueba del algodón. Un problem adicional: algunos käyttöliittymät leen solo tantos bytes como indique el Content-Length de la primera respuesta, ocultando la segunda.
La solución práctica que mejor funciona es muuta HEAD en la solicitud näkyvä, de forma que la primera respuesta traiga soolo-cabecerasTässä on etuosa. sobre-lea y te entregue el inicio de la segunda respuestaJos lisäksi tuneas una segunda solicitud inválida, su respuesta de error suele llegar antes y facilita la detección. Ten paciencia: por ajallinen herkkyys, puede requerir varios intentos.
Para explotar de verdad, céntrate en cabeceras internas que el front-end inyecta (identidad del usuario, claves internas, reititys). Pyynnöstä tunnelointi puedes bypassar la reescritura/protección y collarlas sin filtros. Si no conoces sus nombres, usa herramientas como Param Miner, que pueden adivinar cabeceras internas por diferencias en la respuesta cuando viajan por el túnel.
Sisältää sin conocerlas, puedes provocar desacuerdo sobre dónde empieza el cuerpo: si el front cree que parte de tu payload es cabecera, insertará sus internas en medio; el back puede tratarlas como parte de tu parámetro y heijastaa arvoja. Esta técnica es útil incluso cuando el túnel es ciego y toipuu yksin vastauksena.
En condiciones favorables, el túnel permite un välimuistin myrkytys Avanzado: usando HEAD, mezclas cabeceras de una respuesta con Sijainti heijastava de otra y consigues que navegadores tulkitse sisältö como HTML/JS, tomando control persistente de rutas cacheadas.
Primitivas extra: duplicados, :scheme y división de nombres
HTTP/2 sallia escenarios impensables fi H1: he visto servidores que hyväksyttävät monikot :polku y usan uno u otro de forma inconsistente, abriendo vías de reitti. También existe la coexistencia de :viranomainen y Isäntä; al poder faltar uno u otro, syntynyt Host-otsikon iskuja cambiando cómo una capa u otra resuelve el destino.
La pseudo-cabecera :järjestelmä merece atención. Algunos sistemas la usan para construir URLs de forma ingenua; si puedes escribir bytes arbitrarios, URL-osoitteen syöttämät prefijos, cambias paths y en ocasiones piilotettujen esineiden o provocas SSRF si se usea para ajaa petitión alavirtaan.
Toinen tekniikka on división del nombre de cabecera permitiendo dos puntos en el nombre. Ei siempre genera desync porque el downgrade añade otro : lopullinen, mutta se on suosikki Hostin hyökkäykset cuando los servidores ignoran lo que sigue al puerto. Si el back tolera rarezas, puedes forzar líneas de petición válidas suihkuttaa espressoja :menetelmä (observado en combinaciones con mod_proxy) para saltarte bloqueos de rutas.
Por último, hay back-ends que aún soportan linjan taitto fi H1. Si el front-end acepta nombres de cabecera que empiezan con espacio y no ordena cabeceras, puedes kontaminar cabeceras posteriores (mukaan lukien internas). Se han visto eemplos donde el Pyyntötunnus reflejado terminaba mostrando datos insertados mediante una cabecera con espacio inicial.
Herramientas, flujo de trabajo y trucos de productividad
Automatisoimiseksi, olemassa pino HTTP/2 yksinkertainen ja Turbo Intruder que transforma solicitudes H1 a H2 y aplica mapeos de caracteres útiles para exploits: ^ → \r, ~ → \n, ` → :. voit jopa pseudo-cabecerasin kirjoittaminen declarándolas como cabeceras H1 ficticias y controlar así el downgrade ja palvelee haavoittuvia. Para pruebas con callbacks y detección avanzada de interacciones puedes usar Burp -yhteistyökumppani automaattisissa huuhteluissa.
Si el stack H2 minimalista no se lleva bien con algún objetivo, puedes invocar el stack nativo de Burp desde Turbo Intruder (Engine.BURP2), que es más tolerante concomportamientos raros. Burp Scanner ja laajennukset como HTTP-pyyntöjen salakuljettaja ya integran detecciones de estas variantes (mukaan lukien la de tunneli pään kanssa), y Param Miner ayuda a kuvaus cabeceras internas vastauserojen vuoksi.
En cuanto a estabilidad, vigila la reutilización de conexiones: algunos targets tratan la primera petición de forma distinta o se quedan con sockets corruptos. En Burp Repeater puedes deaktivar la reutilización H2, y en Turbo Intruder -ohjain pyyntöjä yhteyttä kohden para evitar que efectos residuales distorsionen tus pruebas.
En la interfaz fact de Burp (nuevos Inspectores), el Control de la version HTTP está en Request attribuutteja arriba a la derecha. Cambiar el metodo dentro del cuerpo ya ei ole vaikutusta como ocurría en versiones antiguas; ahora se maneja todo desde la vista del Inspector y la lógica de protocolo.
Ejercicio práctico con Burp: CRLF en nombres de cabecera y túnel a /admin
aloita a:lla SAADA / Toistin, H2-osa Pyynnön ominaisuudet y añade una cabecera arbitraria. En el nimi, ruiskuta un CRLF väriä varten Isäntä lisäksi, esimerkiksi: foo: bar\r\nHost: abc ja miten urheus pon algo inocuo. Si la respuesta reaktio injektoituun isäntään, on vahvistanut sen inyección de CRLF vía nombres de cabecera.
Localiza un endpoint que refleje parámetros (como un haku). Cambia el método con clic derecho (Vaihda pyyntötapaa) y vahvista que la búsqueda funciona con POST enviando search en el cuerpo. Ahora, en la cabecera arbitraria, inyecta un Content-Length grande ja toisen parametrin haku tras un doble CRLF, esimerkiksi: foo: bar\r\nContent-Length: 500\r\n\r\nsearch=x.
Rellena el cuerpo principal con datos de relleno hasta superar el Content-Length smuggleado. Al enviar, la aplicación reflejará cabeceras añadidas por el front-end (sesión evästeet, liput SSL y, lo tärkeä, etupään pieni avain) vastauksen keskellä.
Muuta menetelmä näkyväksi PÄÄ y en la cabecera maliciosa salakuljettaa petición GET al panel de administración con las cabeceras internas que has aprendido: \r\n\r\nGET /admin HTTP/1.1\r\nX-SSL-VERIFIED: 1\r\nX-SSL-CLIENT-CN: administrator\r\nX-FRONTEND-KEY: TU-CLAVE\r\n\r\nSi saa virheen riittämättömät tavut, kohtaa kurssi lyhyempi cuerpo (esimerkiksi /login) jota varten etupään sobre-lea y te muestre el inicio de la segunda respuesta H2-kuoressa.
En esa respuesta anidada podrás localizar la URL administrativa sensible (esim. /admin/delete?username=carlos) Ja aktualizar la ruta de la petición smuggleada. Aunque la respuesta näkyvä puede ser de error, ulos työntyvä teko porque ha viajado por el túnel hasta el back-end con las credenciales internas correctas.
Este eemplo agrupa varias ideas: CRLF en nombre de cabecera en H2, Content-Length-väärinkäyttö fi downgrade, vahvistus con PÄÄ ja käyttö cabeceras internas inyectadas por el front para alcanzar un panel restringido.
La combinación de conocimientos de protocolo, Inspector de Burp H2-mallille, y técnicas de desync te permite cubrir vectores que van desde el salakuljetus clásico reimaginado kunnes myrkytys de caché persistente, kautta PII-pilvet y ejecución de JavaScript en sitios de alto perfil. Con ajustes bien medidos (protocolo por defecto, reutilización de conexiones, overrides de ALPN) y práctica con Repeater e Inspector, tendrás control real sobre cómo viajan tus peticiones ja noin cómo se rompen las asunciones entre capas cuando se enfrentan HTTP/2 y HTTP/1.