[ ventura @ 23.08.2001. 21:02 ] @
Sinoc sam se malo zajebavao i nasao sam par rupa u UBB software-u... Koje izmedjuostaloga omogucavaju listing direktorijuma, pisanje/brisanje fileova... ne bih da objavljujem source PERL skripte koja to radi.. iz bezbednosnih razloga (Intelli.co.yu je na UBB-u), ali ko je zainteresovan moze da pogleda www.gamer.co.yu/cgi-bin/ultimate.cgi uglavnom sve je zapanjujuce jednostavno... prva rupcaga se tice file privilegija... i moglo bi da se popravi tako sto ce se svi useri prebaciti u jednu SQL bazu i zastititi tu bazu sifrom... jer ovako bilo ko moze da dobije admin status i da gleda tudje sifre kako god hoce... druga stvar je samo handleovanje provere passworda... naime, UBB koristi cookie sistem koji se da lako prevariti... jedino sto programeri UBB-a nisu predvideli je da neko moze 'rucno' da imeni cookie u win dorektorijumu i da zajebe pass checker... trece je da uz pomoc ubbmics.cgi i pozivanja odredjenih delova koda moze se kompletno prepisivati preko fajlova u file stablu website-a... Ubb cuva korisnicke podatke u fajlovima tipa ..cgi-bin/members/000000012.cgi ... path do members stabla je fixan i on se nalazi u unutrasnjoj konfiguraciji UBB-a, ali se zato korisnicki broj (00000012) se cuva u cookie file-u, i tamo se smesta kada se prvi put ulogujemo... i posle UBB uzima taj broj iz VASEG cookija i upisuje u odgovarajuci file na sistemu... kada se da recimo edit komanda UBB uradi sledece... open ">$membersdir/$usernumber.cgi" posto je $membersdir fixan, recimo /cgi-bin/Members i samo u cookie se doda ../../../public_html/index.html i Index tog sajta ce biti prepisan.. tako da ce ceo edit path izgledati odprilike /cgi-bin/Members/../../../public_html/index.html veoma glupo..ali deluje... ima jos mnogo nacina da se uradi ista stvar... jer je ceo UBB pisa na isti nacin.. i jedino bi resenje bilo prepisati ga skroz... |