Tweets by @buherablog
profile for buherator at IT Security Stack Exchange, Q&A for IT security professionals

A BitBetyár Blog

Túljártál a nagyokosok eszén? Küldd be a mutatványodat! (e-mail a buherator gmailkomra jöhet)

Full-Disclosure / Névjegy / Coming out


Promó

H.A.C.K.

Címkék

0day (110) adobe (87) adobe reader (21) anonymous (26) apple (60) az olvasó ír (49) blackhat (20) botnet (22) bug (200) buherablog (44) buhera sörözés (39) bukta (49) deface (38) dns (22) dos (29) esemény (82) facebook (26) firefox (64) flash (33) gondolat (31) google (59) google chrome (36) hacktivity (37) hírek (117) incidens (224) internet explorer (88) iphone (35) java (50) jog (22) kína (21) kriptográfia (68) kultúra (21) linux (24) malware (43) microsoft (142) móka (48) mozilla (23) office (26) oracle (40) os x (43) patch (197) php (20) politika (31) privacy (58) programozás (22) safari (34) sql injection (62) windows (85) xss (77) Címkefelhő

Licensz

Creative Commons Licenc

A nap hibája: Rails+ MySQL

2013.02.06. 20:07 | buherator | 1 komment

Úgy tűnik joernchen nem hagyott fel a Rails túrásával, a munka pedig meghozta gyümölcsét, már vagy tíz perce vigyorgok:

A történet ott indul, hogy a MySQL annyira típusérzéketlen, hogy a 0="valami" (integer vs. varchar) számára egy igaz kifejezés. Ez persze már önmagában gyönyörű, de lássuk a gyakorlati alkalmazást!

Tegyük fel, hogy egy RoR app valahogy így ellenőrzi a jelszócseréhez kiküldött egyszeri véletlen token helyességét: 

def reset
  user = User.find_by_token(params[:user][:token])
  if user
    #reset password here
  end
end

Kapisgáljátok? A Rails elfogad típusos XML adatstruktúrákat, vagyis egy HTTP kérésben megmondhatjuk hogy az alkalmazás egy adott paramétert milyen típusúként értelmezzen - nincs tehát más dolgunk, mint egy integer típusú 0-t beküldeni, és tárulj Szezám:

POST /user/password/reset
[...]
Content-Type: text/xml

<user><token type="integer">0</token>[...]</user>

A legjobb az egészben, hogy ez mindkét szoftver esetében feature nem pedig bug, így nem valószínű, hogy a közeljövőben hivatalos megoldást látunk a problémára. A GitHub vadiúj keresője azt hiszem már izzad...

Elkerülő megoldásként a XML kérések letiltása segíthet (talán).

Címkék: bug ruby on rails mysql ruby joernchen

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.