may_ctf/tasks/калькулятор/readme.md

4 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Разбор таска калькулятор.
Калькулятор представляет собой веб страницу, поэтому попробуем посмотреть что у неё внутри с помощью панели разработчика. Страница общается по websocket (обменивается текстом) с сервером, причем страница отсылает данные как есть, в виде выражения, а сервер возвращает результат. При делении на 0 или некорректном выражении ответ не присылается. Если попробовать убрать readonly в коде элемента, сможем отправить что-то кроме выражения из цифр и знаков +-*/. Посылая разные значения, можно понять что сервер исполняет выражение на python3 (а именно с помощью eval). Тогда, флаг можно получить, послав `open('/var/flag.txt','r').read()`.
Флаг: `ctf{python_injection_khjb}`