MD5 hash törés kényelmesen

Megint grafomán lettem, hat ujjal gépelve is. Kollégám küldte a következő linket md5 hash visszafejtő programról. A https://github.com/juuso/BozoCrack helyen lakó program nem a szokásos szivárványtáblás meg szótáras törést alkalmazza, hanem egy olyan megközelítést, ami lenyűgöző: Google-be beküldi az md5 hasht, azzal a megfontolással, hogy a plain text változat is ott lesz mellette – és tényleg. Aki pedig azt hinné, hogy magyar szavakkal biztonságban van, téved: paradicsom, kazincbarcika, fogkefe, melltarto, jelszo – ezek mind ott vannak. Az ötlet ijesztően egyszerű és zseniális. Le vagyok nyűgözve…

Aki tesztelni szeretné, itt talál egy md5 hash generátort.

Nyelvtörő

Éppen a hülye elnevezésekről beszélgettünk a munkahelyemen, amik már magukban hordozzák az elszúrás lehetőségét (mint pl. a minval változónév a legnagyobb értéknek, a maxval meg a legkisebbnek), amikor megint előkerült kedvenc SQL-es példám, amit a szintaktikai ellenőrző is csak sírva enged át. Gondoltam megosztom veletek, lássátok, hogy igazán rossz kódot még sosem adtak át nektek. Ehhez lépest a DropTable nevű objektum az egyik üzemelő adatbázisban kismiska.

SELECT SELECT SELECT FROM FROM FROM WHERE WHERE LIKE LIKE 

Ez így ebben a formában még hibát dob, de ha szépen jelöljük az identifiereket, akkor már lefut:

SELECT [SELECT] [SELECT] FROM [FROM] [FROM] WHERE [WHERE] LIKE [LIKE]

Persze kell alá egy tábla is, esetleg némi adat is:

CREATE TABLE [FROM]
([SELECT] varchar(20),
[WHERE] int,
[LIKE] int)

INSERT INTO [FROM] VALUES('szegyellem magamat', 1, 1)

Így már világos, hogy a SELECT nevű oszlopnak adtunk egy aliast, ami pont a SELECT megint, hasonlóan tettünk a FROM tábla nevével is, a többi meg gyerekjáték innentől kezdve. Szeretném kihangsúlyozni, hogy ez NEM best practice, vagy bármilyen formában követendő példa, hacsak nem akarunk a pokolra jutni közönségszavazat alapján. Inkább rá is teszem a humor cimkét erre a postra.

Az SQL injection

Egy nagy kedvenc karikatúrám:

Magyar(nak tűnő) szöveg:
(1) -Halló, a fia iskolájából telefonálok. Van egy kis számítógépes problémánk.
(2) – Ó, csak nem elrontott valamit?
– Tulajdonképpen igen.
(3) – Tényleg Robert’); DROP TABLE Students; — a fia neve?
– Ó igen, kis Bobby Tables-nek hívjuk itthon.
(4) – Nos, elveszítettük a diákjaink idei adatait. Most remélem örül.
– És remélem, hogy megtanulták, hogy megvizsgálják az adatbázis inputokat.

Aki esetleg nem tudná, hogy mi az az SQL injection, annak pár sorban:
Continue reading ‘Az SQL injection’ »

Érdekes történet

Az úgy volt, hogy szabin voltam múlt héten. Szabadságon két nap alatt elfelejtem, hogy milyen nap van, hanyadika, mert nem érdekel. Aztán tegnap bementem dolgozni, feldolgoztam a 270 olyan levelet, amit semmilyen rule nem tudott az inboxomon kívül végződtetni, és megnéztem pár oldalt, amit nem néztem szabi alatt. Az egyik ilyen volt diplomakonzulensem, Balássy Gyuri blogja (aki olyan MVP, hogy csak na, sőt még Microsoft Regional Director is). És írt egy baromi érdekes dologról: egy projekt keretében csináltak PL/SQL interfészt az SQL Serverhez, ami brutál jól működik ráadásul, sőt, valószínűleg be fog kerülni az SQL Server 2008-ba is majd. Ez teljesen lázba hozott. El is mondtam a kollégáimnak, miközben elmentem szerezni egy kólát, hogy aztán beleáshassam magamat a részletes leírásba.

Aztán visszajöttem, megnéztem a részletes leírást, amiből megtudtam, hogy ez egy április elsejei tréfa. Először nem is értettem, hogy hogy lehet ilyenkor áprilisi tréfázni, aztán rájöttem, hogy már majd’ egy hete április van… Hát a kollégáim kegyetlenül kiröhögtek. Egymás után többször…