#zagadkihakerskie #security #programowanie

Proponuję kolejną zagadkę hakerską, znów na tapetę bierzemy #xss. Pod adresem http://hakerium.cba.pl/zad8/ znajduje się strona z banalną podatnością typu XSS. Wystarczy wpisać dowolny tekst HTML i zostanie on wyświetlony na stronie, np. http://hakerium.cba.pl/zad8/?imie=%3Cscript%3Ealert%281%29%3C/script%3E

Na czym polega więc zagadka, skoro już podałem rozwiązanie? Ano na tym, że pole

imie
jest ograniczone do 30 znaków. A zatem najprostszy

alert(1)
da radę wykonać, ale odrobinę bardziej skomplikowany

alert(document.domain)
już nie: http://hakerium.cba.pl/zad8/?imie=%3Cscript%3Ealert%28document.domain%29%3C/script%3E
@koziolek: @rationalistic: OK, a więc rozwiązanie, o które mi chodziło:

Skorzystamy z tagu iframe i umieścimy XSS-owaną domenę wewnątrz tego iframe'a. Ze względu na same origin policy nie ma możliwości odwoływać się do jakichkolwiek atrybutów strony wewnątrz iframe'a, jeśli ta jest z innej domeny (z kilkoma wyjątkami, m.in.

postMessage
, który tutaj akurat się nie przysłuży). Istnieje jednak pewien atrybut, na który poprzez iframe'a możemy mieć wpływ - jest nim
#security

Opowiem o ciekawym przypadku #xss, który znalazłem ostatnio na #wykop i został już naprawiony. Ciekawy jest dlatego, że nie tak łatwo go wyexploitować... Ale po kolei.

Podatność występowała na niektórych podstronach bezpośrednio w adresach. Gdy w adresie został umieszczony znak cudzysłowia, a następnie nawiasy ostre, można było wyjść z tagu i wprowadzić dowolny kod HTML. Przykład na screenie: http://i.imgur.com/ulCWnvo.png

Może się wydawać: no to jesteśmy w domu, mamy XSS-a! Praktyczne
A.....t - #security



Opowiem o ciekawym przypadku #xss, który znalazłem ostatnio na...
#zagadkihakerskie #programowanie #xss #js #html

Ostatnio rzuciłem kolejne wyzwanie związane z bezpieczeństwem stron internetowych. Strona pod adresem http://hakerium.cba.pl/zad2/ jest podatna na błąd typu Cross-Site Scripting (XSS) i celem zadania było dołączenie pliku z zewnętrznej domeny. Zaproponowałem plik spod adresu http://pastebin.com/raw.php?i=mYM90ckz który po prostu wyświetla alert, ale oczywiście można go dużo bardziej rozwinąć.

Sama strona umożliwiała dodawanie komentarzy o długości co najwyżej 100 znaków. Zacznijmy od analizy jak ta strona działa i dlaczego
Ochrona przed zagrożeniem:

Błąd na tej stronie jest całkiem ciekawy, ponieważ strona enkoduje dane wyjściowe (tj. np. znak

<
jest zamieniany na

<
, a

"
jest zamieniany na

"
). Pomimo tego i tak udaje się znaleźć podatność i wykorzystać błąd. Wynika to z niedostosowania się do pewnych dobrych standardów w HTML-u. W tym przypadku wystarczyło atrybut wartość atrybutu

title
umieścić w cudzysłowach i błędu już by nie było. Wniosek jest