Lawv pom qhov hloov pauv tshiab ntawm HTTP Thov Smuggling nres

lub web systems qhov twg frontend lees txais kev sib txuas ntawm HTTP / 2 thiab xa lawv mus rau lub backend ntawm HTTP / 1.1 htau nthuav tawm mus rau qhov hloov tshiab ntawm "HTTP Thov Kev Nkag Nkag" kev tawm tsam, Nws tso cai los ntawm kev xa tshwj xeeb tsim cov neeg thov, kom faib cov ntsiab lus ntawm kev thov ntawm lwm cov neeg siv ua hauv tib qhov ntws ntawm lub ntsej muag thiab lub nraub qaum.

Qhov kev tawm tsam tuaj yeem siv los txhaj tshuaj phem JavaScript code hauv kev sib tham nrog lub xaib raug cai, hla kev nkag mus rau lub kaw lus txwv thiab cuam tshuam kev txheeb xyuas qhov tseeb.

Tus sau ntawm txoj kev kawm tau qhia txog qhov ua tau ntawm kev tawm tsam Netflix, Verizon, Bitbucket, Netlify CDN thiab Atlassian systems, thiab tau txais $ 56.000 hauv cov phiaj xwm muab txiaj ntsig txhawm rau txheeb xyuas qhov tsis zoo. Qhov teeb meem kuj tseem tau lees paub hauv F5 Networks cov khoom.

Qhov teeb meem ib nrab cuam tshuam mod_proxy ntawm Apache http server (CVE-2021-33193), kho qhov kev cia siab hauv version 2.4.49 (cov neeg tsim khoom tau ceeb toom txog qhov teeb meem thaum pib lub Tsib Hlis thiab muab 3 lub hlis los kho nws). Hauv nginx, lub peev xwm los qhia ib txhij txog "Cov Ntsiab Lus-Ntev" thiab "Hloov-Nkag Siab" headers tau raug thaiv hauv cov ntawv dhau los (1.21.1).

Lub hauv paus ntsiab lus ntawm kev ua haujlwm ntawm txoj kev tshiab ntawm kev sib txuam thov hauv tsheb zoo ib yam li qhov tsis muaj txiaj ntsig pom los ntawm tib tus kws tshawb fawb ob xyoos dhau los, tab sis nws tau txwv rau kev cuam tshuam uas lees txais kev thov hla HTTP / 1.1.

Qhov kev tawm tsam "HTTP Thov Smuggling" qub tau ua raws qhov tseeb tias tom ntej thiab thim rov qab txhais kev siv HTTP "Cov ntsiab lus-Ntev" headers sib txawv (txiav txim siab tag nrho qhov loj ntawm cov ntaub ntawv hauv qhov kev thov) thiab "Transfer-Encoding: chunked" ( tso cai rau koj hloov cov ntaub ntawv hauv ib thooj) ...

Piv txwv li, yog tias lub interface tsuas txhawb "Cov Ntsiab Lus-Ntev" tab sis tsis quav ntsej "Hloov-Nkag Mus: Fragmented", tus neeg tawm tsam tuaj yeem xa daim ntawv thov uas muaj lub taub hau "Cov Ntsiab Lus Ntev" thiab "Hloov-Nkag Mus: Fragmented", tab sis qhov loj me en Qhov "Cov ntsiab lus ntev" tsis phim qhov loj ntawm txoj hlua uas tau chunked. Hauv qhov no, lub ntsej muag yuav ua cov txheej txheem thiab hloov pauv qhov kev thov raws li "Cov ntsiab lus ntev", thiab cov backend yuav tos rau qhov thaiv kom tiav raws li "Hloov kev nkag mus: chunked".

Tsis zoo li cov ntawv HTTP / 1.1 raws tu qauv, uas tau cais tawm ntawm kab kab, HTTP / 2 yog binary raws tu qauv thiab siv cov block cov ntaub ntawv ntawm qhov loj me ua ntej. Txawm li cas los xij, HTTP / 2 siv pseudo-headers uas sib haum rau ib txwm HTTP headers. Thaum sib tham nrog tus backend siv HTTP / 1.1 raws tu qauv, lub ntsej muag txhais cov pseudo-headers no hauv qhov zoo sib xws HTTP / 1.1 HTTP headers. Qhov teeb meem yog tias tus backend txiav txim siab txog kev tshuaj xyuas kev sib kis raws li HTTP headers teeb tsa los ntawm lub ntsej muag, yam tsis paub txog qhov kev thov ntawm thawj daim ntawv thov.

Txawm nyob rau hauv daim ntawv ntawm pseudo-headers, qhov muaj txiaj ntsig "Cov ntsiab lus-ntev" thiab "hloov pauv-encoding" lawv tuaj yeem tso tawm tau, txawm hais tias lawv tsis tau siv hauv HTTP / 2, txij li qhov loj ntawm txhua cov ntaub ntawv tau txiav txim siab hauv ib qho chaw cais. Txawm li cas los xij, thaum hloov qhov thov HTTP / 2 mus rau HTTP / 1.1, cov npe no dhau los thiab tuaj yeem cuam tshuam rau lub backend.

Muaj ob txoj hauv kev tawm tsam loj: H2.TE thiab H2.CL, uas tus backend raug dag los ntawm kev hloov pauv tsis raug lossis cov ntsiab lus ntev tus nqi uas tsis sib xws rau qhov loj me ntawm qhov kev thov lub cev tau txais los ntawm lub ntsej muag los ntawm HTTP / 2 raws tu qauv.

Raws li qhov piv txwv ntawm H2.CL nres, qhov loj me tsis raug teev nyob hauv pseudo-header cov ntsiab lus ntev thaum xa qhov kev thov HTTP / 2 rau Netflix. Qhov kev thov no ua rau ntxiv ntawm lub taub hau HTTP Cov Ntsiab Lus-Ntev zoo sib xws thaum nkag mus rau lub backend ntawm HTTP / 1.1, tab sis txij li qhov loj hauv Cov Ntsiab Lus-Ntev tsawg dua qhov tseeb, ib feem ntawm cov ntaub ntawv hauv kab ntawv tau ua tiav thaum pib ntawm qhov kev thov tom ntej.

Cov Cuab Yeej Cuam Tshuam twb tau ntxiv rau Burp's Toolkit thiab muaj raws li Turbo Intruder txuas ntxiv. Web proxies, load balancers, web accelerators, content delivery systems, thiab lwm yam kev teeb tsa uas qhov kev thov raug xa rov qab rau hauv cov phiaj xwm tom ntej-backend raug rau qhov teeb meem.

Source: https://portswigger.net


Cov ntsiab lus ntawm tsab xov xwm ua raws li peb cov ntsiab cai ntawm kev tswj hwm kev ncaj nceesCov. Tshaj tawm ib qho yuam kev nyem no.

Yog thawj tus tuaj tawm tswv yim

Tso koj saib

Koj email chaw nyob yuav tsis tsum luam tawm. Yuav tsum tau teb cov cim nrog *

*

*

  1. Lub luag haujlwm rau cov ntaub ntawv: Miguel Ángel Gatón
  2. Lub hom phiaj ntawm cov ntaub ntawv: Tswj SPAM, kev tswj xyuas tawm tswv yim.
  3. Sau raws cai: Koj kev tso cai
  4. Kev sib txuas lus ntawm cov ntaub ntawv: Cov ntaub ntawv yuav tsis raug xa mus rau lwm tus neeg thib peb tsuas yog los ntawm kev txiav txim siab raug cai.
  5. Cov ntaub ntawv khaws cia: Cov Ntaub Ntawv khaws tseg los ntawm Occentus Networks (EU)
  6. Txoj Cai: Txhua lub sijhawm koj tuaj yeem txwv, rov qab thiab tshem tawm koj cov ntaub ntawv.