Avoimella alustalla sähköisen kaupankäynnin järjestämiseen
Yksi ongelma sallii todentamattoman käyttäjän saavuttaa JavaScript (XSS) -sijoittelun, joka voidaan suorittaa katsoessaan peruutettujen ostojen historiaa järjestelmänvalvojan käyttöliittymässä. Haavoittuvuuden ydin on kyky ohittaa tekstinpuhdistustoiminto escapeHtmlWithLinks()-funktiolla, kun käsitellään peruutuslomakkeessa olevaa huomautusta kassanäytössä (käyttäen "a href=http://onmouseover=..."-tunnistetta sisällytetty toiseen tunnisteeseen). Ongelma ilmenee käytettäessä sisäänrakennettua Authorize.Net-moduulia, jota käytetään luottokorttimaksujen hyväksymiseen.
Saadaksesi täyden hallinnan JavaScript-koodilla myymälän työntekijän nykyisen istunnon yhteydessä, hyödynnetään toista haavoittuvuutta, jonka avulla voit ladata phar-tiedoston kuvan varjolla (
Mielenkiintoista on, että tiedot XSS-ongelmasta lähetettiin Magento-kehittäjille jo syyskuussa 2018, minkä jälkeen julkaistiin marraskuun lopussa korjaustiedosto, joka, kuten kävi ilmi, eliminoi vain yhden erikoistapauksista ja on helposti kierrettävä. Tammikuussa uutisoitiin lisäksi mahdollisuudesta ladata Phar-tiedosto kuvan varjolla ja näytettiin, kuinka kahden haavoittuvuuden yhdistelmää voidaan käyttää verkkokauppojen vaarantamiseen. Maaliskuun lopussa Magento 2.3.1:ssä
2.2.8 ja 2.1.17 korjasivat Phar-tiedostojen ongelman, mutta unohtivat XSS-korjauksen, vaikka ongelman lippu suljettiin. Huhtikuussa XSS-jäsennys jatkui ja ongelma korjattiin versioissa 2.3.2, 2.2.9 ja 2.1.18.
On huomattava, että nämä julkaisut korjaavat myös 75 haavoittuvuutta, joista 16 on luokiteltu kriittisiksi ja 20 ongelmaa voi johtaa PHP-koodin suorittamiseen tai SQL-korvaukseen. Suurin osa kriittisistä ongelmista voi tapahtua vain autentikoidun käyttäjän toimesta, mutta kuten yllä näkyy, autentikoidut toiminnot voidaan saavuttaa helposti käyttämällä XSS-haavoittuvuuksia, joista useita kymmeniä on korjattu mainituissa julkaisuissa.
Lähde: opennet.ru