#zagadkihakerskie #security

Co prawda nie jest to news pierwszej świeżości, ale pewnie wielu jeszcze nie słyszało. Jakby ktoś miał ochotę pobawić się w hakowanie nie tylko stron www, ale także normalnych aplikacji na systemy operacyjne (a więc zabawy z eskalacją uprawnień, wyścigi, błędne uprawnienia, buffer overlow, format string, explotiowanie stosu itp.) to zachęcam do zajrzenia na http://exploit-exercises.com/ . Znajdziecie tam kilka maszyn wirtualnych najeżonych błędami wspomnianymi powyżej.

Miłej zabawy :)
#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...
Dotychczas #zagadkihakerskie kręciły się wokół PHP, ew. pewnych smaczków w HTML-u lub SQL. Tym razem proponuję zagadkę hakerską w #python - a więc w znacznie ciekawszym, moim zdaniem, języku progamowania ;). Zagadka jest ciekawa, bo jest oparta na pewnym rzeczywistym przypadku, ale nie jest trywialna.

Pod adresem http://very-testing-aplicarion.appspot.com/ jest zdeployowana bardzo prosta aplikacja, która liczy ile minęło dni od 1 stycznia 2013 do dnia podanego w parametrze. Waszym zadaniem jest wykorzystanie błędu
Mirki, nowa zagadka!

Warunki:

- Odpowiadamy pod tym wpisem, jeśli bierzesz udział w zgadywaniu to daj plusa, żeby inni też zobaczyli

- Odpowiedź zostanie podana o 23

- Nagrodą za dobrą odpowiedź będzie konto premium na wykopie

- Autorzy błędnych odpowiedzi będą musieli na 24h ustawić avatar z goobym

#zagadka #zagadkilingwistyczne #zagadkifilmowe #zagadkihakerskie #zagadkilogiczne

Oto zagadka:
Supercoolljuk2 - Mirki, nowa zagadka!



Warunki:

- Odpowiadamy pod tym wpisem, jeśl...

źródło: comment_z5tE5PnyTIaiabZk3QUZajFbBITojNfP.jpg

Pobierz
#programowanie #zagadkihakerskie #php @sylwke3100

Widząc że @almafater zaniechał kontynuacji swojego cyklu zagadek hakerskich, postanowiłem że zajmę się kontynuacją tego cyklu i będę w przyszłości umieszczał po przynajmniej jednej zagadce na dwa dni.

Zacznijmy od czegoś prostego.

Waszym zadaniem jest umieszczenie swojego nicku w lawie chwały na stronie http://zad1_host2.msurma.net/

Aby to zrobić, należy zalogować się na konto o nazwie "admin", gdy logowanie się powiedzie, to wtedy wyświetli się odpowiedni formularz.

Jeżeli uda wam
Zakladając, że znamy funkcje skrótu serwisu (albo po prostu przelecieć po każdej popularnej funkcji) musimy znaleźć dwie wartości (raczej nie jest to problem), dla których występuje kolizja hashy. Robimy konto z pierwszym hasłem. Następnie próbujemy zalogować się drugim hasłem. Udane logowanie => brak solenia. Czy o to chodzi?
#programowanie #zagadkihakerskie

Wczoraj wrzuciłem zagadkę hakerską, w której należało wejść na stronę podając odpowiednie hasło, mając nawet dostęp do źródła tej strony. W tym wpisie wyjaśnię dokładnie jak należało przeprowadzić "atak" i z czego to wynika.

Zanim przejdę konkretnie do treści zagadki, krótkie wprowadzenie do zachowania PHP w przypadku użycia operatorów

==
lub

!=
do porównywania. Jeżeli z użyciem tych operatorów są porównywane wartości typu

string
, które jednak wyglądają jak liczby
Jako dodatkową ciekawostkę przeciwko operatorowi

==
podam jego nieprzechodniość. Z matematyki wiemy, że jeśli spełniona jest równość a=b i a=c to z tego wynika, że b=c. Czy tak jest zawsze w PHP?

php > var_dump("wykop" == 0);

bool(true)

php > var_dump("wykop" == TRUE);

bool(true)

php > var_dump(0 == TRUE);

bool(false)
#programowanie #zagadkihakerskie

Tym razem do złamania strona pod adresem http://hakerium.cba.pl/zad5/. Wiecie, że na stronie istnieje użytkownik o następujących danych uwierzytelniających:

nazwa: wykopowicz

hasło: 1234wykop

Waszym zadaniem jest zalogowanie się na innego użytkownika w systemie. Od razu powiem, że nie chodzi o atak typu brute-force (nie ma się z takim atakiem co kłopotać).

Zadanie jest raczej dość proste, ale (niestety...) oparte na pewnej rzeczywistej sytuacji.

Powodzenia!
#zagadkihakerskie

Jak słusznie zauważył @MichaS_LwK kilka dni temu, warto do zagadek hakerskich dodać krótką informację jak się bronić. Dlatego do poprzednich zagadek dopisałem krótkie posty z opisem jakie powinno być podejście wraz z linkiem do bardziej konkretnych materiałów na ten temat :)

1. zagadka z SQL Injection

2. zagadka: XSS w title

3. zagadka: usuwanie tagów HTML-owych

4. zagadka: mieszanie HTTP i HTTPS w ramach jednej strony
#programowanie #zagadkihakerskie #ssl

Ostatnio wrzucałem zagadki hakerskie, które polegały na wykorzystaniu błędów w implementacji strony. Tym razem skupimy się na pewnym problemie (w sumie dość powszechnym) od strony koncepcyjnej.

Mamy stronę, która działa zarówno w protokole HTTP jak i HTTPS. HTTPS jest postawiony na stronie tylko do realizacji procesu logowania, cała reszta jest wysyłana przez HTTP.

Na stronie głównej (tej w HTTP), w prawym górnym rogu znajduje się formularz do logowania wyglądający
Skoro całe połączenie nie jest zaszyfrowane to pierwszy request do strony głównej zawierającej formularz logowania można zmodyfikować w złośliwej sieci. Np atakujący stawia proxy które podmienia wszystkie action we wszystkich przesyłanych dokumentach na http://zly-serwer/zbierakdanych.php i wymusza cały ruch http w sieci przez nie.
@AltumVidetur: Tak, właśnie o to chodzi.

Wyjaśnienie:

Pierwsze żądanie idzie w HTTP, ale zawiera formularz z odniesieniem do HTTPS. Ponieważ jednak jest w HTTP - złośliwy użytkownik może w nim podmienić atrybut

action
na taki, który nie będzie zawierał odniesienia do HTTPS tylko HTTP.

Istnieją gotowe skrypty, które coś takiego robią, jak np. sslstrip - on zamienia "https" na "http", dodatkowo może zmienić favikonę na taką samą, tylko zawierającą w sobie
#zagadkihakerskie #programowanie #php #regex

Tym razem nieoryginalna zagadka, z którą być może część z was się spotkała. W dawniejszych czasach w manualu PHP zaproponowano taki kod do usuwania niebezpiecznych elementów z wejścia:

// $document should contain an HTML document.

// This will remove HTML tags, javascript sections

// and white space. It will also convert some

// common HTML entities to their text equivalent.

$search = array ("']*?>.*?'si", // Strip out javascript
#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