Team Seb managed to abduct nginxatsu from Dr. Talin’s hospital after he was submitted there for injuries he sustained from a recent duel. Now they’ve turned him into a nginx config generator, this is so despicable… YOU HAVE TO SAVE HIM! 🚑
Na początek dostajemy link, pod którym widnieją informacje o tym, że strona jest w trakcie budowy oraz o używanym silniku i frameworku.

Szukając ukrytych endpointów, dostajemy informację, że strona >>ENDPOINT<< nie istnieje. Sprawdzamy, czy strona jest podatna na template injection, wpisując po slashu ‘{{7*7}}’.

Na stronie możliwe jest umieszczenie złośliwego ładunku. Ze strony początkowej wiemy, że strona używa silnika Jinja2. Jest to dla nas informacja, że powinniśmy skupić się na poszukiwaniu payloadów związanych właśnie z nim. W taki sposób natrafiamy na link do interesującego repozytorium z przykładami złośliwych ładunków.
Jeden z wypisanych przykładów pozwala nam na wykonywanie poleceń Unix. W przykładzie jest to komenda ‘ls’, służąca do listowania plików.
{{config.__class__.__init__.__globals__[’os’].popen(’ls’).read()}}
Spróbujmy zrobić to samo.

Dostaliśmy w ten sposób nazwy folderów oraz plików z głównego folderu. Jeden z nich o nazwie flag.txt przykuwa naszą uwagę. Spróbujmy go otworzyć modyfikując poprzednie polecenie.
{{config.__class__.__init__.__globals__[’os’].popen(’cat flag.txt’).read()}}
W taki sposób dochodzimy do rozwiązania.
Źródła
https://portswigger.net/web-security/server-side-template-injection