SQL befecskendezés

Szerző: Peter Berry
A Teremtés Dátuma: 13 Augusztus 2021
Frissítés Dátuma: 22 Június 2024
Anonim
SQL befecskendezés - Technológia
SQL befecskendezés - Technológia

Tartalom

Meghatározás - Mit jelent az SQL befecskendezés?

Az SQL-befecskendezés egy számítógépes támadás, amely során a rosszindulatú kódok be vannak ágyazva egy rosszul megtervezett alkalmazásba, majd átkerülnek a háttér-adatbázisba. A rosszindulatú adatok ezután adatbázis-lekérdezés eredményeket vagy olyan műveleteket hoznak létre, amelyeket soha nem kellett volna végrehajtani.


Bevezetés a Microsoft Azure és a Microsoft Cloud | A jelen útmutató során megtanulja, mi szól a felhőalapú számítástechnikából, és hogyan segítheti a Microsoft Azure a felhőből történő migrációt és az üzleti vállalkozás futtatását.

A Techopedia magyarázza az SQL befecskendezést

Megismerhetjük az SQL befecskendezésének egy példáját:

A bank műveleteit futtató alkalmazás olyan menüket tartalmaz, amelyek felhasználhatók ügyfél-adatok keresésére olyan adatpontok segítségével, mint például az ügyfél társadalombiztosítási száma. A háttérben az alkalmazás felhív egy SQL lekérdezést, amely fut az adatbázisban a megadott keresési értékek átadásával, az alábbiak szerint:

VÁLASSZON ügyfélnevet, telefont, címet, születési dátumot WHERE social_sec_no = 23425

Ebben a példafájlban a felhasználó beírja a 23425 értéket az alkalmazás menüablakába, és kéri a felhasználót, hogy adja meg a társadalombiztosítási számot. Ezután a felhasználó által megadott érték felhasználásával SQL lekérdezés fut az adatbázisban.

Az SQL ismeretekkel rendelkező felhasználó megértheti az alkalmazást, és ahelyett, hogy egyetlen értéket írna be, amikor a társadalombiztosítási számot kéri, írja be a „23425 vagy 1 = 1” karakterláncot, amelyet az alábbiak szerint továbbítanak az adatbázishoz:

VÁLASSZON ügyfélnevet, telefont, címet, születési dátumot WHERE social_sec_no = 23425 vagy 1 = 1

A WHERE záradék fontos, mivel bevezet egy sebezhetőséget. Az adatbázisban az 1 = 1 feltétel mindig igaz, és mivel a lekérdezés az ügyfél társadalombiztosítási számának részleteinek megadására került megadásra (23425) vagy ahol 1 = 1, akkor a lekérdezés a táblázat összes sorát adja vissza, amely nem volt a eredeti szándék.

A fenti SQL befecskendezési támadás példa egyszerű, de megmutatja, hogyan lehet egy biztonsági rést kihasználni az alkalmazás becsapására háttér-adatbázis lekérdezés vagy parancs futtatására.

Az SQL befecskendezés támadásait a megfelelő alkalmazástervezés biztosításával enyhíthetjük, különösen azokban a modulokban, amelyek felhasználói beadást igényelnek adatbázis-lekérdezések vagy parancsok futtatásához. A fenti példában az alkalmazást úgy lehet megváltoztatni, hogy csak egy numerikus értéket fogadjon el.