He löysivät uuden version HTTP -pyynnön salakuljetushyökkäyksestä

Los verkkojärjestelmät, joissa käyttöliittymä hyväksyy yhteydet HTTP / 2: n kautta ja välittää ne taustalle HTTP / 1.1 h: n kauttaovat altistuneet uudelle versiolle "HTTP Request Smuggling" -hyökkäyksestä, Se mahdollistaa lähettämällä erityisesti suunniteltuja asiakaspyyntöjä jakamaan muiden käyttäjien pyyntöjen sisällön samalla prosessilla käsitellyn käyttöliittymän ja taustaohjelman välillä.

Hyökkäys voidaan syöttää haitallista JavaScript -koodia istunnossa laillisen sivuston kanssa, ohittaa pääsynrajoitusjärjestelmät ja siepata todennusparametrit.

Tutkimuksen kirjoittaja osoitti mahdollisuuden hyökätä Netflix-, Verizon-, Bitbucket-, Netlify CDN- ja Atlassian -järjestelmiinja sai 56.000 5 dollaria palkitsemisohjelmia haavoittuvuuksien tunnistamiseksi. Ongelma on vahvistettu myös FXNUMX Networks -tuotteissa.

Ongelma vaikuttaa osittain Apache http -palvelimen mod_proxy -palveluun (CVE-2021-33193), korjauksia odotetaan versiossa 2.4.49 (kehittäjille ilmoitettiin ongelmasta toukokuun alussa ja he saivat 3 kuukautta aikaa korjata se). Nginxissä kyky määrittää samanaikaisesti "Content-Length"-ja "Transfer-Encoding" -otsikot on estetty edellisessä versiossa (1.21.1).

Uuden menetelmän toimintaperiaate vastaavia pyyntöjä liikenteessä on samanlainen kuin haavoittuvuus, jonka sama tutkija havaitsi kaksi vuotta sitten, mutta se rajoittuu rajapintoihin, jotka hyväksyvät pyyntöjä HTTP / 1.1: n kautta.

Klassinen "HTTP Request Smuggling" -hyökkäys perustui siihen, että käyttöliittymät ja taustaohjelmat tulkitsevat HTTP "Content-Length" -otsikoiden käytön eri tavalla (määrittävät pyynnön sisältämien tietojen kokonaiskoon) ja "Transfer-Encoding: chunked" ( voit siirtää tietoja palasina) ...

Jos käyttöliittymä esimerkiksi tukee vain "Content-Length" -asetusta, mutta jättää huomiotta "Transfer-Encoding: fragmentoitu", hyökkääjä voi lähettää pyynnön, joka sisältää otsikot "Content-Length" ja "Transfer-Encoding: fragmented", mutta koko fi Sisällön pituus ei vastaa katkotun merkkijonon kokoa. Tässä tapauksessa käyttöliittymä käsittelee ja ohjaa pyynnön "Sisällön pituus" -kohdan mukaisesti, ja taustaohjelma odottaa lohkon valmistumista "Siirtokoodaus: lohko" -periaatteen perusteella.

Toisin kuin tekstitason HTTP / 1.1 -protokolla, joka jäsennetään rivitasolla, HTTP / 2 on binääriprotokolla ja manipuloi lohkoja ennalta määrätyn kokoisia tietoja. Kuitenkin HTTP / 2 käytä pseudootsikoita jotka vastaavat tavallisia HTTP -otsikoita. Kun olet vuorovaikutuksessa taustaohjelman kanssa käyttämällä HTTP / 1.1 -protokollaa, käyttöliittymä kääntää nämä pseudo-otsikot vastaavissa HTTP / 1.1 HTTP -otsikoissa. Ongelmana on, että taustaohjelma päättää lähetyksen analysoinnista käyttöliittymän asettamien HTTP -otsikoiden perusteella, tietämättä alkuperäisen pyynnön parametreja.

Jopa pseudo-otsikoiden muodossa arvot "Sisällön pituus" ja "siirtokoodaus" niitä voidaan suoratoistaa, vaikka niitä ei käytetä HTTP / 2: ssa, koska kaikkien tietojen koko määritetään erillisessä kentässä. Kuitenkin muunnettaessa HTTP / 2 -pyyntö HTTP / 1.1: ksi nämä otsikot kulkevat läpi ja voivat olla hämmentäviä taustaohjelmalle.

Hyökkäysvaihtoehtoja on kaksi: H2.TE ja H2.CL, jossa taustaohjelma huijataan virheellisellä siirtokoodauksella tai sisällön pituuden arvolla, joka ei vastaa käyttöliittymän HTTP / 2 -protokollan kautta vastaanottaman pyyntökappaleen todellista kokoa.

Esimerkkinä H2.CL-hyökkäyksestä pseudo-otsikossa on määritetty väärä koko sisällön pituus pyyntöä lähetettäessä HTTP / 2 Netflixiin. Tämä pyyntö johtaa otsikon lisäämiseen HTTP-sisällön pituus samanlainen käytettäessä taustajärjestelmää HTTP / 1.1: n kautta, mutta koska koko on Sisällön pituus on pienempi kuin todellinen, osa jonossa olevista tiedoista käsitellään seuraavan pyynnön alussa.

Hyökkäystyökalut on jo lisätty Burpin työkalupakkiin ja ne ovat saatavana Turbo Intruder -laajennuksena. Verkkopalvelimet, kuormantasaajat, verkkokiihdyttimet, sisällönjakelujärjestelmät ja muut kokoonpanot, joissa pyynnöt uudelleenohjataan käyttöliittymä-taustajärjestelmässä, ovat alttiita ongelmalle.

lähde: https://portswigger.net


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.