» »

(Ne)nevarni XSS napadi

Slo-Tech - O XSS (Cross-site Scripting) napadih je bilo že veliko povedanega. Še vedno pa jih ogromno uporabnikov in skrbnikov jemlje kakor nenevarne ali pa jih preprosto ignorira. Tovrstne pomankljivosti omogočajo vstavljanje poljubne skriptne kode, masovno se uporabljajo pri izvajanju phishing napadov, kraji piškotkov in ostalih oblikah spletnih prevar. Spretno izvedeni XSS napadi pa se lahko uporabljajo tudi za manipulacijo z informacijami v obliki vstavljanja neavtoriziranih novic v spletne portale medijskih družb. Tudi slovenski spletni prostor ni imun na tovrstne napade...




Spletne strani v nobenem primeru niso bile razobličene, tudi podatki na strežnikih niso bili kompromitirani ali kako drugače modificirani. XSS napadi so namreč tim. <i>client-side</i> ranljivost in omogočajo zgolj spremembo izpisa v uporabnikovem brskalniku, oziroma spremembo prikaza spletne strani pri uporabniku. Obe vpleteni strani sta bili seveda obveščeni o odkritju vrzeli. Pri časopisni hiši DELO so se profesionalno in odgovorno odzvali ter pomankljivost nemudoma odpravili.

Obramba pred XSS napadi je preprosta: filtriranje ali preverjanje vnosnih parametrov. Primarna tarča napadov, torej uporabniki, pa se lahko uspešno zaščitijo z onemogočanjem JavaScript/ActiveScripting ali z uporabo ustreznih vtičnikov, npr. NoScript.

24 komentarjev

Sergio ::

Svaka čast 8-O.
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

NavadniNimda ::

Preverba vnosnih parametrov bo kar prava pot. Resda zahteva nekaj dela - ampak saj preverbo vnosnih parametrov se ITAK izvaja (recimo za prevencijo SQL injection), torej ne bo nek blazen zalogaj.:|

scythe ::

brez besed 8-O 8-O

MrStein ::

uporabniki, pa se lahko uspešno zaščitijo z onemogočanjem JavaScript

Se hecas ? Ce potem 90% strani ne dela ali prav ali ne dela sploh.
Saj sam sem en cas vztrajal brez JS, ampak je vedno manj strani delovalo. Kaj naj ?
Teštiram če delaž - umlaut dela: ä ?

shadow7 ::

Pač se odločiš, ali boš za tisti sajt vklopil java(script), ali samo začasno, ali pustil izklopljenega. Worst case scenario je, da porabiš par sec za (avtomatski) refresh strani.

KoMar- ::

Vida od DURS-a je itak na svoji domeni, tako da se verjetno ne da dostopati do podatkov iz e-davkov...

Phoebus ::

Vida je stala 650.000 eurov.
Zato da odgovarja na vprašanja, koliko je stara, kako visoka je, ter koliko otrok ima.

fiore ::

Se hecas ? Ce potem 90% strani ne dela ali prav ali ne dela sploh.

MrStein:

noscript != no javascript

fora noscripta je da lahko vklapljaš javascript glede na domeno. torej tistim spletnim stranem, ki jih pogosto obiskuješ in veš da ne delajo brez javascripta, ga vklopiš drugje pa je po defaultu izklopljen.
Kubuntu 10.04 (desktop), Ubuntu 10.10 64-bit (laptop), UNE 9.04 (eeePC),
Kubuntu 10.04 64-bit (workstation), Android 2.2 (phone)

KoKi ::

se pravi, ce bi bila DELO sedaj ena mojih redno obiskanih strani in ne bi delala brez JS, sem kaj naredil?
# hackable

fatg ::

XSS napadi so namreč tim. client-side ranljivost in omogočajo zgolj spremembo izpisa v uporabnikovem brskalniku, oziroma spremembo prikaza spletne strani pri uporabniku.

Ja, vidim, da je to pisal nekdo, ki se ful spozna. Kraja piškotkov (in s tem seje) ni nevarna mogoče?

Looooooka ::

ko zves da je bla stran ranljiva je ponavad prepozn za izklpalanje javascripte.
se prav je resitev se zmer samo ena in sicer to da se razvijalci za svoj denar mal bl potrudjo.

R33D3M33R ::

Hm. Torej, če uporabim include('direktorij/'.$_GET['imestrani']), je možno karkoli vriniti?
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:

Primoz ::

To je nekaj najslabšega kar sploh lahko narediš.
There can be no real freedom without the freedom to fail.

Pyr0Beast ::

Hmm, kaj je bilo že nekaj o bluranju podatkov ? :P
Some nanoparticles are more equal than others

Good work: Any notion of sanity and critical thought is off-topic in this place

R33D3M33R ::

Sem ravno preizkusil:

<?php
include('<script>alert(\'Hello World!\');</script>')
?>


In res, skripta se izvede 8-O .

Nikoli nisem uporabljal kaj takega, vendar šele zdaj vem kako nevarno je. Kaka stran s nasveti za izdelavo varne kode bi res prišla prav.
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:

M.B. ::

<?php 
if(!(preg_match("/^[A-Za-z0-9ßëöü,\'.:;|()?!\[\]\-\/\"`+ ]+$/", stripslashes($_POST['nekaj'])))){
                        $status = false;
                    }else{
                        $status = true;
                    }
?>


Da se whitelista naredi, ap vedno ko se pojavi kaki znak ko ni v whitelisti al se error naredi al pa se silent zamenja s praznim.

To bi bilo dovolj?
Everyone started out as a newbie.
Sadly only a handful ever progress past that point.

fatg ::

Matthai ::

Marko Stamcar: Vida od DURS-a je itak na svoji domeni, tako da se verjetno ne da dostopati do podatkov iz e-davkov...

In kaj ima to veze?

"XSS napadi so namreč tim. client-side ranljivost in omogočajo zgolj spremembo izpisa v uporabnikovem brskalniku"

A zdaj razumeš zakaj je tvoj komentar nesmiseln?


Bistveno pri tej stvari je, da je naša država za Vido plačala ogromno. In za ta denar bi morala aplikacija delati tipi-topi.

Draga Vida, res si draga.
Zloraba oblasti, avtokracija in tema nikoli ne pridejo hipoma, vedno je vmesno
obdobje mračenja, ko se dan preveša v noč; biti moramo pozorni opazovalci
okolja in varuhi luči, da ne postanemo nemočni ujetniki teme. --W. Douglas

denial ::

@fatg:
Se motim ali je kraja piškotkov v novici omenjena? Tudi sicer pa kraja piškotkov pri XSS napadih ni pravilo. Vida npr. ne uporablja session-cookijev...
SELECT finger FROM hand WHERE id=3;

Zgodovina sprememb…

  • spremenil: denial ()

Bistri007 ::

Pa kaj ne bi rajši screenshote nalimali v PNG namesto v JPG??? :\ :\ :\

Kje pa ste še videli screenshote v JPG???
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...

MrStein ::

V sporočilih vsakega n00b-a ? ;)
Teštiram če delaž - umlaut dela: ä ?

denial ::

It's a "year" in WordPress. Time to update...
http://chxsecurity.org/advisories/adv-1-mid.txt

SELECT finger FROM hand WHERE id=3;

In Extremis ::

Aren't Cross Site Scripting vulnerabilities lame? All they can do is display annoying popups that say 'xss' in them. Oh, and hijack your HTTP sessions... and detect every website you have visited... and port scan and fingerprint your internal network... and reconfigure your routers... and brute force usernames and passwords... and capture all the words you search Google for. And I almost forgot, they can self propagate too. Wait, maybe XSS isn't so lame after all.

One word to rule them all ..... Jikto!

nubes ::

Marko Stamcar: Vida od DURS-a je itak na svoji domeni, tako da se verjetno ne da dostopati do podatkov iz e-davkov...


In kaj ima to veze?
"XSS napadi so namreč tim. client-side ranljivost in omogočajo zgolj spremembo izpisa v uporabnikovem brskalniku"
A zdaj razumeš zakaj je tvoj komentar nesmiseln?


O tem, da domena ni važna, pa se ne bi ravno strinjal. Lansko leto sem si vzel par ur časa, za to, da sem ugotovil, kako se uporabniku odvzame cookie enega od najbolj razširjenih free mail ponudnikov in si s tem zagotovi (skoraj) trajen dostop do predala, namreč dokler se ne spremeni sama struktura cookija, ki ga server pošilja uporabniku - to pa se dogaja dokaj poredko - in dokler do tega ne pride, uporabniku ne pomaga niti logout, niti sprememba gesla. Niti ni bilo potrebno kaj več kot par ur. Gre za phising, ampak je še kako učinkovit način, uporabniku moramo namreč le podtakniti nedolžen link na našo zlobno stran, ki na videz ne izgleda prav nič grozna, npr. www.našadomena.com.

Klik na link, par redirectov in uporabnik nič hudega sluteč pristane na naši www.našadomena.com, zlobnež pa ima dostop do predala.

Koliko si lahko pri e-davkih pomagamo s cookijem, v primeru, da bi šlo za isto domeno, je druga zgodba, pa vendarle ...

In Matthai, mislim da sem se ravno pri tebi pozanimal lansko leto v ZS, kako je s pravnim vidikom takšnega početja. XSS ranljivost sem kasneje posredoval na podporo v to družbo in je trajalo nekaj mesecev, preden se je nekdo vendarle odločil to odpraviti. Verjamem pa, da je dovolj nekaj ur, da najdem novo, še neodpravljeno xss ranljivost, pri ponudniku z več kot 100 milijoni aktivnih mail predalov po svetu.

Ja pozabil sem dodati, da če je cookie ustvarjen na mail.domena.com in najdemo xss ranljivost na *.domena.com, smo na konju, od tu je namreč dostopen cookie za mail.domena.com.

Zgodovina sprememb…

  • spremenil: nubes ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Inovativen napad: Geolokacija, tudi brez vaše privolitve

Oddelek: Novice / Varnost
345895 (4001) MrStein
»

Petindvajset najnevarnejših programerskih napak

Oddelek: Novice / Omrežja / internet
73204 (1658) noraguta
»

Vzpostavljanje prikritih omrežij s pomočjo XSS ranljivosti in JavaScripta

Oddelek: Novice / Varnost
223775 (2484) MrStein
»

(Ne)nevarni XSS napadi

Oddelek: Novice / Varnost
243566 (2084) nubes
»

XSS - nova (stara) oblika spletnih razobličenj

Oddelek: Novice / Zasebnost
62598 (1966) fiore

Več podobnih tem