Päätimme katsoa hieman tarkemmin sivustoillemme kohdistuvia hyväksikäyttöyrityksiä joita tulee useita päivittäin. Normaalien SQL-injektiohyökkäysten lisäksi näemme useimmiten myös PHP-kielellä kirjoitettuihin web-ohjelmistoihin kohdistuvia RFI-hyökkäyksiä.
Jätämme tästä esimerkistä pois tarkan URLin, jota hyökkääjä kokeili, mutta yleisellä tasolla todettakoon että hyökkääjä yritti etsiä haavoittuvaa PHPAdsNew-asennusta.
Latasimme hyökkääjän lähettämästä osoitteesta itse hyökkäyksessä käytetyn tiedoston:
Ylläolevasta kuvasta näkee suhteellisen helposti että kyseessä BASE64-koodattu tiedosto, joka dekoodauksen jälkeen suoritetaan normaalisti eval()-funktion avulla. Alla olevassa kuvassa on dekoodauksen jälkeen näkyville tuleva hyökkäyskoodi:
Kuten huomaamme, koodi sisältä vielä pienen pätkän BASE64-koodattua tietoa, mutta katsotaan ensin mitä hyökkäyskoodi tekee yleisellä tasolla. Hyökkäyskoodi kerää muutamia hyödyllisiä tietoja PHP-ympäristön muuttujista kuten palvelimen nimen ja tiedon siitä onko PHP:n “Safe Mode” aktivoitu vai ei. Nämä tiedot, kuten myös hyväksikäytetyn osoitteen hyökkäyskoodi lähettää sähköpostilla eteenpäin. Vastaanottajan osoite on jäljellä olevassa BASE64-koodatussa tekstinpätkässä:
fr33sh3ll@gmail.com
Joka kerta kun hyökkäyskoodi onnistutaan ajamaan kohdekoneessa saa koodin tekijä sähköpostilla ilmoituksen joka sisältää haavoittuvan palvelimen osoitteen ja tarkan URL-osoitteen haavoittuvaan PHPAdsNew-asennukseen. Tällä tavoin hyökkääjä voi myöhemmin halutessaan käyttää haavoittuvuutta uudelleen hyväkseen ja ajaa kohdekoneessa haluamaansa koodia.
On olemassa useita hyviksi havaittuja ja suositeltuja keinoja hankaloittaa tällaisten hyökkäysten toimintaa kuten asettamalla PHP-tulkissa “Safe Mode” vaihtoehto päälle, tai ottaa allow_url_open tai allow_url_include (riippuu käytössä olevan PHP-kielen versiosta) pois päältä. Enemmän hyviä ohjeita ja vinkkejä PHP-asennusten koventamiseen löytyy esimerkiksi näiltä sivuilta:
There are several ways to make such attacks much harder to perform, like turning on the safe mode or toggling off the allow_url_fopen or allow_url_include (in some versions of php). More good/better tricks can be found for example on these two sites:

