United
- Yahoo! again - XSS in Uncategorized (357 Visits)
- Yahoo! again - bad settings? in Uncategorized (252 Visits)
- Fanii nostri in Uncategorized (183 Visits)
- Frustrant in Uncategorized (146 Visits)
- La multi ani România, la multi ani românilor in Uncategorized (137 Visits)
- Weblog.ro - Shell via Local File Inclusion in Uncategorized (119 Visits)
- Yahoo! epic fail - permanent xss unleashed in Uncategorized (50 Visits)
- ... in Uncategorized (38 Visits)
- XSS Ownage - hi5 vs. Yahoo! + video in Uncategorized (2 Visits)
- Ce nu se invata la scoala - Tipuri si tehnici spam/Hi5 (4) in Uncategorized (2 Visits)
- Ce servicii de mail folositi? in (121 Visits)
- Azi este ziua userilor hackersblog.org in (120 Visits)
- De reţinut in (117 Visits)
- Inca o pierdere de timp in (107 Visits)
- De tinut minte in (106 Visits)
- Twitter in (78 Visits)
- Un nou membru in (74 Visits)
- Interviu la Radio Lynx in (70 Visits)
- 2009 in (51 Visits)
- Editori noi. in (35 Visits)
- Ce nu se invata la scoala - Tipuri si tehnici spam/mail (2) in (199 Visits)
- Ce nu se invata la scoala - Tipuri si tehnici spam (1) in (139 Visits)
- Ce nu se invata la scoala - (D)DOS (5) in (104 Visits)
Posted on June 24th, 2009
Cross Site Request Forgery este o tehnica destul de veche si are legatura (dar nu in totalitate) cu Cross Site Scripting, metodele si rezultatele exploatarii fiind de multe ori diferite fata de cele din cazul XSS. CSRF poate fi folosit in diferite scopuri, unele rauvoitoare sau utile, altele pur si simplu amuzante sau enervante. Eu va voi explica doar cateva metode deja arhicunoscute.
Lectie basic
<img> tag nu reprezinta doar o modalitate de a include imagini, ci poate fi extrem de util cand vrem sa executam (mai mult sau mai putin limitat) anumite scripturi. Mai tineti minte metoda prezentata in cazul ro-online.ro? Acum vom face exact acelasi lucru cu Yahoo! dar cu un rezultat diferit.
Categoria “enervant” .
Daca vrem sa ne delogam de pe contul Yahoo! accesam (dupa un mic redirect), linkul https://login.yahoo.com/config/login?logout=1. Cum putem face acelasi lucru automat cuiva fara a mai fi necesara contributia persoanei respective? Simplu. Ii trimitem in mail un mesaj html ce contine acel link in <img> tag.
Adica asa <img src=https://login.yahoo.com/config/login?logout=1>.
Persoana targetata va fi delogata automat dupa ce va citi mesajul html.
La fel se poate proceda in cazul oricarui site ce permite inserarea imaginilor din surse externe fara a verifica in prealabil daca este vorba intr-adevar de o imagine. Pe un forum spre exemplu in marea majoritate a cazurilor se foloseste BBCode. Simpla diferenta in cazul BBCode este faptul ca tagurile pe care le introducem pentru a afisa o poza vor arata cam asa:
[img]http://site.com/image.jpg[/img]
iar pentru a deloga un user vom folosi
[img]http://site.com/logout.php[/img]
Totusi de retinut ca de ceva timp multe din aceste forumuri filtreaza cu succes astfel de “atacuri”, unele verificand daca este vorba de o imagine reala, altele generand un token unic si necesar pentru fiecare utilizator, token ce nu poate fi aflat (de la caz la caz) de catre o alta persoana. Exemplul cel mai bun de site ce foloseste token-uri este twitter.com.
In categoria utile vorbim in general de voturi. Eu cam asa vad situatia, poate ma insel, poate nu. Cel mai bun exemplu este articolul despre site-ul teapa ro-online.ro. In schimb acum voi da ca exemplu jocul Bitefight si metodele pe care le-am folosit eu pentru a capata “muscaturi”.
O muscatura pe Bitefight inseamna castig in aur. O chestie care cica e utila in joc pentru ca aurul iti permite sa iti upgradezi caracterul.
Pentru a capata o muscatura trebuie sa ti se acceseze linkul personal. Linkul arata cam asa http://s7.bitefight.ro/c.php?uid=17645, singura diferenta de la jucator la jucator fiind doar numarul din valoarea uid=.
Ce am facut? La inceput m-am folosit de reteaua 3xforum.ro pentru ca permitea adaugarea de imagini externe fara a verifica linkul. Mi-am facut cont pe cel mai mare forum din reteaua lor, mi-am pus la semnatura linkul folosind BBCode si am inceput sa postez. 5-10 posturi pe saptamana in topicurile cele mai vizitate imi aduceau mii de muscaturi pe Bitefight. Toti cei care vizitau pagina unde postasem eu imi generau automat o muscatura.
In timp nu a mai functionat smecheria si am zis sa fac acelasi lucru pe hi5. Acolo m-am lovit de o asa zisa restrictie care nu imi permitea sa postez linkul respectiv in <img> tag. S-a rezolvat in 2 minute punand la sfarsitul linkului extensia .jpg. Linkul meu arata acum asa:
<img src=”http://s7.bitefight.ro/c.php?uid=17645 .jpg”>
Si da, se executa sub forma asta.
Mai exista si alte metode extrem de folositoare si la indemana oricui pentru a genera astfel de voturi dar momentan nu voi da mai multe detalii.
Partea amuzanta poate fi considerata in acelasi timp si enervanta de catre persoanele afectate. Acum voi vorbi despre minunatul Hi5.com.
In urma cu ceva timp am descoperit o serie de vulnerabilitati XSS si CSRF in hi5. Pot sa zic ca au fost in jur 10 XSS-uri permanente pe care le-am gasit impreuna cu Kenpachi in sistemul lor si care si-au facut treaba la timpul respectiv
.
CSRF-uri inca sunt cu nemiluita si azi va voi arata cateva extrem de simple. Pentru cei interesati de vechile scapari ale hi5 pot citi mai multe informatii la adresa http://hackpedia.info/viewtopic.php?f=21&t=4661 (ignorati mesajul final al postului meu). Ceea ce vedeti acolo nu mai functioneaza din momentul in care am facut acel articol (a iesit o nebunie totala), dar pentru schimbarea limbii am gasit o noua metoda ce inca da rezultate.
Acum ca exemplu vom folosi introducerea automata pe profile a aplicatiilor din reteaua interna a hi5. Eu ii spun japca, voi ii puteti spune cum vreti. Puteti testa daca doriti pentru ca nu e ilegal
Adaugati in profilul vostru la rubrica About urmatoarele:
<img src=”http://hi5.com/friend/apps/entry/www.seafight.com/hi5.php?view=preview&from=gallery& .jpg” />
Cele doua tag-uri vor include automat acele aplicatii pe profilele celor care va viziteaza si sunt logati pe conturile lor. Lista intreaga de aplicatii o gasiti la adresa http://hi5.com/friend/apps/gallery.do. De acolo luati linkurile catre acele aplicatii si le introduceti in tagurile de imagini, folosind extensia .jpg la sfarsit.
La ce ajuta sa facem asta pe hi5? Daca aveti 13 ani si vreti sa va dati mari si tari in fata prietenilor o sa considerati ca e folositor ce am scris in articol. Pentru oamenii cu ceva minte e doar un exemplu amuzant.
Acum trecem la partea finala, cea care poate provoca pagube.
Sa spunem ca un forum contine anumite topicuri ce am vrea sa dispara dar adminul nu vrea sa le stearga. Daca stim care este structura forumului si modul in care functioneaza pe partea de administrare putem sa ducem la bun sfarsit atacul fara ca cineva sa isi dea seama imediat.
Ca simplu exemplu dam http://site.com/forum.
Topicurile sunt sub forma http:// site.com/forum.php?topic_id=1000.
Pentru stergerea topicului adminul trebuie sa acceseze linkul http:// site.com/forum.php?del_topic=1000.
Ce trebuie facut? Implementam undeva pe forum tag-ul <img src=”http:// site.com/forum.php?del_topic=1000″> (probabil sub forma de BBCode) si asteptam ca adminul sa acceseze pagina respectiva si automat sa stearga topicul. In cazul in care nu se poate injecta html pe forum se poate folosi o pagina externa si apoi se posteaza un link (cat mai atragator) catre aceasta.
In cazul browserelor de ultima generatie se pastreaza sesiunea activa chiar daca este deschis un link in alta pagina asa ca sunt sanse foarte mari de reusita.
De retinut ca acesta e doar un exemplu si ca majoritatea cms-urilor din ziua de azi nu permit astfel de metode, singura optiune ce mai poate fi aplicata din cand in cand fiind folosirea XMLHttpRequest pentru a forta browserul sa trimita POST content. Prin metoda asta am reusit sa schimb descrierea a cateva sute de useri pe Bitefight.ro si sa le activez optiunea de stergere a contului.
Ceea ce am scris in acest articol este foarte basic si Cross Site Request Forgery NU INSEAMNA numai adaugarea linkurilor in taguri de imagine.
Have fun
June 24th, 2009 at 6:11 am
Frumos
Foarte bine gandit …imi place ultima parte cu stergerea topicurilor de pe forumuri
)
June 24th, 2009 at 9:31 am
Interesant.
June 24th, 2009 at 8:19 pm
imi puteti da va rog frumos un site de tipul: http://site.com/logout.php ?
ms
June 24th, 2009 at 9:21 pm
btw, https://login.yahoo.com/config/login?logout=1 nu da pe nimeni jos de pe mess.. am incercat.
June 24th, 2009 at 9:26 pm
https://login.yahoo.com/config/login?logout=1 tre’ sa fie neaparat in tag-ul ala?
June 24th, 2009 at 10:23 pm
E vorba de partea web (mail spre exemplu) nu de messenger.
June 24th, 2009 at 11:49 pm
Excelent, bine punctat. Iar faza cu img-ul pe hi5.com ca trebuie sa se termine in .jpg e jenibila rau de tot.
))))))
June 25th, 2009 at 3:28 pm
Geniala ideea cu tagul img. Tocmai ma deranjau niste posturi de pe un forum.
)
June 27th, 2009 at 7:56 pm
nemesis2081 are vreo legatura cu tine ? (2fingers)
June 28th, 2009 at 2:14 pm
2fingers … ma poti ajuta cu acea metoda care da commenturi pe Hi5 automat ? sa nu` le dau manual…
sau ai scris undeva despre chestia asta ?
Ms.
June 28th, 2009 at 3:12 pm
La faza cu voturile si bagat link in img o varianta putin mai complicata, dar cu rezultate sigure este:
- aveti nevoie de un server unde aveti .htaccess;
- se introduce in .htaccess:
RewriteEngine on
RewriteRule image.jpg http://server.com/parametrii/link [R=301,L]
pe server nu este nevoie sa existe image.jpg, dar cand cineva acceseaza va fi redirectionat unde doriti, iar cum imaginile se incarca o data cu pagina, acel link este auto-apelat.
June 29th, 2009 at 8:29 am
@darkyndy ce legatura are csrf-ul cu redirect folosind .htaccess, asa ai putea sa faci redirect la o eroare 404,etc
June 30th, 2009 at 6:21 pm
ok deci partea de pe forum cu [img]link[/img] la semnatura nu merge
. am incercat la un thread cu pestet 12 k vizualizari si pana acum nici macar nu s-a miscat cifra.
July 4th, 2009 at 4:52 pm
E destul sa pun codu asta: pe profilu de Hi5…dau EDIT la About Me si-l pun acolo…si o sa functioneze ? nu mai trebuie nimic pe langa ?
July 4th, 2009 at 4:53 pm
July 6th, 2009 at 10:57 am
Multe site-uri ofera “cadoul” de posta si filmulete flash de pe alte servere…
July 8th, 2009 at 11:16 am
Teoretic chestia asta cu img n-ar trebui sa mearga de minune la avataruri sau la semnaturi pe forumuri?
Daca da… cum ar trebui scris, ca eu am incercat dar degeaba
July 8th, 2009 at 7:17 pm
+ ca da, am incercat si sa il pun (linkul) la comentarii pe hi5, si vad ca n-am absolut niciun vot de acolo. (cred ca adunat aveau vreo 50.000 de prieteni aia pe hi5)
October 29th, 2009 at 12:38 pm
Nu merge faza cu yahoo mail. S-o fi schimbat linku de logout? Sau poate fac eu ceva gresit. Poate cineva sa puna cap coada codul html?
January 15th, 2010 at 8:54 pm
d3e ce cand vreau sa intru pe ceva legat de hi5 zice k nu pot sa accesez aceea pagina?
January 15th, 2010 at 8:59 pm
imi spune si mie cineva?