Showing posts with label firefox. Show all posts
Showing posts with label firefox. Show all posts

Monday, May 20, 2013

Fedora 18, WebEx, Java and sound...

I just tried to use WebEx in order to participate in a conference and I was unable to do so. There are a lot of different pages on the Internet that show you what to do. In the end, everything boils down to the fact that WebEx doesn't support 64-bit versions of Linux so all the solutions actually describe how to install 32 bit version of Firefox and Java. Some of those recipes uninstall 64-bit versions of Firefox/Java, some install them in addition to the existing ones. I think the second approach is better, and here is an example of the latter approach.  Note that there isn't problem with sound in Java thanks to the transparent support of ALSA applications by PulseAudio so there is no need to do something like this.

What I found by reading all the recipes is that they assume two things that might catch you:
  1. Sun's Java is installed somewhere in the /opt directory. In case you used RPM archive, it will be in /usr/java.
  2. People hardcode Java versions, e.g. 1.6.0_21. I don't know why they don't use /usr/java/latest or /usr/java/default because those are valid links on all installations.
In the end I gave up on trying to make WebEx work. Maybe I'll return to it some day and then I'll extend this post...



Saturday, April 28, 2012

Vrlo zanimljiv slučaj u vezi sigurnosti korisnika...

Dakle, desio se jedan vrlo zanimljiv slučaj u kojemu je nešto napravljeno kako bi se korisnici zaštitili a korisnici su optužili krivu tvrtku. Istovremeno, Microsoft nije ništa napravio i u očima korisnika on je bolji, iako je te iste korisnike ostavio na cjedilu!? Zvuči zanimljivo, zar ne?

Dakle, da opišem malo konkretnije što se desilo, samo što ću naravno izbaciti iz priče konkretna imena kako bi zaštitio nedužne (tj. sebe :)).

Dakle, u Oracleovoj Java implementaciji otkriven je ozbiljan propust koji omogućava vrlo jednostavno kompromitiranje računala. Iz tog razloga Mozilla je odlučila onemogućiti Java podršku u Firefox pregledniku. Ako se pitati zašto, odgovor je zato što preglednik ne može forsirati korisnika da nadogradi Java okruženje. Ono što može je spriječiti korisnika da koristi Java Applete dok dotični ne nadogradi Javu.

Međutim, što korisnici znaju o Java programskom okruženju. To je retoričko pitanje jer odgovor je jasan kao dan i glasi: ništa! Ono što oni znaju je da koriste aplikaciju od Jedne tvrtke (TM) - primjetite veliko početno slovo. Ali ne znaju da ta aplikacija ovisi o Javi. U biti, još ljepše je što ti dijelovi koji ovise o Javi nisu nastali unutar Jedne tvrtke, već su kupljeni od Druge tvrtke (TM) - opet, primjetite veliko početno slovo. Uglavnom, aplikacija na Firefox pregledniku odjednom ne radi i eto hrpe gnjevnih korisnika koji optužuju Jednu tvrtku. Međutim, Druga tvrtka nije samo Jednoj tvrtki prodala svoje Java rješenje, prodala je i trećim tvrtkama. Pratite me? :) Ali tim trećim tvrtkama i dalje aplikacije rade, a rade zato što oni svojim klijentima kažu da koriste Internet Explorer koji bez ikakvih problema izvršava ranjivo Java okruženje.

Uglavnom, rezultat su gnjevni korisnici Jedne tvrtke koji su istovremeno zaštićeni, i sretni korisnici trećih tvrtki koje nije briga za vlastite korisnike i koji su ranjivi, a vjerojatno dobar dio njih i zaražen na neki način. Zanimljivo, zar ne. :)

A naravno, tu je i Druga tvrtka koja da iole malo drži do svojih korisnika, direktnih i indirektnih, dobro bi razmislila može li eliminirati Java programski jezik iz svojih proizvoda. U biti ne samo to, ta tvrtka bi obavijestila svoje klijente o navedenom propustu. Ali Drugu tvrtku brine samo profit, moguće i da je nekompetentna (u to neću ulaziti sada) i rezultat je jedan veliki krš i lom!

Tuesday, March 13, 2012

Downloading a password protected file from a Web page using wget...

Today I was downloading some stuff from Web, and the download speeds were unbelievably slow (i.e. criminally slow)! The most I got was somewhere around few kilobytes per second. So, it's no wonder then that they lasted for a very long time, and some of them were reported as being finished, while actually only a part of the file was downloaded. To make things even more strange, ping reported RTT times that were within usual range of values when download speeds were much higher! Anyway, I didn't have a slightest clue what was happening. Usually, in those, cases, I use wget (or curl) to fetch a file, as they are more easily controlled and have much more features that the download mechanism embedded within Firefox. The problem was that, to access those files, I had to login and the login process isn't implemented using regular HTTP mechanism, but it's part of the Web application. Needless to say, wget (nor curl) don't know how to handle this situation.

The first thing that occurred to me is that wget supports loading of cookies from Firefox browser. So, I looked into wget manual page, and there it is an option --load-cookies. The only problem is that this option expect cookies to be stored in the old textual format, while Firefox starting from version 3 uses SQLite database. So, quick googling reveled several pages, of which I looked at this one. In short, that guy wrote a shell script that exports SQLite database into text file with a format expected by wget command. But reading comments, I found even better solution! It is a plugin called cliget. When you install this plugin it attaches itself to download dialog where it shows a wget command line you can use to download selected file from a terminal window. I tried it and it works great! So that solved my problems.

Tuesday, December 20, 2011

List all tabs across all windows in Firefox...

I have a lot of windows opened at the same time, and in each window there are many tabs. This makes it a nightmare to find a specific tab; you have to go window by window, and tab by tab. So, I just spent half an hour, maybe more, searching for a way to list all tabs that are opened in all windows. It turns out that there is not much information. In majority of cases you'll find news and tips on how to see all tabs in a single window (that one is easy) but not much than that. I also found a post how to do it in Safari, but not in Firefox. Finally, I came across this post in which poster is looking for a way to search all tabs in all windows. One of the responders mentioned a plugin called Tabhunter, which did the trick. So, to make this particular problem more visible in Google searches, I'm writing this post.

Thursday, November 3, 2011

Using multiple instances of Firefox...

Firefox has a great feature called Profiles. You can use them to have multiple instances of a browser. If you wonder why would you use something like that, here are few reasons:
  • you might want to separate professional from private browsing, or to have development or hacking environment distinctive from "usual" environment.
  • you might want to try out some new plugin without messing up your existing profiles.
  • you have large number of installed plugins that considerably slow down the browser, or can even make it unresponsive, so you want to group them in different instances.
When you start the browser by running firefox command, either from command line or from GUI launcher, it will find existing running instance of browser and activate it. So, in order to be able to run new instance you have to use command line option --no-remote. Also, to select other than default profile, use -P option. In case you don't give an argument to this option the firefox will start with profile selection dialog. In this dialog you'll be able to select profile that should be run, but you can also create new profiles and delete existing ones.

For the end, I mentioned in the introduction that in different profiles I use different plugins. But NoScript plugin I use in every instance as I regard it one of the most important security additions to the browser. I strongly recommend that you install this plugin too!

Tuesday, October 18, 2011

How to resume download in Firefox...

I started a large download in Firefox and it turned out to be very slow. Since I was downloading from Oracle, I was probably given "wrong" mirror to download from. So, I was thinking about stopping this particular download and resuming later but I didn't want to lose what I already had. The problem was that it seemd that the Firefox doesn't support that particular scenario, at least not without some fiddling with files.

Anyway, I found a tip on the Internet how to resume broken downloads which helped me manage this particular case. The algorithm is simple, first, go to the directory where partially downloaded files are and move them to some temporary location. Note that there are actually two files per download. One with the "right" name and the other with ".part" extension. Next, start download as usual, then, pause it immediately after download starts. It's important to pause it, not stop. Now, move saved files back to the download directory, overwriting existing files, and resume download. And that's it!

There is just one thing to note. In case you want to stop downloading and resume it later, don't press 'stop' button because it will remove everything that's partially downloaded. Use pause button instead.

Sunday, September 25, 2011

Privatnost na Internetu - Uvod i osnove

Ponukan postovima ovakvog tipa odlučio sam početi pisati malo i o zaštiti privatnosti na Internetu i to na hrvatskom jeziku te što je moguće razumljivije ljudima kojima Internet nije struka. Naime postova na engleskom jeziku ima mnoštvo, ali mislim da ih je na hrvatskom puno manje, ako ih uopće i ima. Prvenstveno namjera mi je objasniti načine na koje se ljude može pratiti dok surfaju, iako ću se dotaknuti i drugih aktivnosti i tema. Primjerice, jedna od stvari koju bi volio pokazati su tragovi koji ostaju kao rezultat Vaše upotrebe računala, a koji omogućavaju drugim korisnicima da otkriju što ste radili. Naravno da u hodu namjeravam dati i nekakve upute kako zaštiti svoju privatnost.

Odmah da raščistimo, ovaj post nije poziv za paniku ili bilo što slično tome. Naime, veliki sustavi koji nas prate prate istovremeno i ogromnu količinu drugih korisnika i samim tim na neki način smo zaštićeni jednostavnim pravilom mase (da ne kažem krda ili jata, koji su prirodnih mehanizam zaštite od predatora). Međutim, stvari se mijenjaju ukoliko nas netko "uzme na pik". U tom slučaju taj netko specifično prati baš naše aktivnosti i onda stvari postaju dosta opasnije.

Jedna napomena vezana uz ove tekstove. Naime, ja koristim Linux te nemam Windows operacijski sustav na računalu. To znači da u određenim situacijama neću moći demonstrirati neke stvari, ili da ću to napraviti u kasnijim postovima, kada uspijem doći do nekog Windows računala da provjerim kako se to tamo postiže. Također, primjeri vezani uz preglednike bit će orijentirani prvenstveno na Firefox (koji najviše koristim) i dijelom na Chrome. Internet Explorer ću jako rijetko spominjati.

I prije nego što krenem s objašnjenjima, ako nešto što sam spomenuo ili objasnio bi htjeli da detaljnije objasnim ostavite mi komentar.

Osnovni mehanizmi praćenja

Počet ću s pitanjem koji su osnovni načini praćenja korisnika. Jako je bitno da razjasnimo te mehanizme prije nego što počnemo s ostalim detaljima budući da većina "problema" u stvari nastaje zbog njih. Dakle, dva su primarna mehanizma za praćenje korisnika, prvi su kolačići (engl. cookies) a drugi su IP adrese. S obzirom da su IP adrese jednostavnije i manje robusne, krenut ću s njima, a onda ću se detaljnije pozabaviti kolačićima.

IP adrese

IP adrese su rudimentarniji način praćenja korisnika iako danas ne baš pretjerano robustan. IP adresu mora imati svako računalo koje se spaja na Internet pa ga tako ima i vaše računalo. Međutim, zbog nekih dodatnih mehanizama (NAT) više računala dijeli IP adresu, bilo istovremeno, bilo slijedno u vremenu. Iz tog razloga IP adresa nije pouzdan mehanizam iako se povremeno koristi. Dva primjera situacija u kojima se koristi ovaj mehanizam:
  1. Ako ste išli na Web stranice koje vam omogućavaju skidanje raznih datoteka (uploading.com, filesonic.com, depositfiles.com i slični). Onda vas oni prate po IP adresama te oni po jednoj IP adresi omogućavaju skidanje samo određenog, ograničenog, broja datoteka.
  2. Kada se registrirate na neke Web stranice (primjerice igre) onda na temelju IP adrese ograničavaju koliko puta se možete registrirati. Dakle, ovo je odgovor ako ste se pitali kako to Web poslužitelj na drugoj strani zna da ste se već registrirali.
Kao što sam rekao, ovo je prilično jednostavan i ne baš robusan mehanizam te ga je vrlo lako zaobići, bar ako koristite ADSL ili UMTS. Sve što trebate napraviti je prekinuti i ponovo uspostaviti vezu (ili ugasiti i upaliti ruter) i dobit ćete novu adresu! Uostalom, na ADSL-u ionako T-Com i ostali telekomi jednom dnevno vam promijene adresu kako bi vas onemogućili da imate svoj vlastiti Web/mail poslužitelj.

Kolačići

Kolačići su vrlo bitni mehanizam koji u biti omogućava današnji Web. Taj mehanizam sastavni je dio Web poslužitelja i Web preglednike (Firefox, Opera, Internet Explorer, Chrome, ...). Kolačići su izmišljeni kako bi prevladali jedan temeljni problem Weba te omogućili rad različitih aplikacija koje se danas koriste. Primjerice, da njih nema ne bi bilo Amazona, eBay-a, GMaila i niza drugih.

Naime, Web kako je prvotno zamišljen, je bio takav da nije bilo baš nikakvog načina da se povežu dva učitavanja stranice od jednog korisnika. Drugim riječima, ako otvorite neku stranicu, ulogirate se tamo te potom ponovo otvorite tu istu stranicu, u originalnom protokolu odnosno kako je Web originalno napravljen nema načina da Web poslužitelj zna da ste vi korisnik koji ste se maloprije prijavili. I baš zato služe kolačići! Kada se ulogirate Web poslužitelj vašem pregledniku predaje kolačić i preglednik od tog trenutka na dalje pri svakom pristupu tom poslužitelju šalje taj isti kolačić.

Sad se mogu postaviti dva pitanja u vezi kolačića:

P1: Ako se ja ulogiram, dobijem kolačić i onda mi netko preotme taj kolačić, taj netko se onda može pretvarati da sam ja i napakostiti mi?"
P2: Kada odem na drugi poslužitelj on će dobiti i moje kolačiće koji ne pripadaju njemu i može napraviti što god želi!?

Na ova dva pitanja bolje je odgovoriti odjednom. Naime, doista kolačići jesu izuzetno bitni i ako ukradete nekome korisniku kolačić, efektivno možete se predstavljati da ste on! No, zbog toga je uveden niz zaštitnih mehanizama čija zadaća je zaštita kolačića. Za početak, kolačić je vezan uz Web poslužitelj i preglednik će dati kolačić samo onome poslužitelju koji mu je kolačić i dao (s time je odgovoreno na drugo pitanje). Nadalje, kolačići uglavnom imaju i ograničeno trajanje, bilo vremenski ili dok je preglednik uključen. Zatim, kolačići se štite tijekom prijenosa preko mreže tako da ih nitko ne može vidjeti, i ukrasti. Kao još jedna mjera zaštite može se vezati kolačić uz IP adresu.

Naravno da su stvari idealne ne bi bilo problema, ali nisu. Neki poslužitelji nisu dobro podešeni, ili koriste loše aplikacije, i dovode svoje korisnike u opasnost. O tome ćemo još pričati.

Dakle, da sada objasnim funkcioniraju kolačići tijekom logiranja (na pojednostavljenom primjeru GMail-a):
  1. Vaš preglednik se spoji na poslužitelj.
  2. Poslužitelj vam daje kolačić i šalje stranicu koja traži da upišete korisničko ime i lozinku.
  3. Preglednik od vas uzima korisničko ime i lozinku (dakle, vi mu to ukucavate).
  4. Preglednik šalje korisničko ime, lozinku i kolačić poslužitelju.
  5. Poslužitelj provjerava korisničko ime i lozinku i ako su ispravni kolačić povezuje s vama u svojoj bazi podataka, potom šalje odgovor da ste uspješno logirani.
  6. Vi kliknete na neku poruku elektroničke pošte. Preglednik šalje identifikator poruke i kolačić.
  7. Poslužitelj prihvaća identifikator i provjerava da li kolačić pripada vama, tj. da li ste logirani. Ako jeste, šalje nazad sadržaj poruke te ju možete vidjeti.
Ako nakon koraka 5 obrišete kolačić, preglednik će poslati samo identifikator poruke, bez kolačića. Na to će poslužitelj vidjeti da poruka pripada nekom korisniku a vas ne pozna (jer niste mu predočili kolačić) i odbit će prikaz poruke!

Dosta teorije, idemo malo na praksu...

Praksa

IP adrese

Dosta smo pričali o IP adresama i kolačićima, vrijeme je da ih i vidimo!

Što se tiče IP adresa, da bi ste vidjeli koju IP adresu trenutno koristite kada surfate po Internetu, posjetite ovu stranicu! Obratite pozornost na liniju IP information. Odmah u nastavku su četri broja i ta četri broja su IP adresa koju trenutno koristite. Pokušajte sada eksperiment da bi vidjeli kako se adresa mijenja. Isključite i uključite ADSL ruter (ili prekinite i uspostavite ponovo UMTS vezu) te ponovo odite na navedenu stranicu. Primjetit ćete da je sada broj drugačiji! To je razlog zašto IP adresa nije baš dobra za praćenje korisnika, ali svakako ima svog potencijala. Primjerice, na navedenoj stranici također vidite da ste  relativno dobro locirani, do nivoa grada.

Međutim, IP adrese imaju još jednu manu u slučaju da koristite ADSL. Naime, ako imate više uređaja spojenih na ADSL ruter (stolno računalo i prijenosno računalo, pametni telefon) i na svakome od njih odete na navedenu stranicu uvijek će pokazivati istu IP adresu! Pa je pitanje, a kako vas razlikuju kada vam poslužitelji šalju odgovor.

Za ovo postoji analogija, ne baš najbolja, ali relativno dobra. Naime, to je isto kao kada u kući ima više osoba. Svi ukućani imaju istu poštansku adresu, ali tek kada poruka stigne u kuću onda se raspoređuje onome kome je namijenjena. Za tu raspodjelu koristi se ime osobe. U slučaju interneta, onaj koji raspoređuje unutar kuće promet je ADSL ruter, on zna kome što treba poslati. A to zna tako što svakome ukućanu daje posebnu IP adresu! Zavrzlama, jel'? :) Opet nekakva adresa!? Međutim, ta interna adresa vidljiva je samo ruteru i unutar kuće, ali ne i za sve ostale vani! O tome ću još poslije, ali bitno je za zapamtiti da ako jedan ukućan ide na neke stranice, poslužitelj izvana ne zna koji je to ukućan, to zna samo ADSL ruter. I to je još jedan razlog zašto IP adrese nisu dobre za praćenje korisnika.

Kolačići

Želite li vidjeti kolačiće, to je jednostavno. U Firofox pregledniku, kliknite na Edit, potom na Preferences i tamo na Privacy (radi u engleskoj verziji 6.0.2). Na stranici ćete potom vidjeti link remove individual cookies. Kliknite na taj link. Ono što se dešava je da vam se otvara prozorčić unutar kojega su izlistani svi kolačići koje pregledik ima trenutno pohranjene. Prvo što ćete primjetiti je da su grupirani po domeni, a drugo da imate kolačiće i od domena koje dugo niste posjetili ili niste trenutno na tim stranicama! To je zato što se kolačići mogu dosta dugo čuvati i to različite stranice koriste kako bi vas pratile. U donjem dijelu prozora vidjet ćete detalje kada kliknete na neki kolačić. Evo slike, pa ću na njoj objasniti detaljnije:



U ovom slučaju selektiran je kolačić koji sam dobio od poslužitelja unutar bing.com domene. Nadalje, taj kolačić traje sve do 19.8.2013!!! Dakle, dvije godine od sada. U svakom slučaju, vidi se da praćenjem kolačića može se pratiti koje sam sve domene posjećivao.

Sada možete napraviti ekspriment u kojem možete vidjeti da kada se ulogirate dobijate kolačić putem kojega vas poslužitelj prepoznaje. I to ćemo napraviti na primjeru gmail-a. Dakle, otvorite gmail.com i ulogirajte se na svoj GMail korisnički račun. Potom, zatvorite prozor u kojemu je otvoren GMail. Za test, otvorite novi prozor i upišite adresu gmail.com. Ono što će se desiti je da će se automatski otvoriti vaš popis pošte i neće vas se tražiti da se ulogirate! To je zato što je zapamćen kolačić koji vam to omogućava.

Sada, otvorite popis kolačića i potražite kolačić koji pripada domeni account.google.com. To napravite tako da u polje Search upišete account.google.com i pritisnete enter. Odaberite sve kolačiće i obrišite ih (tipa Remove Cookies) te ponovo otvorite novi prozor i upišite gmail.com. Ovaj puta će vas tražiti da se ulogirate! Ukratko, uklonili ste kolačić i poslužitelj vas nije mogao povezati s prethodnim posjetom.

Eto, toliko za sada... valjda nije bilo previše. U nastavku ćemo još  to produbiti, a i vidjeti druge mehanizme kako Vas se sve prati.

About Me

scientist, consultant, security specialist, networking guy, system administrator, philosopher ;)

Blog Archive