may_ctf/tasks/калькулятор
2023-05-25 08:01:41 +00:00
..
README.md Изменил(а) на 'tasks/калькулятор/README.md' 2023-05-25 08:01:41 +00:00

Разбор таска Калькулятор.

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