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

Blogok harca

2010.12.06. 20:00 | buherator | 1 komment

Az elmúlt héten két érdekes hiba is szembejött velem a blogszférából, mindkettő tartogat tanulságokat. A hibákat azóta javították, erről lesz még később szó.

Az első probléma egy perzisztens XSS anyánk, a blog.hu kommentdobozában. A problémát _2501 vette észre ennél a bejegyzésnél, és volt olyan kedves, hogy meg is írta az élményt szépen:

Miután a srác aki megpróbálta a href.hu-val lerövidíteni az url-t kétszer is beleszaladt, kipróbáltam hogy tényleg a blog.hu manipulál vele, vagy csak simán elcseszte a postot.
Kipróbáltam, létrehoztam egy href.hu-s hivatkozást a http://tgpreactor.com/ -ra, és bepostoltam... tényleg átalakította.
Felmerült bennem a kérdés hogy wtf?
Máshogy nem nagyon lehet csak ha detektálja a postban a href-hu-s url-t, lekérdezni onnan hogy hova redirectel és lecseréli... kérdés az hogy előbb végzi el az xss-checket vagy html elemek kigyomlálását a commentből, vagy utána...
 
Ezek szerint utána:
létrehoztam egy href.hu-s hivatkozást erre az "url"-re:
 
http://x<script>alert(document.location)</script>
 
ezt kaptam:
 
http://href.hu/x/dw8o
 
megnéztem hogy hogy mennek át a tagek:
 
---->8----
 
# echo -ne "GET /x/dw8o HTTP/1.1\nHost: href.hu\nConnection: close\n\n" | nc href.hu 80
HTTP/1.1 302 Found
Connection: close
Date: Fri, 03 Dec 2010 11:17:23 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Location: http://x<script>alert(document.location)</script>
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 172

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://x&lt;script>alert(document.location)&lt;/script>">here</a>.</h2>
</body></html>

---->8----
 
A bloghu a location header-t fogja megcsípni, és arra cseréli ki a hrefhu-s hivatkozást.
Láthatóan megkerülte a szűrést, annyi nehezítés van az xss-eléssel hogy a whitespace karaktereket lecseréli, szal space %20 ként fog megjelenni, hiába adja jól vissza a redirect headerben.
Tehát képet beszúrni csak html tagekkel nem fog így menni, mert az lesz belőle hogy <img%20src="blahblah"/>
De ezt  megkerülni már lufi.
 
Kipróbáltam, a bit.ly hivatkozásait is lecseréli, azzal is megy.

Igen szép XSS fírget lehetett volna kreálni ebből!

A másik hibát secretworld találta a postr.hu keresőjében, bár elősőre nem volt egyértelmű, hogy valóban kihasználható-e a probléma, melynek ez a rondaság lett az eredménye:

A PDOException alapján azt hihetnénk, hogy csak valami típusegyeztetési hibát nem sikerült megfogni, ezzel még nem megy sokra egy bitbetyár, de a biztosítékot kiverő " karakter nem erre utalt. A második sor végén jól látszik, hogy egy idézőjelen és egy zárójelen belül vagyok, így könnyű volt szintaktikailag helyesre hozni a query-t:


Ez már tuti jó lesz egy blind injection-re, de jó lenne tudni azt is, hogy milyen júzerünk van:

A privilégiumszeparáció pirospontot ér, nézzük, hogy milyen táblákban turkálhatunk ilyen jogkörrel:

Hopp, mégis csak látunk! Az érintett query eredménye bekerül egy másik lekérdezésbe, így a bőbeszédű hibaüzenetekben kapásból ott van a teljes adat, innentől az adatbázis nyitott könyv, bár a továbblépési lehetőségeket erősen korlátozza a viszonylag friss MySQL verzió és az alacsony jogkör.

Természetesen már ezt a problémát is javították, a poszt második felében a hibajelzés viszontagságait igyekszem körbejárni.

Címkék: blog.hu sql injection xss az olvasó ír postr.hu

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.

theshadow · http://hackstock.blog.hu/ 2010.12.07. 19:24:12

Szépek! Jöhet még több hasonló leírás. Én személy szerint sokat tanulok belőle.