Изменил(а) на 'tasks/калькулятор/README.md'
This commit is contained in:
parent
b1afb968cd
commit
292441df61
2 changed files with 4 additions and 4 deletions
4
tasks/калькулятор/README.md
Normal file
4
tasks/калькулятор/README.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Разбор таска Калькулятор.
|
||||||
|
|
||||||
|
Калькулятор представляет собой веб страницу, поэтому попробуем посмотреть что у неё внутри с помощью панели разработчика. Страница общается по `websocket` (обменивается текстом) с сервером, причем страница отсылает данные как есть, в виде выражения, а сервер возвращает результат. При делении на 0 или некорректном выражении ответ не присылается. Если попробовать убрать `readonly` в коде элемента, сможем отправить что-то кроме выражения из цифр и знаков +-*/. Посылая разные значения, можно понять что сервер исполняет выражение на `python3` (а именно с помощью `eval`). Тогда, флаг можно получить, послав `open('/var/flag.txt','r').read()`.
|
||||||
|
Флаг: `ctf{python_injection_khjb}`
|
|
@ -1,4 +0,0 @@
|
||||||
# Разбор таска калькулятор.
|
|
||||||
|
|
||||||
Калькулятор представляет собой веб страницу, поэтому попробуем посмотреть что у неё внутри с помощью панели разработчика. Страница общается по websocket (обменивается текстом) с сервером, причем страница отсылает данные как есть, в виде выражения, а сервер возвращает результат. При делении на 0 или некорректном выражении ответ не присылается. Если попробовать убрать readonly в коде элемента, сможем отправить что-то кроме выражения из цифр и знаков +-*/. Посылая разные значения, можно понять что сервер исполняет выражение на python3 (а именно с помощью eval). Тогда, флаг можно получить, послав `open('/var/flag.txt','r').read()`.
|
|
||||||
Флаг: `ctf{python_injection_khjb}`
|
|
Loading…
Reference in a new issue