Bavi se takhle dva kamaradi:
"Mam novou praci."
"A jakou?"
"Delam admina."
"A kolik ti platej?"
"Zatim nic, oni o tom jeste nevedi!"
Urcite ten vtip poznate. Zda sa vam smiesny? Nuz - zalezi, z ktorej strany barikady sa pozerate. Nedavno som cital tento blog, kde autor odviedol fajn robotu a upozornil na najcastejsie chyby na sk/cz weboch. Po zbeznom citani bugtracku na www.soom.cz som narazil na jeden zaujimavy bug, o ktorom som uz nieco predtym vedel a rozhodol som sa, ze si aj ja overim svoje zrucnosti v praxi. Ale ze zaroven zajdem i trosku dalej ako autor spominaneho blogu, som este netusil.
O co ide?
Jedna sa o Remote File Disclosure, co je nieco ako spätne prevzatie/odkrytie/odhalenie suboru. Myslim, ze prvy referoval o tejto chybe Craig Heffner.
Bug sa nachadza v PHP v upload/download suboroch, ktore neosetruju vstupne udaje premennej vo funkcii readfile(). Ja som sa zameral na subor download.php.
Priklad.: www.stranka.com/download.php?premena=subor.pdf
V spojeni s priaznivou konstelaciou hviezd sa to da zneuzit tak, ze podvrhneme skriptu ako parameter konkretny nazov suboru, ktory sa stiahne namiesto povodneho .doc/.pdf/.xls/apod. suboru. O ktore PHP fajly ide a co treba hladat, nemusim dufam popisovat :). Bol som prekvapeny, kolko webov je nachylnych na tuto chybu.
PRISADY:
1. spravny task
2. stipku vedomosti
3. stipku odvahy
4. trosku drzosti
5. obrovsky kopec stastia...
POSTUP PRIPRAVY:
Do googlu zadame ten spravny task. Prezrieme vysledky a so stipkou vedomosti vytipujeme tie spravne sajty. Dodame si trosku odvahy a so stastim sa mozme dopracovat k webu, ktory tento bug obsahuje a pripadne ho kompromitovat.
Pokial sa vsetko podarilo, podavame s troskou drzosti este teple adminom jednotlivych webov. Ale po jemnych davkach, aby ich neporazilo...
MENU:
Osobne som sa zameral hlavne na sk/cz stranky a podarilo sa mi vylovit vela pristupov do SQL databaz, ftp pristupov a taktiez sa objavili nejake tie ssh konta. Tu su niektore z nich:
www.artemis-webdesign.cz->
Na jednej z ich stranok som ziskal pristup do SQL databazy a ucet/heslo pasovali na ftp. Ked som sa prihlasil, skoro mi zabehlo :)...
Ocitol som sa na serveri, kde bolo hostovanych dalsich cca 50 webov. A to vsetko vdaka chybe na jednom z nich. Verte, ze som sa citil ako boh. Po prvej euforii som sa prihlasil do SQL DB a pozrel do tabulky tvorcu web stranok a nasiel som udaje o adminoch. Hesla mali sice v md5 hashoch, ale mal som fajn moznost otestovat si crack md5. Vybral som si najpodozrivejsi hash a pomocou perl skriptu sa zacal brute-force utok :) A o cca 20 minut som mal heslo jedneho z adminov. Pomocou neho som sa mohol kludne nalogovat na domacu stranku a ... Nie, nic som nerobil, len som popozeral co a ako. Urcite by som ten hash neprelomil, keby to heslo nebolo take jednoduche... Nakoniec este jeden upload PHP-phpinfo na web aby som zistil co a ako...
sql
phpinfo
ftp
sql_admin
web_admin
reakcia adminov: Na mail sa mi ozval p. Marek Sebera, ktory mi oznamil, ze na chybu medzitym prisli aj sami a opravili ju. Zaroven mi slusne podakoval a poprial vela stastia s pisanim tohoto clanku :).
***********************************************
www.beta.cekit.cz->
Podobne som ziskal pristup aj do SQL DB tejto stranky. Nic zaujimave som vsak nenasiel. Tvorcom by som vytkol iba prilis jednoduche heslo do DB.
reakcia adminov: Uplne najrychlejsia reakcia na mail. Za priblizne 20 minut po odoslani sa mi ozval p. Martin Marecek, ktory podakoval a oznamil mi, ze je chyba odstranena uz par dni.
*****************************************
www.canard.cz->
Dalsi kandidat, kde som nemal problem nalogovat sa do SQL DB a pozriet sa trosku blizsie na strukturu. Kedze sa jedna o e-shop, skusil som sa prilogovat na jeden ucet. Uspesne :)
reakcia adminov: Tiez slusna rychlost reakcie (cca 1hod.). Pan Petr Dykast sa slusne podakoval a chybu odstranil. Ozval sa mi takisto p. Pavel Kostolansky, ktory mi ponukol osobitnu zlavu na vybrany tovar, pokial by som mal zaujem :). Nuz to cloveka potesi, ale pre osobny prospech som to nerobil...
***************************************
www.diatryma.cz->
Dalsia firma ktora robi do IT a nakolko mali hesla v plain texte, je to pre nich dost vazne faux-pas... Ostatne je jasne z obrazkov
reakcia adminov: Ozval sa p. Martin Kaspar a uznal, ze som ho "dostal na lopatky" :).
*****************************************
www.kubes.eu->
Stranka hudobneho vydavatelstva, kde takisto nebol problem s konektom do DB. Vytknut mozno hlavne heslo admina v plain texte.
reakcia adminov: Reakcia tiez cca 20 minut. Pan Ladislav Kubes mi poprial vela uspechov a podakoval za spravu. Takisto mi podakoval p. Radovan Moser a chybu odstranil.
*****************************************
www.skh.hazu.sk->
Sportovy klub hasicov hlavneho mesta SK. Tuto stranku robila firma, ktora podobnu chybu urobila aj na inych strankach. Najhorsie na tom je, ze okrem SQL
pristupu nechali autori na webe aj hesla do ftp. Ako mi tvorca stranok neskor napisal, vraj inu moznost nemal, nakolko je web na verejnom hostingu... Nuz, co uz?
reakcia adminov: Ozval sa mi pan Miroslav Psitek, ktory po kratkom vysvetleni rychlo pochopil a chybu ihned odstranil. Podakoval za informaciu o chybe a nezneuzitie dier :)
*********************************************
www.pdsi.ciholding.sk->
Tak isto tvorba toho isteho autora s tymi istymi chybami. FTP aj SQL otvorene a nebol problem prihlasit sa a pripadne poupratovat :).
reakcia adminov: Plati to co som pisal vyssie.
*********************************************
www.ruzsr.sk->
Tak tato stranka stala za to. Nie preto, ze autor a chyby su rovnake... Tie mena co som nasiel v DB! Medialne zname mena (aj s md5 hasmi)... Radsej rychlo logout a prec odtial, hehehe.
reakcia adminov: Detto
***************************
www.staropramen.sk->
No nazdravie!!! Konecne aj nieco na pitie. Nech sa paci, stranka podla mojho gusta. Aspon keby bednu piva poslali :). Autor a chyby - tie iste. Operacny system bol Windows a normalne ma prsty svrbeli, aby som tam neuploadol netcat a neotvoril si cmd.exe na nejakom vysokom porte. Mozno by to islo.
reakcia adminov: Detto
***********************************
A teraz MENU zo ZAHRANICIA (aby ste si nemysleli, ze tam su vsetci super :))
www.thevincentaward.eu->
Holandska stranka stala za to. Hoci som zistil heslo do DB, umoznene bolo prihlasit sa len z localhostu (admini berte si priklad). Blbost co tu vsak vyviedli, ze na rovnaky ucet s heslom sa dalo dostat na ftp. A co to tu nevidim? Pravy, nefalsovany, prazdny cgi-bin adresar. V hlave sa mi rozsvietila velka 100W ziarovka a dostal som napad. Najprv som uploadol phpinfo subor a z neho som vycital, ze system bezi na Linuxe s jadrom 2.6.24.2. Prezrel som si /etc/password nastavenia siete, disky, cpu (skratka cele zelezo) a kto bol kedy naposledy nalogovany (screens neuvadzam). Este maly PHP skriptik a fuk ho do SQL DB. Ale nic zaujimave...
reakcia adminov: Ozval sa mi pan Wouter van Hilst. "The problem is fixed!Thanks again for you email on this subject. It was a 'stupid' mistake from our side". To hovori za vsetko.
***********************************
www.neuendettelsau.eu->
Tato stranka bola taktiez sranda a mala v podstate rovnaky scenar ako holandska. Jednoduchymi cgi sa dalo pozistovat vselico. Stacilo mi zopar vypisov o zeleze, /etc/passwd a pod... (takisto neuvadzam screenshots).
ftp
info
sql
passwd (bol to prvy pokus :))
reakcia adminov: Pan Manfred Onderka sa podakoval a oznamil, ze v Januari menili skripty ale na neuendettelsau.eu akosi zabudli :). Teraz vraj musia prejst vsetko odznova...
****************************************
Povodne som chcel este uviest aj jednu polsku stranku, ale zrejme to maju na salame, nakolko mi neracili ani odpovedat na opakovany mail a chyby doteraz neopravili. Ide v podstate o to iste. SQL ucet fungoval aj na FTP :)
Je mi luto, ze este dve ceske stranky chyby doteraz neopravili, hoci sa mi ozvali na mail a prislubili napravu.
Sajtov s touto chybou som nasiel ozaj neurekom, ale nie vsetci sa mi ozvali. Mojou srdcovkou bola jedna korejska stranka, na ktoru sa dalo dostat cez ssh.
Po "uname -a" som zistil, ze im tam bezi starucky 2.4-kovy kernel. Nevahal som ani chvilocku a uz aj som kompiloval ptrace exploit :). Vsetko prebehlo uspesne a na konci bolo uz len: whoami -> root :)
Bohuzial takisto ako asi dalsich 6 stranok, nikto sa mi neozval a tak som sa rozhodol, ze sem screenshots z tejto veselice nedam. Ostatne menu sa mi zda dostatocne bohate, aby sa koderi, admini a ini citatelia poucili.
LIGHT SQL INJECT DEZERT:
A teraz nieco na odlahcenie. Aj SQL inject sa da este sem tam na weboch najst:
Zamerne som neuvadzal uplne detaily, ale citatelia so stipkou vedomosti o PHP, SQL, atd. urcite vsetko pochopili. Na zaver mi zostava dodat, ze vsetci dotknuti ludia z uvedenych webov, ktori mi odpisali, to zobrali sportovo a v pohode. Ako mi mnohi pisali, nemaju dosah na jednotlive servre a tak si pokarhanie zasluzia aj jednotlivi admini, ktorych laxny pristup, mi umoznil napisat tento clanok :)
|
webhosting by: |
UnlimitedHosting | CustomHosting | FreeWeb.sk |
Comments
Re: Recept na web sajty (ako chuti RFD)
Mozes trocha viac popisat tu chybu? Alebo aspon link na nejaky security advisory. Nie je mi totiz jasne, ci si vyuzil bug PHP alebo len chyby v php skriptoch, ktore si nedostatocne osetrovali vstup.
Co sa tyka download - tak bud ako parameter davam ID do databazy a nie meno suboru (lebo aj tak mam ten download skript viac-menej iba kvoli statistikam, ktore do tej db ulozim) alebo ked davam meno suboru/adresu, tak si k nemu dam aj nejaky hash, teda napr. download.php?dir=/abc&md5("topSecret"."/abc")
Dost ma prekvapili tie screenshoty (hlavne z hostingov). Ono je dost problem najst prijatelnu mieru zabezpecenia (ved hosting so safe_mode a pod. by skoro nikto nechcel), ale cudujem sa ze nemali ani take zakladne veci ako ze zakaznik vidi zoznam vsetkych DB na serveri (MySQL ma parameter aby SHOW DATABASES ukazalo len tie DB, kam ma dany user nejaka prava) alebo ze by default povoluju connect z celeho sveta na ich db server. Taktiez nie je ziadny problem aby ftp bolo v chroot a teda clovek nebrowsoval po cudzich domenach. Horsie to uz je ak by chcel clovek tomu zabranit aj vramci php.
Re: Recept na web sajty (ako chuti RFD)
je to popisane aj v clanku ze nie bug v php ale problem s neosetrenim vstupnych dat pri pouzivani funkcie readfile, napr. relativna moznost uspechu je pri web. kde url pre stiahnutie suboru vypada nasledovne :
http://www.nieco.sk/download.php?file=subor.txt zmenis url tak ze na koniec das index.php, ak vsak berie subory z nejakeho adresara staci zadat ../index.php na koniec :) je x sposobov a zalezi na stasti ci natrafis na take weby
Re: Recept na web sajty (ako chuti RFD)
http://secunia.com/advisories/22973
http://www.frsirt.com/english/advisories/2006/4575
Re: Recept na web sajty (ako chuti RFD)
libi se mi jak je ten Internet propojeny...
nekdo cizi uverejni myslenku/novinku, nekdo dalsi z te myslenky/novinky nekoho jineho udela sluzbu a ten treti pouzije to co uz kazdy vi s googlem a krekuje 1000 webu per day...
skoda ze nejsi z turecka, tam je to narodni sport
--
.::[ optimista je clovek s nedostatkem informaci.. ]::.
Re: Recept na web sajty (ako chuti RFD)
ako sa zda v nasich koncinach vela ludi o tejto chybe nevie (prip. nevedelo). prave preto vznikol tento blog.
add turci-> suhlas. turci su v tom experti :)
Re: Recept na web sajty (ako chuti RFD)
a na čo o tom majú vedieť ľudia ? nestačí aby mali potrebnú dokumentáciu admini ?
_______________________________________________________
smrdíš !
Re: Recept na web sajty (ako chuti RFD)
tych ludi som myslel hlavne adminov...
add smrdis-> neber si tolko do nosa
Re: Recept na web sajty (ako chuti RFD)
no vedelo se, ale neuvadi se zdroj...
--
.::[ optimista je clovek s nedostatkem informaci.. ]::.
Re: Recept na web sajty (ako chuti RFD)
Podareny clanok, a bol som uprimne prekvapeny ako sportovo to admini zobrali, zvlast tu v SR, to nebyva pravidlom :-). Autrovi vdaka za jedinecny prierez krasami webu :-)
kharma
Dobra clanok, uz aby sme tu mali karmu alebo nieco podobne. Admini, prilejte mu vodu...
Re: Recept na web sajty (ako chuti RFD)
Dakujem vsetkym za kladnu kritiku :). Co sa tyka formatu, myslim, ze je jedno, ci je to uverejnene ako clanok, alebo ako blog (aspon pre mna). Podrobnejsie o danej chybe som sa nechcel moc rozpisavat z jednoducheho dovodu... Aby to nemohli jednoducho zneuzit ti, co tomu prd rozumia :). Myslim, ze z toho popisu je aj tak vsetko jasne... Kazdy, kto trosku do problematiky vidi, vie ako, co a kde osetrit.
add "paradajkapaprika": tiez som nasiel zopar kuskov, ktore by stali za to zverejnit, ale kedze clovek je tvor lenivy, neverim, ze admini okrem opravy bugu pomenili aj hesla :)
Re: Recept na web sajty (ako chuti RFD)
fajn clanok. podobnych chyb je na nete ozaj kopa. mne sa napriklad podarilo na jednom nemenovanom webe takto zobrazovat potrebne fajly cez sql injection pomocou funkcie load_file. najviac som sa ale nasmial na plaintext heslach k mailovym kontam typu "paradajkapaprika" a podobne.
Re: Recept na web sajty (ako chuti RFD)
Tak tomuto hovorím kvalitný content, dosť dobré žrádlo človeče. Mimochodom artemis-webdesign je náchylný aj na SQL injection (minimálne v cool-uri implementácii) http://www.artemis-webdesign.cz/technologie/'php
Re: Recept na web sajty (ako chuti RFD)
Toto je priklad vynikajuceho blogpostu. Mozno si to mal postnut ako clanok. Ale naozaj, klobuk dole, tento content proste nema ziadne chyby. Bolo by dobre, keby si popremyslal o viac teoretickom clanku, ktory by obsahoval podrobny popis danej chyby a ako presne sa treba chranit pred jej zneuzitim.
Re: Recept na web sajty (ako chuti RFD)
pridavam sa, uprav to a daj ako clanok.
Re: Recept na web sajty (ako chuti RFD)
nice, som rad ze som podnietil vznik dalsich clankov. ja som tiez ponachadzal vselico, bohuzial nie je tak jednoduche publikovat. mozno sa raz budem moct vyjadrit o dierach niektorych zaujimavych spolocnosti, no momentalne riesim pravne problemy, ktore nevyzeraju najlepsie. dufam, ze sa coskoro podari problemy odstranit a ja budem moct ukazat, ako su na tom banky :)
------------------------------
http://blog.synopsi.com