![SQL befecskendezés - Technológia SQL befecskendezés - Technológia](https://a.continuousdev.com/technology/sql-injection.jpg)
Tartalom
- Meghatározás - Mit jelent az SQL befecskendezés?
- 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
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.