---
# System prepended metadata

title: '[web] Date Service'

---

# [web] Date Service

![](https://i.imgur.com/kqDsmt0.png)



##  Начнем

Вбивам в строку date-checker.ctf.potee.ru и наблюдаем страницу:

![](https://i.imgur.com/6sda1zh.png)


Тыкаем на единственное, что тыкается, это кнопка по центру. Получаем ответ:

![](https://i.imgur.com/iUaVMsG.png)

Покапавшись в коде страницы, наше внимание привлекает `input type` типа `hidden`. Заменяем тип на `text`, на странице появляет поле для ввода.

![](https://i.imgur.com/im5LUFz.png)

Попробуем ввести `whoami`, на что получаем user. Так как страница обновляется, то замену типа в коде нужно менять каждый раз заново.

![](https://i.imgur.com/XVLhVFA.png)

Если ввести `help`, то получим список команд, доступных нам.
Раз у нас есть возможность пользоваться командами, то можно сказать что тут  [**Comand Injection**](https://www.imperva.com/learn/application-security/command-injection/)

![](https://i.imgur.com/MTb3RGP.png)

## Ищем пути ##

Здесь нет `ls`, что не дает нам таким путем узнать содержимое деректив. Но у нас есть `echo`, что поможет нам с этой задачей. Пишем `echo *`, видим директории и файлы. 

![](https://i.imgur.com/rosFpO7.png)

Вот и flag.txt. Надо его открыть, но `cat` использовать мы не можем.

Мы можем посмотреть, что  внутри /usr/bin есть, написав `echo /usr/bin/* `

![](https://i.imgur.com/XtZ0Po9.png)

Тут есть утилита head, которая может вывести строки из файла. Это один из вариантов, мы попробуем использовать альтернативный, используем набор UNIX-утилит командной строки BusyBox. Тем самым мы можем использовать команду `cat`.

Введем `/bin/bosybox cat flag.txt`

![](https://i.imgur.com/G2TfaOS.png)

Вуаля, а вот и флаг. 
by @yugoshim