![]() |
https://forum.antichat.xyz/attachments/4768921/2016.png
Привет колеги. Добро пожаловать на курс Web Application Pentesting. В этой статье мы с вами научимся:
И так для примера создания запроса воспользуемся консольной утилитой NetCat. Вспомним из моей прошлой статьи что curl посылал на сервер 4 строки,на для ознакомление понадобятся первые 2 : Код: Код:
> GET / HTTP/1.1Код: Код:
nc www.securitytube.net 80https://forum.antichat.xyz/attachments/4768921/2016.png После чего видим что сервер нам отвечает заголовками ,за которыми идет html контент. От себя добавлю что для удобства в линуксе можно использовать перенаправления STDOUT одной команды на STDIN другой команды,простыми словами что бы каждый раз не вводить вручную наши две строчки мы можем выполнить следующую команду: Код: Код:
cat hosts.txt | nc www.securitytube.net 80Вывод содержимого этого файла мы передали в качестве ввода для команды nc www.securitytube.net 80 И таким образом получили тот же результат) Подбробнее о перенаправление ввода вывода команд при создании http запросов вручную так же можно посмотреть здесь https://forum.antichat.xyz/attachments/4768921/2016.png Думаю что с этими двумя строчками понятно все из прошлой статьи: GET / HTTP/1.1 -- обратится к домашней странице по протоколу HTTP/1.1 Host: www.securitytube.net- днс имя хоста. Что бы обратится не на домашнюю страницу используется запрос вида: Код: Код:
GET /путь_к_локальному_ресурсу HTTP/1.1Код: Код:
GET /codeby.txtКак видим сервер ответил 404 кодом ответа,из прошлой статьи помним ,что это означает что ресурс не был найден по заданому адресу. Как вы уже смогли догадатся что запрос в примере выше передавался через метод GET. Но так же существует и ряд других методов,и некоторые из них представляют опасность если их не правильно использовать. Давайте глянем на слайд https://forum.antichat.xyz/attachmen...223a4518e6.png
Итак, мы с Вами научились посылать вручную запросы на сервер и знаем какие моды HTTP существуют.Теперь появляется новый вопрос: Как узнать какие методы поддерживаются на веб сервере? Для это воспользуемся консольной утилитой curlи запустим ее с параметром -X(параметр -X отвечает за передаваемый метод HTTP запроса),и в качестве метода воспользуемся методом OPTIONS,который по идеи должен перечислить нам возможные методы: https://forum.antichat.xyz/attachments/4768921/2016.png Как видим метод OPTIONS на этом сайте не поддерживается Давайте для демонстрации возмем сайт где этот метод поддерживается: Возмем сайт вивека: https://forum.antichat.xyz/attachments/4768921/2016.png Как видим 200 ОК значит что все гуд ,и заголовок Allowперечислил нам возможные методы Так же этого результата можно добится через использования http-methods скрипта в Nmap: Код: Код:
nmap -p 80 --script http-methods vivekramachandran.comИ Metasploit Framework имеет в себе также такую возможность: https://forum.antichat.xyz/attachments/4768921/2016.png Теперь небольшой профит для закрепление знаний: Вооружившись знаниями (Их теперь более чем достаточно) читаем про вектор HTTP Verb Tampering Идем решать таск на рут-ми ))) Видим что нас там встречает HTTP Basic Auth: https://forum.antichat.xyz/attachments/4768921/2016.png Так же давайте в попробуем обратится на вебсервер через curl: https://forum.antichat.xyz/attachments/4768921/2016.png Видим 401 статус код ответа,который отвечает за необходимость авторизоватся на сервере. Давайте попробуем перечислить методы через OPTIONS: https://forum.antichat.xyz/attachments/4768921/2016.png Хех) Видим что он нам ответил 200 Ок, А ниже можем видеть контент где находися флаг для валидации таска) Давайте выполним аналогичные действие через NetCatдля закрепление,в качестве метода укажим какой то несуществующий,например CODEBY метод: Код: Код:
CODEBY /web-serveur/ch8/ HTTP/1.1Как видим снова 200 ОКи контент с паролем) В следущей статье мы поближе познакомимся с HTTP Basiс Аутентификацией) Если понравилась статья - жмакни лайк) До новых встреч) Спасибо за внимания) |
Профитики. Умничка, Бро. Профитики есть хорошо.
|
Отличная статья, добротно все разложено! Очень здорово - nmap, msf попали в нее!
|
Когда использую curl ( -v -X OPTIONS URL) Показывает уйма html кода, а так-же ничего связанного с allow нету... Даже не вылазит про то,что метод OPTIONS не поддерживается
|
Цитата:
Если конкретно про уязвимость HTTP Verb Tampering - то совсем не обязательно что бы было перечисление через OPTIONS, в примере с рутми там просто лимит на методы GET и POST .И используя любой другой метод мы обходим идентификацию на сервере,в этом и ест суть уязвимости. |
Цитата:
|
Не обязательно, может как в моем примере быть,какой то несуществующий метод,например:
LOL /secret.txt |
Цитата:
https://forum.antichat.xyz/attachmen...f02f37f327.png |
Нужно после того как вы это ввели нажать клавишу Ентер,с новой строки вести запрос,потом еще раз ЕНтер,потом заголовок Host: Ентер,затем дважды нажать Ентер:
nc www.securitytube.net 80 GET / HTTP/1.1 Host:www.securitytube.net |
Цитата:
Если вы хотите просто по практиковатся в векторе HTTP Verb Tampering - то он доступен по ссылке: http://challenge01.root-me.org/web-serveur/ch8/ |
| Время: 04:39 |