February 22, 2025

Секреты на сайте есть? А если найду?

Cегодня у меня в блоге будет немного web, данный метод подойдет как для Bug Bounty, так и для тестрование web приложений. В данной заметке я попробую показать как можно найти то что спрятано от простого пользователя. Мы будем искать секреты находящися на сайте. Для начала создадим отдельную папку под проект, куда будут помещены все данные и в том числе найденные секреты сайта.

Для проведения тестирования нам понадобятся следующие инструменты:

1. subfinder (https://github.com/projectdiscovery/subfinder);
2. httpx (https://github.com/projectdiscovery/httpx);
3. katana (https://github.com/projectdiscovery/katana);
4. secretfinder (https://github.com/m4ll0k/SecretFinderhttps://github.com/m4ll0k/SecretFinder).

Расписывать не буду что это за инструменты, там и так все написано, так что копируем ставим и пользуемся. Единственное, что для удобства пользования данными инструментами я их копирую в PATH usr/bin таким образом их можно вызвать на прямую без необходимости перехода в папку хранения.

Теперь к делу. У нас есть какое-то количество доменов, в первую очередь нам необходимо найти все поддомены вашего целевого списка доменов. Для этого мы используем программу subfinder.

subfinder -dL domains.txt -o subdomains.txt

Отлично у нас есть список поддоменов, идем дальше.

Теперь нам необходимо отсеять "живые" поддомены, здесь как раз к нам приходит на помощь следующая программа под названием httpx.

cat subdomains.txt | httpx -ports 443,80,8080,8000,8081,8888 -mc 200,400,403,500 -o live.txt

Ну что мы получили необходимый нам список "живых" поддоменов.

Теперь перейдем к следующей программе по списку, это программа называется katana.

katana -list live.txt -o output.txt

Вывод программы можете наблюдать сами.

Так, а где же обещанные секреты? Так имейте терпение и вы будете за это вознаграждены.

Прежде чем идти дальше в поисках секретов, нам необходимо отфильтровать полученные данные следующим образом.

cat output.txt | grep js | tee jsfile.txt

Теперь нам осталось запустить последнюю программу из списка.

cat jsfile.txt | while read url; do python ~/web/SecretFinder/SecretFinder.py -i $url -o cli; done

А вот и секреты хранящиеся на сайте.

Да, вы все увидели правильно это API KEY. И помимо этих API там будут и другие.

О том что делать дальше писать не буду просто покажу реализациею одного из ключей.

curl -X POST https://api.heroku.com/apps -H "Accept: application/vnd.heroku+json; version=3" -H "Authorization: Bearer e57ecfab-c70b-401a-90cc-9722f958952c"

К сожалению мне не повезло, но может повезти вам.

Ну и на по следок немного магии Bash, для автоматизации данной задачи, да и не только ее.

cat domains.txt | while read url; do subfinder -d $url -o subdomains.txt; cat subdomains.txt | httpx -ports 443,80,8080,8000,8081,8888 -mc 200,400,403,500 -o live.txt; katana -list live.txt -o output.txt; cat output.txt | grep js | tee jsfile.txt; done; cat jsfile.txt | while read url; do python ~/web/SecretFinder/SecretFinder.py -i $url -o cli >> test.txt; done