HTTP из командной строки
Говорите по HTTP напрямую через curl — коды ответа, заголовки, cookie, формы и robots.txt.
- web.http
- web.headers
- web.cookies
Задания
1. Коды ответа5 очк.
Запросите
/admin. Какой код ответа HTTP возвращает сервер?2. Спрятано в заголовках10 очк.
Главная страница отправляет нестандартный заголовок ответа, который браузер никогда не показывает. Отправьте его значение.
3. Robots.txt10 очк.
robots.txtговорит поисковикам, что не индексировать, — и этим часто указывает атакующим на интересные места. Найдите флаг.4. Доверие клиенту20 очк.
Страница
/adminопределяет, кто вы, по cookie, которую сама же и выставляет. Убедите её, что вы администратор.5. Отправка формы15 очк.
Войдите через
/loginс учётными данными по умолчанию (сервер подскажет, как).
Вводные и справка по командам
Внутри вашей практики по адресу http://127.0.0.1:8000/ работает небольшое веб-приложение.
Исследуйте его с помощью curl:
| Опция | Назначение |
|---|---|
-i | показать заголовки ответа |
-v | показать весь обмен целиком |
-b 'имя=значение' | отправить cookie |
-d 'a=1&b=2' | отправить POST-форму |
-A 'agent' | задать User-Agent |
Исходный код приложения прочитать нельзя — относитесь к нему как к чёрному ящику.
Справка по командам
| Команда | Что делает |
|---|---|
curl <URL> | тело ответа |
curl -i <URL> | строка статуса и заголовки ответа + тело |
curl -b 'имя=значение' <URL> | отправить cookie |
curl -d 'a=1&b=2' <URL> | отправить POST-форму |
robots.txt — файл в корне сайта, где перечислены пути, которые поисковикам не следует индексировать
(строки Disallow: /путь). Заголовок Set-Cookie в ответе показывает имя и значение cookie, которую ставит сервер.