Читать книгу Na tropie błędów. Przewodnik hakerski - Peter Yaworski - Страница 37

5.
HTML INJECTION I FAŁSZOWANIE TREŚCI
Dodanie kodu HTML w serwisie HackerOne – część 2

Оглавление

Poziom trudności: Średni

URL: https://hackerone.com/reports/

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

Data zgłoszenia: 26 stycznia 2016

Nagroda: 500 $

Kiedy organizacja rozwiązuje zgłoszenie i tworzy poprawkę dla znalezionej podatności, nie zawsze może ona okazać się wolna od błędów. Po przeczytaniu raportu De Ceukelaire’a postanowiłem sprawdzić, jak po naprawie edytor Markdown wyświetlał nieoczekiwane wejście. W tym celu przesłałem następujący tekst:

[test](http://www.torontowebsitedeveloper.com "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.

Na tropie błędów. Przewodnik hakerski

Подняться наверх