Tervetuloa takaisin Sherlockin haavoittuvuuksien valokeilaan, jossa nostamme esiin Sherlock-tarkastuksessa paljastuneen vaikuttavan haavoittuvuuden. Tällä viikolla tarkastelemme @0xdeadbeef____ ja @IllIllI000 @GMX_IO-kilpailussa löytämää palvelunestohyökkäystä. Kiitos @int0x1catedCode erittelystä.
Yhteenveto haavoittuvuudesta: Haavoittuvuuden avulla hyökkääjä voi manipuloida tilausten suorituskulkua tarjoamalla väärennettyjä palautussyiden pituuksia, jotka eivät vastaa todellisia tietoja. Tämä aiheuttaa sen, että protokollan virheenkäsittely lukee virheellisiä muistialueita, mikä saattaa häiritä suoritusprosessia tai aiheuttaa odottamatonta toimintaa epäonnistuneiden tilausten käsittelyssä.
Hyökkäyksen vaiheet: 1. Asennusvaihe Ota käyttöön haitallinen sopimus, joka toteuttaa mukautetun palautustoiminnan Kohdeprotokollan tulee olla haitallisen sopimuksen havaittavissa (esim. takaisinsoiton käsittelijänä). 2. Luo haitallisia palautustietoja Rakenne palauttaa tiedot falsifioidulla pituusparametrilla. 3. Suorita tilaus protokollan kautta Luo tilaus, joka käynnistää vuorovaikutuksen haitallisen sopimuksen kanssa Kun protokolla käsittelee tilauksen ja kutsuu haitallista sopimusta, se palaa luotujen tietojen mukana. Protokollan virheenkäsittely yrittää purkaa palautuksen syyn käyttämällä väärennettyä pituutta. 4. Laukaise muistin lukuylivuoto Protokolla lukee muistin väärennetyn pituusparametrin perusteella Tämä saa sen lukemaan todellisten palautustietojen rajojen ulkopuolella.
Mikä on vaikutus? Palvelunesto: Toimeksiannot eivät välttämättä toimi kunnolla, mikä estää lailliset protokollatoiminnot, kuten huonojen positioiden likvidoinnin. Tilauksen toteuttamisen keskeytys: Erätilausten käsittely voi pysähtyä, mikä vaikuttaa useisiin käyttäjiin Kaasun murhe: Väärin muotoiltujen palautustietojen käsittely voi kuluttaa liikaa kaasua
Perimmäinen syy: 1. Tarkistamattomat pituusparametrit: Protokolla luottaa palautustiedoissa annettuun pituusarvoon ilman vahvistusta 2. Puuttuvat rajatarkistukset: Ei vahvistusta siitä, että ilmoitettu pituus vastaa todellista datakokoa
Lievennys: 1. Vahvista aina Palauta tietojen pituus 2. Ota käyttöön enimmäispituusrajoitukset
Olemme ylpeitä siitä, että olemme auttaneet turvaamaan @GMX_IO tämän löydön kautta. Kun sen on ehdottomasti oltava turvallinen, Sherlock on oikea valinta.
2,34K