Łatwo wykrywaj luki XSS za pomocą tego narzędzia

Co to jest DOM?

Jego akronim oznacza Model obiektu dokumentu ten Jest wymieniony w języku hiszpańskim Model obiektu dokumentu ten Składa się z interfejsu API opracowanego w dokumentach HTML i XML. Ale do czego służy? Odpowiedzialny za budowanie logiki ww. formatów dokumentów tak, aby były dostępne i łatwe w zarządzaniu. Koncepcja jest lepiej zrozumiana dzięki dokumentom HTML.

Wiemy, że HTML jest jednym z podstawowych formatów internetowych, jakie znamy. Plik HTML może mieć zawartość podobną do pokazanej poniżej:

<!DOCTYPE html>
<html>
<head>
<title>Página HTML</title>
<style>
body {
background-color: red;
text-align: center;
color: white;
}
</style>
</head>
<body>
<h1>Este es un encabezado</h1>
<p>Este es un párrafo.</p>
<img src="avatar.png" alt="Avatar" style="width:200px">
</body>
</html>

Jeśli przyjrzymy się bliżej, dostarczony przez nas plik HTML jest podzielony na kilka części:

  • Nagłówek, w którym przed przejściem do treści strony wpisujemy kilka podstawowych definicji:
    • Tytuł strony głównej, który pojawia się w zakładce przeglądarki (tytuł).
    • Część, w której się dostosowujemy System stron, tj. ogólną formę, jaką będzie miał. To tak, jakby wybrać motyw WordPress lub Blogger, który najbardziej Ci się podoba.
  • Treść strony, na której przechowywana jest treść (treść):
    • Wstaw nagłówek.
    • Wstawiamy tekst, który chcemy.
    • Wstawiamy obraz według naszych preferencji, do którego możemy dostosować jego szerokość i/lub wysokość.

Oczywiście wszystko to można rozszerzyć na znacznie więcej. Wystarczy jeden dokument HTML, aby uzyskać wiele korzyści z treści multimedialnych. Jednak ten przykład pokazuje nam, że dzięki DOM można zarządzać w praktyczny, prosty, a przede wszystkim standardowy sposób. Model DOM nie jest przeznaczony tylko dla HTML, jest otwarty na inne popularne języki programowania, takie jak JavaScript.

Ataki XSS oparte na DOM i luki w zabezpieczeniach

Odciski palców są niezbędne do tworzenia ekranów Ataki XSS DOM odbywa się poprzez modyfikację środowiska DOM, które pojawia się w przeglądarce użytkownika, gdy odwiedzić konkretną witrynę. Zasadniczo, gdy użytkownik odwiedza witrynę, przeglądarka interpretuje kod, aby zobaczyć, czego chce. To znaczy obrazy, tekst, wideo, audio i wiele więcej. Jednak ten niebezpieczny wariant ataku XSS ma możliwość zmiany tego, co użytkownik widzi w przeglądarce. Czyni to w sposób, który powoduje złośliwe oprogramowanie, takie jak złośliwe oprogramowanie, różnego rodzaju wirusy, scenariusze zużywanie zasobów komputerowych, kopanie kryptowalut i nie tylko.

Będziemy polegać na przykładzie dostarczonym przez OWASP aby pokazać, jak ten atak jest realizowany. Załóżmy, że chcesz odwiedzić następującą witrynę, która pozwala wybrać preferowany język:

Adres URL lub link do strony głównej wygląda tak:

http://www.some.site/page.html?default=French

Cyberprzestępca może bardzo łatwo zmienić ten adres URL i wygląda to tak:

http://www.some.site/page.html?default=<script>alert(document.cookie)</script>

Jak widać, to, co odróżnia drugi adres URL od pierwszego, to:

default=<script>alert(document.cookie)

Zamiast mówić ” język francuski „Cyberprzestępcom udało się zmienić adres URL, aby” dokument.cookie » pojawia się w przeglądarce użytkownika, którym może być dowolny złośliwy kod.

Atak XSS oparty na DOM jest w tym przypadku możliwy, ponieważ oryginalny kod JavaScript strony internetowej nie akceptuje HTML. Dlatego przeglądarka interpretuje to, co bezpośrednio wskazuje adres URL strony. To drugie, niezależnie od tego, czy skrypt, do którego odwołuje się adres URL, jest złośliwy, czy nie. Niestety, jest to nieco trudne do kontrolowania przez użytkownika. Jednak później podamy kilka wskazówek, jak chronić się przed tego typu atakiem.

Co to jest XSS?

Warto odświeżyć ideę ataków infuzyjnych XSS. Akronim oznacza Cross (X) Site Scripting. Jest to działanie złośliwych scenariuszy, które są wstrzykiwane do witryn i aplikacji, które zwykle mają uzasadnione lub niestanowiące zagrożenia cele. Jak to się ogólnie dzieje? Cyberprzestępcy przejmują stronę lub aplikację internetową, zwłaszcza w części front-end a złośliwy kod jest wprowadzany na różne sposoby. Niestety często zdarza się, że strony internetowe i aplikacje mają minimalną kontrolę nad tym, co robi użytkownik końcowy lub co użytkownik może wprowadzić, zwłaszcza za pośrednictwem formularzy online. ten

Oprócz ataków XSS opartych na DOM, które omówiliśmy w tej notatce, istnieją inne warianty, które są równie lub bardziej niebezpieczne niż ten. Warto o tym wspomnieć Zapisane XSS i odbite XSS, które są atakami, które dodatkowo naruszają bezpieczeństwo i integralność serwera WWW.

Jak zainstalować FIN-DOM XSS

To rozwiązanie jest potężnym skanerem podatności, który może wywołać ataki XSS oparte na DOM. Jest niezwykle łatwy w instalacji, wszystko, co musisz zrobić, to mieć Linuksa w wybranej przez siebie dystrybucji. Pamiętaj, że nie musisz mieć osobnego komputera z tym systemem operacyjnym. Zawsze masz możliwość wirtualizacji!

Pierwszą rzeczą do zapamiętania jest to, że instalacja odbywa się za pomocą wiersza poleceń i wszystko, czego potrzebujemy, jest przez niego odbierane oficjalna strona internetowa na Github.

Zainstaluj LinkFinder

To jest skrypt opracowany w Pythonie do indeksowania Punkty końcowe oraz ich parametry w plikach JavaScript. Szeroko stosowany przez pieszych i łowcy błędów ten Oprócz FIN-DOM XSS zainstalujemy z wiersza poleceń. Jest to warunek wstępny lub zależność prawidłowego działania skanera.

Wprowadź następujące polecenia instalacyjne Wyszukiwarka jest podłączona :

$ git clone https://github.com/GerbenJavado/LinkFinder.git
$ cd LinkFinder
$ python setup.py install

Na koniec dodajemy kilka zależności, które są jednostkami w Pythonie, aby ten skrypt działał poprawnie kamień ten Aby uzyskać więcej informacji o LinkFinder, zobacz oficjalna strona internetowa na Github.

$ pip3 install -r requirements.txt

Zacznij od FIN-DOM XSS

Teraz, gdy skończyłeś z wymaganiami, możesz kontynuować instalację tego skanera za pomocą następującego polecenia:

$ git clone https://github.com/dwisiswant0/findom-xss.git

Po zakończeniu instalacji należy wprowadzić zmiany w konfiguracji. Ma to na celu zmianę wartości zmiennej LINKFINDER w wierszu 3 ze ścieżką odpowiadającą Twojemu plikowi Wyszukiwarka jest podłączona Pan ten

Aby uruchomić FIN-DOM XSS, po prostu uruchom następujące polecenie:

$ ./findom-xss.sh https://target.host/about-us.html

Struktura jest prosta, polecenie, które wywołuje FIN-DOM XSS do wykonania, to ./findom-xss-sh ten

Z drugiej strony jest link, który byłby naszym celem, dla którego chcemy szukać luk. Może to być dowolna strona internetowa. Możliwe jest wtedy przetłumaczenie powyższego polecenia na bardziej konkretny przykład.

$ ./findom-xss.sh https://www.freecodecamp.org

Możesz nawet dodać dodatkowy parametr do polecenia, aby wyniki były automatycznie eksportowane do zwykłego pliku tekstowego w preferowanej lokalizacji.

$ ./findom-xss.sh https://www.freecodecamp.org /rutaejemplo/rutaejem/resultadosescaneo.txt

Jednak nawet jeśli nie wprowadzisz trzeciego parametru, wyniki analizy są domyślnie zapisywane w folderze Wyniki a nazwa pliku to docelowy.host.txt ten

Oto dane wyjściowe ekranu, które powinieneś uzyskać po pomyślnym uruchomieniu FIN-DOM XSS:

Mamy nadzieję, że ten samouczek pomoże Ci znaleźć tego typu luki w zabezpieczeniach.

Dodaj komentarz