Na tropie błędów. Przewodnik hakerski. Peter Yaworski

Чтение книги онлайн.

Читать онлайн книгу Na tropie błędów. Przewodnik hakerski - Peter Yaworski страница 19

Na tropie błędów. Przewodnik hakerski - Peter Yaworski

Скачать книгу

"test ismap="alert xss" yyy="test"")

      Pamiętaj, że w celu utworzenia znacznika kotwicy w Markdownie powinieneś podać adres URL i atrybut title otoczony podwójnym cudzysłowem w nawiasie. By przetworzyć atrybut title, Markdowna musi śledzić otwierający cudzysłów, następującą zawartość i zamykający cudzysłów.

      Byłem ciekaw, czy jestem w stanie zmylić Markdowna dodatkowymi cudzysłowami i atrybutami, dzięki czemu również będzie je śledzić. Z tego powodu dodałem ismap= (prawidłowy atrybut HTML), yyy= (nieprawidłowy atrybut HTML)  i dodatkowe cudzysłowy. Po wysłaniu wejścia edytor Markdown przetworzył kod w następujący HTML:

      <a title="test" ismap="alert xss" yyy="test" ref="http://www. toronotwebsitedeveloper.com">test</a>

      Zauważ, że poprawka z raportu De Ceukelaire’a omyłkowo utworzyła inny błąd, który pozwalał generować dowolny HTML przez parser Markdowna. Mimo że nie mogłem od razu zgłosić tego błędu, pomyślne dodanie HTML-a było wystarczającym dowodem dla serwisu HackerOne na odwrócenie poprzedniej poprawki i naprawę inną metodą. Możliwość dodania dowolnego kodu HTML mogło skutkować kolejnymi podatnościami, dlatego serwis nagrodził mnie wypłatą 500 $.

      Wnioski

      Aktualizacja kodu nie zawsze oznacza naprawę wszystkich podatności.  Nie zapominaj sprawdzać zmian i bądź w tym czujny. Wdrożenie poprawki oznacza nowy kod, który może zawierać błędy.

      Content spoofing w Within Security

      Poziom trudności: Niski

      URL: https://withinsecurity.com/wp-login.php

      Źródło: https://hackerone.com/reports/111094/

      Data zgłoszenia: 16 stycznia 2016

      Nagroda: 250 $

      Within Security to strona należąca do HackerOne, przeznaczona do dzielenia się nowościami ze świata bezpieczeństwa. Została zbudowana na Wordpressie i zawierała standardową ścieżkę logowania na stronie withinsecurity.com/wp-login.php. Haker dostrzegł, że podczas procesu logowania, w razie błędu Within Security wyświetlał wiadomość access_denied, która odpowiadała parametrowi error w adresie:

      https://withinsecurity.com/wp- login.php?error=access_denied

      Widząc to, haker spróbował zmienić wartość tego parametru. W rezultacie strona wyświetlała wartości przekazane do parametru jako część wiadomości o błędzie, a nawet dekodowała znaki URI. Tak wygląda zmodyfikowany URL, którego użył haker:

      https://withinsecurity.com/wp-login.php?error=Your%20account%20has%20been%20hacked%2C%20Please%20call%20us%20this%20number%20919876543210%20OR%20Drop%20mail%20at%20attacker%40mail.com&state=cb04a91ac5%257Cht tps%253A%252F%252Fwithinsecurity.com%252Fwp-admin%252F#

      Parametr został wyrenderowany w postaci wiadomości o błędzie, znajdującej się nad polem logowania w Wordpressie. Wiadomość zlecała użytkownikowi kontakt z numerem telefonu bądź adresem e-mail, należącymi do atakującego.

      Kluczem w tym przykładzie było zauważenie parametru w URL-u,  który był wyświetlany na stronie. Wystarczyła zwykła próba zmiany wartości parametru, by zdemaskować podatność.

      Wnioski

      Miej na uwadze parametry URL, które są przekazywane i renderowane jako zawartość strony. Mogą ujawnić podatności typu injection, które prowadzą do ataków phishingowych. Możliwość kontroli parametrów URL renderowanych na stronie czasami może doprowadzić do ataków cross-site scripting, które omówimy w rozdziale 7. W pozostałych przypadkach takie zachowanie można wykorzystać tylko w atakach HTML injection i content spoofing. Ważne do zapamiętania jest to, że chociaż zgłoszenie zostało nagrodzone tylko 250 $, była to minimalna kwota wynagrodzenia w programie Within Security. Nie wszystkie programy cenią bądź w ogóle nagradzają podatności HTML injection i content spoofing, ponieważ, podobnie jak w inżynierii społecznej, zależą one od tego, czy wstrzyknięty tekst będzie w stanie  oszukać ofiarę.

      Rysunek 5.1. Atakujący dodał takie „ostrzeżenie” do strony  administracyjnej WordPress.

      Podsumowanie

      HTML injection i content spoofing pozwalają hakerowi wpisać informacje i odzwierciedlić je na stronie HTML ukazanej ofierze. Atakujący mogą użyć tego typu ataków do oszustw i wrabiania użytkowników do przesłania wrażliwych informacji na złośliwe strony.

      Odkrywanie takich podatności nie polega tylko na przesłaniu zwykłego HTML-a, ale na zbadaniu tego, w jaki sposób witryna renderuje wprowadzany tekst. Hakerzy powinni szukać możliwości manipulowania parametrami URL, które są wyświetlane bezpośrednio na stronie.

      6.

      CARRIAGE RETURN LINE FEED INJECTION

      Niektóre podatności pozwalają użytkownikom wpisać zakodowane znaki, które mają specjalne znaczenie w odpowiedziach HTML i HTTP. Normalnie aplikacje usuwają takie znaki, kiedy zostaną dodane przez użytkownika, aby zapobiegać przed próbami manipulacji wiadomościami HTTP, lecz w niektórych przypadkach deweloperzy

      albo zapominają o filtrowaniu wejścia, albo nie robią tego poprawnie. Kiedy się tak dzieje, serwery, proxy i przeglądarki mogą zinterpretować specjalne znaki jako kod i zmienić oryginalną wiadomość HTTP, pozwalając atakującym na manipulację zachowaniem aplikacji.

      Конец ознакомительного фрагмента.

      Текст предоставлен ООО «ЛитРес».

      Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

      Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

iVBORw0KGgoAAAANSUhEUgAAAcEAAAKACAIAAABrNVTrAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABHdEVYdENvbW1lbnQASlBFRyBFbmNvZGVyIENvcHlyaWdodCAxOTk4LCBKYW1lcyBSLiBXZWVrcyBhbmQgQmlvRWxlY3Ryb01lY2guQWaB9AAAt/RJREFUeF7tnQWcFEf2x+/+dxeBAOvui7u7SxIIEvdA3D3EEwhxd3dFEhKCBkuCu8ZwEojgrisz+/9WvZ7e3tkdjgwQdnPvf

Скачать книгу