Miksi luotamme edelleen käyttäjän syötteisiin?

Tutkimusyritys Imperva ilmoittautui tällä viikolla kahdella tunnetulla hyväksikäytöllä. Tutkijat pystyivät suorittamaan haluamansa PHP-koodin - mikä tarkoittaa, että PHP: n backtick-operaattorien ansiosta he voivat myös suorittaa halutut komennot.

Todella mielenkiintoinen osa raporttia oli näiden hyödyntämisten käyttö vuosina 2011 ja 2010 automatisoiduissa hyökkäysohjelmissa. Alla on kuva raportista, joka osoittaa yhden isännän hyökkäyksen ajan mittaan, ja se kohdistuu superglobaalien manipulointiin. Osoittautuu, että isäntä oli italialainen pankki, joka oli todennäköisesti vaarantunut, ja hyökkäykset jatkuivat tämän kaavion laatimisen jälkeen.

Pidän tästä kaaviosta, koska se näyttää hyökkäyksen räjähtävän luonteen ja näyttää kuinka palvelin ei ehkä ole parhaillaan hyökkäyksen kohteena, mikä ei tarkoita, että ongelma olisi poistunut.

Raportissa tutkittujen ongelmien perimmäinen syy on kuitenkin alla mainitun kaltaiset koodilohot, joita oli aiemmin erittäin suositussa PhpMyAdmin-työkalussa.

 if (strstr ($ _ SERVER 'QUERY_STRING', 'session_to_unset')! = epätosi) {parse_str ($ _ SERVER 'QUERY_STRING'); session_write_close (); session_id ($ session_to_unset); session_start (); $ _SESSION = taulukko (); session_write_close (); } 

Se, että PhpMyAdminin iän ja suosion hankkeessa voisi olla näitä perusvirheitä, osoittaa vain kuinka salakavala sairaus luottavaan käyttäjän syötteeseen on. Se ei ole tehty haitallisuudesta tai edes epäpätevyydestä; se tapahtuu siitä, että et ajattele yhtä turvallisuuden perusperiaatteista.

Älä koskaan luota käyttäjän syötteisiin. Koskaan.

Sovelluksesi voisi istua siellä vuosia toimimalla kunnolla aukon kanssa niin suuri kuin pieni eurooppalainen maa, odottaen vain hyväksikäyttöä. Tarvitaan vain yksi utelias hakkeri - tai nykyään yksi bottiverkko - lukitaksesi IP-osoitteesi, ja kallisarvoinen koodisi on juuri tarjonnut rampin mielivaltaisen koodin suorittamisen ja jatkuvien uhkien maailmaan.

Monilla voi olla kiusaus syyttää näitä hyväksikäyttöjä PHP: n jalkojen edessä, mutta voit kirjoittaa vastaavasti hyväksikäytettävän koodin valitsemallasi skriptikielellä; vain, että PHP on suosituin kieli verkossa, ja siksi se houkuttelee suurimman osan hyökkäyksistä.

Tällaisia ​​reikiä voidaan sulkea seuraavilla tavoilla: Syötteen päästäminen ulos ja syöttölokeroiden käyttäminen on vain kaksi tapaa tällaisten aukkojen korjaamiseksi.

Raportissa vahvistetut totuudet ovat edelleen yleisiä käytetystä kielestä riippumatta: Älä koskaan luota käyttäjän syötteisiin ja tuplaa koskaan luottamatta URL-osoitteessa löydettyihin parametreihin.

© Copyright 2021 | mobilegn.com