Path Traversal - уязвимость, позволяющая пользователю получить доступ к файлам на хосте при помощи уязвимого параметра URL.
Как это работает? Для просмотра или скачивания файла на сайте есть условная кнопка, при нажатии на неё, в путь прибавляется параметр, аргумент которого - путь к файлу:(пример тега ниже)
<button class="big_btn" onclick="location.href='/cats/download_cat?file=static/imgs/cat.jpg'">
Да, это просто самый обычный путь, который без проверок принимается сервером, на что в ответ, пользователь получает запрошенный файл:(пример кода ниже)
filename = request.args.get("file")
return send_file(filename)
Получается можно вписать туда что-то своё? Именно! В задании от нас хотят флаг, который лежит в .txt файле. Получается мы можем изменить параметр заменой cat.jpg -> flag.txt
Есть и более жестокая эксплуатация сей уязвимости: можно откатиться на директории назад, дойти до корня и взять важный системный файл. Как это сделать? ../ вернёт нас на директорию назад. Так можем попробовать снова изменить путь: cat.jpg -> ../../app.py, что вернёт нам соответствующий python файл
скрытьПосмотри файл и помоги решить задачку, но будь внимателен, стоит проверять, что происходит при нажатии на подозрительные кнопки. Флаг в соотвествующем .txt файле