Mi az SQL befecskendezés?

Lehet, hogy egy hacker megsemmisíti webhelyének adatbázisát, és átveszi az adminisztratív ellenőrzést. Ha a webhely vagy alkalmazás rosszul van biztosítva, akkor sebezhető lehet az SQL befecskendezés támadásaitól. Mi az SQL befecskendezés, veszélyezteti-e webhelyét, és hogyan lehet azt megelőzni?

Az SQL kódoló nyelv. Az Adatbáziskezelő Rendszerek (DBMS) használják arra, hogy a felhasználó információ-kéréseit továbbítsák az adatbázishoz és annak adattábláinak. Ha például egy kulcsszót beír egy weboldal keresősávjába, egy SQL kérés jön létre a színfalak mögött. Ez a kérés tartalmazza a felhasználó által megadott kulcsszavakat, valamint a DBMS parancsait. Ezután elküldésre kerül az adatbázisba, ahol a DBMS megfejti azt, kibontja a kért információkat, és visszaküldi a felhasználónak. Az SQL egy egyszerű nyelv, amely felismerhető angol szavakra támaszkodik a kódolási parancsaihoz. Ha egy webhely nem volt megfelelően biztonságos, a hackerek „befecskendezhetik” saját SQL kódolási parancsaikat az adatok ellopására.

Ez magában foglalja egy weboldal átverését SQL karakterláncok létrehozására, amelyek tartalmazzák a hackerek parancsát. Amikor a karakterláncot elküldik az adatbázishoz és értelmezik azt, a DBMS végrehajtható elolvassa az „injektált” parancsokat, majd végrehajtja azokat. Ilyen módon a hacker arra kényszerítheti a DBMS-t, hogy visszaküldjön olyan információkat, amelyeket a webhely tulajdonosa egyébként esetleg magántulajdonban tartott. Képzeljen el például egy olyan forgatókönyvet, amelyben valaki el akarja lopni az ügyfél felhasználóneveit és jelszavait egy online áruházból. Ha a webhely biztonsági protokolljai nem naprakész, a hacker eljuthat a webhely „keresés” funkciójába, és beírhat egy kódolási parancs karakterláncot, amelyet automatikusan beilleszt a kapott SQL karakterláncba.