Несанкционированный доступ к странице установки пароля администратора
Этичный ХакерВ этой статье я расскажу, как мне удалось получить доступ к странице setpassword администратора, просто обойдя 403 Forbidden.
Инструменты, используемые для эксплуатации:
1. subfinder
2. httpx
Эта статья о моей недавней ошибке, которую я обнаружил. Пока я занимался разведкой для сбора всех поддоменов и резолвинга каждого домена, у меня появилась идея, почему бы не поискать панели администратора и панель установки пароля без какого-либо перебора директорий.
Чтобы собрать все поддомены, я использовал subfinder.
Используемая команда:
subfinder -d target.com -silent
Теперь, после сбора всех поддоменов, я хочу добавить «/admin» ко всему списку доменов и проверить любую открытую панель администратора или панель администратора /setpassword.
Используемая команда
subfinder -d target.com -silent | sed 's/$/\/admin/' subfinder -d target.com -silent | sed 's/$/\/setpassword/'
Таким образом, цель была очень большой с 30k+ доменов, поэтому проверка по очереди занимала очень много времени и для упрощения я использовал httpx c опциями «-title», чтобы получить заголовок, и «-status-code», чтобы получить код состояния, и «-content-length», чтобы получить параметр длины ответа и в результате сузить мою задачу.
Итоговая команда будет выглядеть так:
subfinder -d target.com -silent | sed 's/$/\/admin/' | httpx -title -status-code -content-length
Но, к сожалению, панели администратора не было. Но во всем этом выводе httpx я заметил, что среди статусов 404 был URL-адрес со статусом 302 и длиной содержимого 111. Но он не принес успеха, я застрял и полностью исчерпал себя.
Я не мог смириться со своей неудачей и подумал, почему бы просто не использовать subfinder и httpx для одновременного перебора файлов и каталогов. В конечном итоге, я использовал свои навыки в bash и придумал это:
for word in $(echo test); do echo "$file" | xargs -I% sh -c 'echo "example.com" | httpx -silent -path /%/%.jsp -title -status-code -content-length' ;done
Вывод:
https://example.com/test/test.jsp
Здесь, как вы можете видеть, я использовал слово, которое хочу проверить для файлов и директорий с расширением jsp.
Итак, теперь давайте сделаем это для всех доменов. Финальная команда будет сканировать весь *.example.com с нашим списком слов и расширением для поиска:
for files in $(cat wordlist.txt); do echo "$files" | xargs -I% sh -c 'subfinder -d example.com -silent | httpx -silent -path /%/%.jsp -title -status-code -content-length' ;done
После выполнения команды я получил этот URL-адрес с кодом состояния 403
https://devadmin.example.com/admin/setpassword.jsp
Этот URL-адрес привлек мое внимание.
Поэтому, когда я посетил URL-адрес в браузере, он выдает ошибку 403 Forbidden. Итак, после некоторого поиска в Google я наткнулся на сообщение где, добавив «.css» в конце URL-адреса, мы можем обойти 403. Поэтому я просто добавил его и открыл URL-адрес, и был приятно удивлен, увидев страницу setpassword для администратора.
https://devadmin.example.com/admin/setpassword.jsp?.css

Я быстро сообщил об ошибке и через час отчет был оценен как критический. Надеюсь, что данная статья поможет вам найти больше захватов панели администратора. Это одна из причин, по которой я хотел поделиться своим опытом.