Сервис Lie2me для SibirWTF'18
Написан на языке Perl версии 5 с использованием БД PostgreSQL.
В папке service находится файл start.sh, который запускает оба контейнера -- контейнер с базой данных и непосредственно сам сервис. Отличия от файла start.sh игрового образа:
- для контейнера с базой данных отсутсвовал флаг -p;
- для обоих контейнеров вместо флага --rm выставлен флаг --restart=always
Написан на языке Perl версии 3.
Для работы чекера необходимо поставить следующие библиотеки:
- JSON
- IO::Socket::Timeout
- Try::Tiny
В чекере есть "костыль", необходимый для того, чтобы узнать путь до папки с чекером, поэтому не рекомендуется изменять название чекера.
Для запуска чекера необходимо в терминале написать: ./checker.pl <ip_address> <command> <flag_id> <flag>
Где:
- ip_address - адрес машины с сервисом
- command - команда "put" для того, чтобы положить флаг, или "check" для того, чтобы проверить флаг
- flag_id - id флага. Для SibirCTF'18 [a-z0-9]{10}
- flag - флаг. Для SibirCTF'18 [a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}
Примеры запуска для SibirCTF'18:
./checker.pl 127.0.0.1 put "1q2w3e4r5t" "6a331fd2-133a-4713-9587-12652d34666d"
./checker.pl 127.0.0.1 check "1q2w3e4r5t" "6a331fd2-133a-4713-9587-12652d34666d"