Cześć
Od niedawna próbuję zdobyć flagę z zadania "Bezpieczny blog" z CTFa pwning2017, jednak nie potrafię dojść do rozwiązania. Jestem początkujący, zacząłem od niżej punktowanych zadań z tego CTFa i z pwning2016. Dużo czasu zajmowało mi znalezienie flagi nawet w łatwiejszych zadaniach, jednak teraz natrafiłem na ścianę której nie potrafię przejść.
Treść zadania:
Niedawno postanowiłem ochronić swój blog przed rozmaitymi cyberzagrożeniami poprzez wdrożenie na nim Content-Security-Policy. Nigdy więcej cyberataków!
Mój blog: https://blog.pwning2017.p4.team/
Rzeczy które znalazłem:
- Na stronie można dodawać komentarze, w których możemy zamieścić kod javascript. Jednak nie wiem jak to wykorzystać - myślałem że może działa jakiś bot udający użytkownika, dla którego by został wykonany kod ale niestety to nie to (próbowałem poprzez wrzucenie tagu img z src ustawionym na adres do mojego vpsa, gdzie sprawdzałem logi access z apache'a)
- Każdy unikalny użytkownik dostaje identyfikator instancji. Pierwsze co przyszło mi do głowy, to że w jakiś sposób muszę wykraść identyfikator instancji użytkownika, który w komentarzach będzie miał flagę. Flaga httponly w cookie, oraz to że nie widzę żeby ktoś próbował odczytać wrzucony przeze mnie obrazek spowodował że odrzuciłem ten pomysł, bo nie wiedziałem jak mógłbym to osiągnąć.
- Formularz ma ukryte pole "post_id" które zawsze ma ustawioną wartość 1. Próbowałem zmieniać ten post_id na różne wartości, wtedy komentarz nie dodaje się w mojej instancji, ale też nie wiem czy dodaje się gdzieś indziej - próbowałem użyć też tego tagu img z adresem mojego serwera, ale w logach dalej milczy.
- Czytałem w jaki sposób działa Content-Security-Policy, ale nie widzę przykładowo w HTTP response żeby był dołożony nagłówek Content-Security-Policy
- Gdy ja odświeżę stronę, a w komentarzach wcześniej dodałem skrypt js albo obrazek, to js się wykonuje oraz jest w logach na moim serwerze informacja że ktoś próbował odczytać obrazek który nie istnieje
Czy mógłby ktoś mnie nakierować, dać jakąś wskazówkę? Dzięki wielkie!