Robert'); DROP TABLE Students;

 ( bra | 2012. november 23., péntek - 21:10 )

Ezzel az xkcd-n látott nicknévvel próbáltam regisztrálni egy weblapra, hogy szándékaim szerint valami egyedi (ne ilyen m0rpheus meg hasonlók) usernevem legyen.
Az eredmény:
"Adatbazis hiba! select * from felhasznalo where lower(trim(nev))='robert')droptablestudents' and statusz not in ('T','U') limit 1 mysql:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')droptablestudents' and statusz not in ('T','U') limit 1' at line 2
2012-11-23 21:09:25 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')droptablestudents' and statusz not in ('T','U') limit 1' at line 2
************************** "

Ez mit jelent? Nincs még ilyen felhasználó?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ja, nem kell megoldani, csak kíváncsiságból kérdezem. Csak annyit akartam beírni egy csajos postkép alá, hogy blokkolnám. :)
Mindenki lehúzta, de szerintem meg helyes.

lökjed inkább a képet a csajról

_laikus off_
Inkább nem, mert holnapra telekommentelnéd a nevemben az oldalt! :)
--
zsebHUP-ot használok!

Annyit jelent, hogy a CMS vagy akármi amivel feldolgozták a post-ban kapott stringet első ránézésre úgy tünik, hogy kivág néhány nembetűnemszám karaktert (legalábbis " "-t és ";"-t biztos) a kukába escape-elés helyett, de a '-t pont kihagyták, így szintaktikai hibás lett az SQL parancs a ' miatt, azért nem tudtál ezzel a nickkel regisztrálni (de legalább az SQL injection-t gyakorlatilag kivédték).

"de legalább az SQL injection-t gyakorlatilag kivédték"

Gyakorlatilag veletlenul sem.

Miután ebből az egyszerű hibaüzenetből erre rájöttél a szoftver működéséből (főként egy kritikus részen), szerinted mit sikerült kivédeni? Mert az SQL injectiont nem igazán.

Tévedtem, elnézést. Nem gondoltam bele, csak megnyugodtam első ránézésre, hogy a ";" majd új parancs dologgal nem lehet trükközni.

A "blokkolnám" kommentemet biztosan. :)
--
zsebHUP-ot használok!

Good old Bobby Tables!

Hát akkor nincs más hátra, legyen a nicked inkább:
Robert'); DROP TABLE felhasznalo;

:)

(Igen, látom, hogy van egyfajta "érdekes" védelem a kódjukban SQL injection ellen, így ez nem fog működni)

Mondjuk sima space helyett használjon tab-ot, vertical tab-ot, újsort, vagy valamilyen másik whitespace karaktert, és meglátjuk, mennyire fognak neki örülni :)

Szeretném leszögezni, hogy a rendszer bármilyennemű megzavarása nem volt, van és lesz célom.
Egyszerűen csak belefutok ezekbe.
Mint pld. akkor, amikor egy szakmai oldal mobil verzióján nem volt "első-utolsó" link a cikkeket felsoroló főlapon, csak "előző-következő", a lapszámot pedig egy GET paraméterben adta át.
Beírtam mobilon, hogy 9999999999999999 (kb), aztán refresh után hasonló lap fogadott, részletes kódrészletekkel, SQL parancsokkal, táblaszerkezettel.

Valamiből az ethical hackereknek is élniük kell...
--
zsebHUP-ot használok!

Tudom én, hogy nem szándékosan akarod kihasználni ezeket a sebezhetőségeket, csak elmondtam, hogy milyen ötleteim lennének hirtelen egy ilyen hibaüzenet után :)

Ilyen hülye nevekkel próbálkozol, aztán csodálkozol, hogy még a pizzarendelés sem megy gond nélkül.. :)

:D :D

:D

Most mit tegyek, anyának ez tetszett.

Kaját meg már csak kp-re rendelek, nincs szükségem ilyen faszjankók ugrálására, amikor lenyeli a béna php-s szarjuk a pénzem.
--
zsebHUP-ot használok!

,,Beírtam mobilon, hogy 9999999999999999 (kb), aztán refresh után hasonló lap fogadott, részletes kódrészletekkel, SQL parancsokkal, táblaszerkezettel."

Mázlis, engem majdnem minden weblapon rendszeresen SQL errorok fogadnak (már ahol van sql), akkor is, ha nem próbálok semmi extrát.

Am tudja valaki, hogy a sql errort miért nem fogja meg az apacs vagy másegyéb, és miért löki a gyanútlan felhasznákók arcába?

Mert figyelmetlen a rendszerüzemeltető és vagy a fejlesztő.

Mert nem annak a dolga.
Azért van a programozó, hogy tudja használni a try-catch blokkot... Csak sajnos sokan soha életükbe nem hallottak a biztonságos oldal gyártásának fogalmáról (lásd blogom). Betudnak okádni egy PHP fájlba, oszt csókolom...
Annó én úgy tanultam, hogy a hibákat még csak ne is kategorizáljuk (pl. adatbázis hiba) csak egyszerűen tudassuk a felhasználóval, hogy gáz van, és logoljuk ezerrel.

--
openSUSE 12.2 x86_64

:DDD

Egy ' lemaradt. Ha ez is javítva, akkor a dobni kívánt tábla hiányát írná, ha nincs ilyen.
Én eltörném a kezét annak, aki ilyen hibaüzenet kiírását engedi, támogatja.

......................
Egymás segítésére még: http://pc-kozosseg.com

lock

-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)

Optimistic lock control? ;)

tetszik a prog.hu-s mottója
_____________________________
Powered by 1,3,7-trimetilxantin