9:42
6/7/2010

XSSer to darmowe narzędzie automatyzujące ataki XSS i pozwalające sprawdzić, czy dana webaplikacja jest odporna na setki różnych technik wstrzyknięcia kodu. Poniżej zaprezentuję jego przykładowe użycie.

XSSer pomaga znaleźć XSS

XSSer został napisany w Pythonie. Skryptowi przekazujemy w zasadzie tylko adres strony, którą chcemy przetestować pod kątem ataków XSS.

XSS-er w akcji

Dodatkowe opcje pozwalają na skorzystanie z kilku technik kodowania payloadu, co może pomóc w wyskoczeniu poza najczęściej stosowane przez programistów filtry i metody walidacji danych wejściowych.

Możliwości kodowania payloadu XSS

Xsser świetnie automatyzuje sprawdzanie webaplikacji pod kątem ataków XSS — można nakarmić go URL-ami z pliku tekstowego. Skrypt ma także własny, wbudowany Fuzzer ale jego nazwa i możliwości są trochę mylące, bo tak tak naprawdę fuzzerem jest zdefiniowany już plik, zawierający kilkadziesiąt popularnych payloadów.

XSSer i parametry połączenia HTTP

XSS-er pozwala na ustawienie na czas testowania webaplikacji odpowiedniego ciastka, nagłówka, serwera proxy oraz innych parametrów dotyczącyh połączenia HTTP (m.in. wsparcie dla uwierzytelniania).

opcje klienta HTTP podczas testów

W XSSerze ciekawa jest również opcja wykorzystująca tzw. Google Hacking do znajdowania podatnych na atak webaplikacji. Wystarczy odpalić skrypt z parametrem np. -g inurl:vulnerable.asp?id= i zawsze będzie co testować :-)

Raport z ataków XSS

Na sam koniec, XSS-er wypluwa przyzwoity raport:

Raport z ataku XSS

Przypominam, żeby testować tylko swoje serwery i webaplikacje, a jeśli komuś przypadkiem omsknie się palec i znajdzie podatne na atak pole formularza — niech najpierw podeśle informację właścicielowi strony, a dopiero potem nam ;)

Skrypt Xsser można pobrać stąd.

P.S. Jeśli nie wiecie jak ochronić swoją aplikację przed tego typu atakami, przypominamy, że zostało jeszcze parę wolnych miejsc na nasze szkolenia :-)

Przeczytaj także:

10 komentarzy

Dodaj komentarz
  1. Jednak nic nie zastąpi tej frajdy jak znalezienie błędu ręcznie :)

    • cbr: dokladnie — ale xsser ma opcje “ręcznego” payloadu, wiec można na szybko zespoofować nim nagłówek, dorzucić ciasto, etc.

  2. Przy uruchamianiu XSSera Macowy Pythonowy uruchamiacz informuje mnie o braku curl’a – jak go dołożyć na MacOsX ?

  3. przetestowalem to narzędzie na pewnym portalu, gdzie samemu znalazlem kilka xssów – on nie znalazł niczego. No cóż, dla mnie to tylko kolejny praktycznie bezużyteczny kawałek kodu. Anyway, nice try, lol ;)

  4. taki już urok skanerów , nie zależnie od tego czy użyjesz xssera czy acunetixa
    one zawsze będą coś przegapiać . Dlatego mówię że we wszystkich skanerach do web aplikacji najlepsze ich części to crawlery i to wszystko co ujawnia strukturę web aplikacji
    w kwestii plików i folderów

  5. Python power!

    :)

  6. Wiadomo, żadne narzędzie nie zastąpi ręcznego audytu. Warto jednak szanować swój czas i wykorzystać automat do zbierania tzw. “Low-Hanging Fruit”.

  7. Taak, “podeślij info właścicielowi strony”, ostatnio podesłałem info znajomemu informatykowi jednej firmy, że ich strona logowania do panelu administracyjnego cms jest nieszyfrowana i podatna na xss. Nie przejął się zbytnio – cóż, może jestem profanem dla pana informatyka ;). Niektórzy naprawdę muszą dostać po tyłku żeby zacząć myśleć…

  8. […] P.S. Wiem, że przydałoby się wiecej szczególów ale nie spodziewałem się, że błędy będa na tyle istone, że będę potrzebował odpalić logujace proxy i/albo jednocześnie prowadzić dokładne notatki. Od Redakcji: Przypominamy, że jeśli chcecie przetestować swoje serwisy pod kątem ataków XSS, to możecie skorzystać z darmowego XSSera. […]

  9. Z pewnością przydatne narzędzie i zaoszczędzi czas, ale nie ma to jak znaleźć coś samemu ;p

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.