Trabajar con HTTP/2 en Burp Suite: pruebas, ajustes y ataques de alto nivel

Zadnje ažuriranje: 11/11/2025
  • HTTP/2 en Burp dopušta pregled datoteka u Inspectoru i izdanju H1 s normalizacijom za ekskluzivno istraživanje vektora.
  • Los H2→H1 reintroducen H2.CL/H2.TE, reintroducen H2.CL/H2.TE, request tunneling y cache poisoning con alto impacto.
  • Fina kontrola (protokol za petición, ALPN nadjačavanje, veza H2) i prilagođena markirana halazgos projekta.
  • Practicas como CRLF en nombres de cabecera y HEAD para confirmar tuneles descubren cabeceras internas críticas.

HTTP/2 u Burp Suiteu

HTTP/2 ima superficie pruebas que antes era casi intocable con herramientas centralas en HTTP/1. Burp Suite, desde su Inspector y su editor de mensajes, permite manipular y analizar solicitudes H2 con un control que no vas a encontrar en tros productos. Ako nemate pentesting weba, dominira kao Burp rad s HTTP/2 es clave para descubrir fallos modernos como desincronizaciones, request smuggling en downgrade o inyecciones imposibles en HTTP/1.

Osim toga, podebljavanje podrigivanja (protocolo por defecto, opciones de Repeater, listeners del Proxy y tratamiento de respuestas especiales) markan 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 actuales, todo explicado en un español natural y directo.

Por qué HTTP/2 cambia las reglas del ego en Burp Suite

Mnogi poslužitelji koriste HTTP/2, y con ello aparecen fallos unmosibles de detektor site te 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 normalizira i envía el equivalente 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.

Ovom kombinacijom, 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 krijumčarenje.

Zadano, Burp pregovara HTTP/2 uz obavijest poslužitelja putem ALPN-a tijekom rukovanja TLS-om. 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é versión usas en cada golpe. Podrigivanje lo deja claro en varios puntos: línea de petición y de estado en el editor, protokolarna etiketa Repetitor (zona superior derecha) y Atributi zahtjeva en el Inspector. En contextos no editable, es informativo; en Proxy/Repetidor, puedes alternar la versión y reenviar.

También puedes cambiar protocolo a mano por petición. Burp transforma automatique el mensaje para que sea válido en el nuevo formato. Ako želite provjeriti HTTP/2 ili poslužitelj bez objave za ALPN, activa Dopusti HTTP/2 ALPN nadjačavanje u izborniku Repeater y podrás tantear soporte H2 oculto.

HTTP/2 inspektor

Koncepti klave HTTP/2 koji su potrebni dominarni

HTTP/2 je binarni. En HTTP/1 todo es texto y los servidores separan campos con operaciones de cadena (dos puntos, saltos de línea, itd.). En H2 los datos están a offsets definidos, así que los delimitadores pierden significadoOtvorena su vrata metra. 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.

U crvenom, 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. Podrigivanje 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 gdje su prednji krajevi degradirani H2 i H1 za hablar s pozadinskim dijelom.

Uvod u HTTP/2 pseudo-kabeceras 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.

Budite oprezni s kompatibilnošću: los nombres de cabecera en H2 deberían ir en minúsculas. Es técnicamente posible usar mayúsculas, pero algunos servidores tražiti peticiju 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.

Pseudo-cabeceras HTTP/2

Dos formas de trabajar con peticiones en Burp: Editor vs Inspector

En el editor de mensajes puedes usar una stilski prikaz HTTP/1 za peticije HTTP/2. Burp normalizira tus cambios i envía un equivalente H2 al server. Es ideal cuando tvoj pravi protokol y quieres ir rápido probando la app.

En el Inspector, en cambio, tienes una izvorni HTTP/2 pregled con las pseudo-cabeceras y cada cabecera en campos de Nombre/Valor. Kako ne ovisi o sintaksi H1, puedes construir korisni tereti H2 exclusivos: inyectar dos puntos en nombres de cabecera, espacios o saltos de línea en método y pathili CRLF u kabecerasima. Muchas de estas ediciones son tan simples como dvostruki klik i čisto, y para insertar CRLF puedes abrir el detalle de la cabecera y usar Shift+Return uvesti \r\n.

Al hacer ediciones que no se pueden representar en H1 sin perder información, Burp marca la solicitud como kotlića. En ese caso, el editor deja de intentar mostrarte un equivalente H1 y verás una notificación explicando za što je kuhano; el cuerpo sigue vidljiv, pero cualquier cambio en cabeceras lo harás desde el Inspector.

Rastrear y cambiar el protocolo en cada petición

Burp usa HTTP/2 zbog kvara ako je poslužitelj oglasio putem ALPN-a. Si necesitas centralarte en fallos que requieren H1 (por ejemplo, CL.TE o TE.CL clásicos), puedes cambiar el protocolo por defecto del proyecto en Postavke > Mreža > HTTP, desmarkando la opción de preferir H2. Siempre podrás sobrescribirlo por petición con el conmutador de protocolo del Inspector.

Para identificar la versión en uso, Burp lo expone en varios sitios: línea de petición/estado del editor, el indicador en Repeater junto al host de destino, y en el Inspektor > Zahtjev za atribute. U kontekstu koji se može uređivati, ovaj se birač dopušta nadograditi ili smanjiti zahtjev za putovanje.

Ako tražite pomoć pri H2 bez najave (HTTP/2 oči), aktivirajte na Repetitoru Dopusti nadjačavanje HTTP/2 ALPN-aS ovim, možete forzar HTTP/2 incluso cuando el server no lo lo publicque por ALPN y descubrir superficies de ataque escondidas.

En escenarios raros en los que el cliente que navega a través del Proxy tenga problemas con su implementación H2, puedes deaktiviraj HTTP/2 u slušatelju proxyja: Settings > Tools > Proxy > Proxy listeners > Edit > pestaña HTTP/2 y desmarcar Support HTTP/2. Esto afecta solo la conexión cliente-Burp; no cambia la conexión Burp-servidor.

Peticiones kettled: qué son, cómo se producen y cómo revertirlas

Podnosi se zahtjev kotlića cuando uvodi modificaciones que ne može predstavljati sintaksu HTTP/1 sin perder información. Primjer: añadir una letra mayúscula o dos puntos al nombre od jedne kabecere, CRLF pod imenom ili hrabrošću, prostori u :putu ili :metodi, modifikator: shema, duplikat pseudo-kabeceras o umetač ; y espacio en un valor de cookie.

Si te has pasado de frenada, puedes uklonite s Ctrl/Cmd + Z, revertir manualmente desde el Inspector los cambios que causaron el estado kettled (la notificación del editor te lo chiva) o pokušati smanjiti verziju HTTP/1 aceptando que se perderán cambios incompatibles: Burp normalizará la solicitud y descartará lo ilegible en H1.

Ekstenzije mogu crear y emitir nuevas peticiones kettled, por lo que ya puedes desarrollar tus propios complementos para pruebas en H2. Sin embargo, de momento ne može se mijenjati 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.

Opcije i podešavanja HTTP/2 i Burp

Repeater sadrži posebne opcije za H2. Puedes mantener el protocolo en redirecciones entre dominios (provedi izbor protokola) para que los saltos cross-domain sigan con la versión seleccionada, crucial cuando las vulnerabilidades H2 disparan peticiones a drugi domaćini. Možete i vi 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 tražiš será siempre la primera del socket.

Druga opcija repetitora: greška u Burpu elimina la cabecera Connection en solicitudes H2, porque muchos servidores H2 las rechazan. Si te apetece eksperimentalno, može promijeniti ovu žicu y enviar Connection igualmente. Y, como ya hemos visto, Dopusti nadjačavanje HTTP/2 ALPN-a te permite forzar H2 aun sin anuncio ALPN.

Más allá de H2, Burp permite configurar tipos de redirección permitidos (3xx con Location, Refresh header, meta refresh, JavaScript, cualquier status con Location), y tratar odgovori na streaming para no romper aplicaciones de salida continua (kao sučelja s LLMs ili SSE). El Proxy puede pasar el stream en tiempo real, Repetitor actualiza la respuesta al vuelo y el resto de herramientas lo ignoran. Puedes decidir si potpuni streamovi Almacenara, uklanjanje fragmentiranih metapodataka o streaming teksta/događaja kao streaming automatski.

U odgovorima s Stanje 100, Podrigivanje može entender 100-Nastavi (saltando la respuesta intermedia y analizando la real) y umirovljenik cabeceras 100 antes de pasarlas al resto de herramientas. Na HTTP/1, Burp puede usar keep-alive si el server lo porta y cierra conexiones TCP inactivas a los 5 sekundiSvi ste sinovi prilagodbe projekta, apliciran solo na stvarni projekt.

HTTP/2 očitavanje: otkrivanje i ublažavanje

Es habitual encontrar servidores que podržava H2 ali ne najavljuje ALPN. Esto oculta superficie de ataque y puede derivar en zahtjev za krijumčarenje ili snižavanje razineRecept je napisan: ignorirajte ALPN i prueba a mandar H2. Con Burp (ALPN override en Repeater) ili con utilidades como curl usando prethodno znanje, puedes detector este patrón rápidamente.

En cuanto a defensa, si quieres usar H2, dobro osigurajte oglasAko ti to nije potrebno, isključio sve para no exponer superficie innecesaria. En entornos con degradations H2->H1, la recomendación es evitarlos y hablar H2 extremo a extremo.

Napadi i vektori koji su ekskluzivni za HTTP/2

La gran familia de fallos en H2 llega con el sniziti H2 na H1 na prednjem dijelu. El front entiende la longitud por frames de H2, pero el back-end degradado vuelve a Duljina sadržaja/Kodiranje prijenosa. Ese desacuerdo reintroduce desincronizaciones con nuevas variantes: H2.CL (prednji dio nije valida CL) y H2.TE (acepta cabeceras de conexión prohibidas como TE).

Slavni slučaj H2.CL afectó a un gran sitio de streaming. Al mandar una petición HTTP/2 con Pogreška duljine sadržaja y un payload diseñado, el back-end tortaba prije vremena i liječio/la ostatak kao nova peticija, dopuštajući prefijar la solicitud de otro usuario. Con un prefijo que provocaba redirecciones controladas, el impacto escalaba a robo de cuentas y datos sensibles.

U spoznaji H2.TE, algunos balanceadores aceptaron indebidamente Kodiranje prijenosa: u komadima en el downgrade y lo priorizaron frente a un Content-Length inyectado por el front-end. Resultado: colapsas el cuerpo antes y cuelas una segunda petición, con impactos desde fugas de códigos OAuth hasta ejecución de JS via redirecciones en recursos estáticos.

Drugi potencijalni pokrovitelj je la inyección de cabeceras durante el downgrade pomoću CRLF dentro del valor de una cabecera H2. En ciertos CDN, esto permitía introducir Kodiranje prijenosa: u komadima al volcarlo u prvoj polovici godine desencadenar H2.TE con cache poisoning persistente, logrando control de páginas servidas desde la caché.

Varijanta H2.X por zahtjev za dijeljenje pojavljuje se kad se raspada, el front-end inserta el \r\n\r\n de cierre de cabeceras i pretvorite svoj prijedlog u jedan potpuna peticija. 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 ili blokirati CRLF ali ne LF suelto, que sigue siendo exploable.

Túneles de petición (zahtjev za tuneliranje): confirmar y explotar

Prednji dijelovi sijena nema ponovnog korištenja veza pozadina ili primijenjena politika 1:1 s klijentima. 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 tunel za peticiju: colar una segunda solicitud en el mismo viaje y primite odgovore pozadinskog sustava.

La confirmación con H1 es ambigua porque concatenar respuestas es normal en keep-alive. S H2, si ves cabeceras HTTP/1 incrustadas en el cuerpo de la respuesta H2, tienes la prueba del algodón. Dodatni problem: algunos front-ends 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 kambiar GLAVA en la solicitud visible, de forma que la primera respuesta traiga solo cabecerasTo je ono što je prednji dio sobre-lea y te entregue el inicio de la segunda respuestaAko uz to tuneas una segunda solicitud inválida, su respuesta de error suele llegar antes y facilita la detección. Deset paciencia: por temporalna osjetljivost, puede requerir varios intentos.

Para explotar de verdad, céntrate en cabeceras internas que el front-end inyecta (identidad del usuario, claves internas, routing). Con request tunneling puedes bypassar la reescritura/protección y colarlas 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 tunel.

Inclusive 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 odražavaju te vrijednosti. Esta técnica es útil incluso cuando el tunel es ciego y samo se oporavlja odgovor.

En condiciones favorables, el tunel permite un napredno trovanje predmemorije: usando GLAVA, mezclas cabeceras de una respuesta con Reflektirajuća lokacija de otra y consigues que navegadores prevesti sadržaj kao HTML/JS, trajna kontrola predmemorije.

Primitivas extra: duplicados, :scheme y división de nombres

HTTP/2 dopušta neizbježne scenarije u H1: on vidi poslužitelje koji su prihvati višekratnike :path y usan uno u otro de forma inconsistente, abriendo vías de desvío de ruta. También existe la coexistencia de :autoritet y Host; al poder faltar uno u otro, emergen napadi zaglavlja Host cambiando cómo una capa u otra resuelve el destino.

La pseudo-cabecera :shema merece atención. Algunos sustavi la usan para construir URLs de forma ingenua; si puedes escribir bytes arbitrarios, URL prefiksi za umetanje, cambias staze y en ocasiones skrivenih o provocas SSRF ako se koristi para podnijeti zahtjev aguas abajo.

Druga tehnika je división del nombre de cabecera permitiendo dos puntos en el nombre. No siempre genera desync porque el downgrade añade otro : konačno, ali voliš napadi Hosta cuando los servidores ignoran lo que sigue al puerto. Si el back tolera rarezas, puedes forzar líneas de petición válidas ubrizgava prostore u :metoda (observado en combinaciones con mod_proxy) za saltarte bloqueos de rutas.

Por último, hay back-ends que aún soportan savijanje linija hr H1. Si el front-end acepta nombres de cabecera que empiezan con espacio y no ordena cabeceras, puedes contaminar cabeceras posteriores (incluidas internas). Se han visto ejemplos donde el ID zahtjeva reflejado terminaba mostrando datos insertados mediante una cabecera con početni prostor.

Herramientas, flujo de trabajo y trucos de productividad

Za automatizaciju, postoji slaganje HTTP/2 pojednostavljeno u Turbo Intruderu que transforma solicitudes H1 a H2 y applica mapeos de caracteres útiles para exploits: ^ → \r, ~ → \n, ` → :. Možete čak sobrescribir pseudo-cabeceras declarándolas como cabeceras H1 ficticias y controlar así el downgrade en servidores vulnerables. Para pruebas con callbacks y detección avanzada de interacciones puedes Suradnik tvrtke Burp na automatiziranim protokima.

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 con comportamientos raros. Skener podrigivanja i proširenja kao Krijumčar HTTP zahtjeva ya integran detecciones de estas variantes (incluida la de tunel s HEAD-om), i Param Miner je pomogao otkriti unutarnje cabeceras zbog razlika u odgovorima.

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. Pustite Burp Repeater desactivar la reutilización H2y en Turbo Intruder podešavanje zahtjeviPovezi para evitar que efectos residuales distorsionen tus pruebas.

En la interfaz actual de Burp (nuevos Inspectores), el control de la versión HTTP está en Request attributes arriba a la derecha. Cambiar el método dentro del cuerpo ya nema učinka 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 tunel a /admin

početi s a DOBITI / en Repetitor, podređen H2 en Zahtjev za atribute y añade una cabecera arbitraria. En el ime, ubrizgava CRLF para colar un Nalog Domaćina, dodatno, na primjer: foo: bar\r\nHost: abc i kako hrabrost pon algo inocuo. Si la respuesta reakcija na vašeg ubrizganog Hosta, potvrdio je inyección de CRLF vía nombres de cabecera.

Localiza un endpoint que refleje parametros (como un traži). Cambia el método con clic derecho (Promjena metode zahtjeva) y confirma que la búsqueda funciona con POST enviando search en el cuerpo. Ahora, en la cabecera arbitraria, inyecta un Content-Length grande a pretraga drugog parametra tras un doble CRLF, por ejemplo: 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 (kolačići sesije, oznake SSL y, lo importante, jedinstvena ključna riječ prednjeg dijela) u odgovoru.

Promjena vidljive metode GLAVA i u zlonamjernoj kaveznoj kućici prokrijumčariti peticiju 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\nAko primite grešku nedovoljno bajtova, dolazi do resursa s tijelo kraće (na primjer, /login) za prednji dio sobre-lea y te muestre el inicio de la segunda respuesta u tijelu H2.

En esa respuesta anidada podrás localizar la URL administrativa sensible (por ejemplo, /admin/delete?username=carlos) Y actualizar la ruta de la petición smuggleada. Aunque la respuesta visible puede ser de error, akcija se izvodi porque ha viajado por el tunel hasta el back-end con las credenciales internas correctas.

Este ejemplo agrupa varias ideje: CRLF en nombre de cabecera en H2, Zlouporaba duljine sadržaja en downgrade, confirmación con GLAVA i korištenje cabeceras internas inyectadas por el front para alcanzar un panel restringido.

La combinación de conocimientos de protocolo, Inspektor de Burp za H2, y técnicas de desync te permite cubrir vectores que van desde el šverc clásico reimaginado do trovanje de caché persistente, Via bježanja osoba s invaliditetom y ejecución de JavaScript en sitios de alto profil. Con ajustes bien medidos (protocolo por defecto, reutilización de conexiones, overrides de ALPN) y práctica con Repeater e Inspector, tendrás kontrolirati pravi sobre cómo viajan tus peticiones i o cómo se rompen las asunciones entre capas kako se koristi HTTP/2 i HTTP/1.

usos típicos de Burp Collaborator
Povezani članak:
Usos típicos de Burp Collaborator: guía completa y practica
Povezani postovi: