Этичный хакинг и тестирование на проникновение, информационная безопасность
Как узнать куда ведёт ссылка с редиректами: все промежуточные сайты и кукиз
Ссылки с редиректами
При клике на ссылку с редиректом вы окажитесь не на том сайте, куда ведёт эта ссылка, а на каком-то другом. Самый популярный пример таких ссылок — это ссылки, полученные на разных сервисах по сокращению ссылок, пример: http://bit.do/fbb2f
О такой ссылке мало что можно сказать пока по ней не будет сделан переход.
Ссылки с редиректом часто используются на сайтах для маскировки внешних ссылок — пользователю выводится ссылка как будто бы на внутренний ресурс сайта, например, http://hackware.ru/?goto=1, но при клике по ней выполняется переход на внешний ресурс.
Анализ ссылок с редиректом может понадобится в том числе для изучения фишинговых ссылок, либо страниц со множеством редиректов: когда вы открываете сайт в окне браузера, но затем вас перебрасывает на следующую страницу без ваших действий, затем на другую и так далее.
Как узнать полный длинный адрес и путь укороченной ссылки. Как укоротить ссылку в ВКОНТАКТЕ
Как определить все редиректы страницы
Для Linux имеется специальная программа под названием Hoper — она делает именно то, что нас интересует: показывает все сделанные редиректы.
В Kali Linux программа устанавливается следующим образом:
sudo apt install libcurl4-openssl-dev sudo gem install gemspec hoper
Вполне возможно, что в другие дистрибутивы Linux также удастся выполнить установку этим же способом.
В BlackArch команда устанавливается так:
sudo pacman -S hoper
но в данный момент она не работает в BlackArch (хотя раньше работала):
Использование программы простейшее:
hoper URL
hoper http://hackware.ru/?goto=1
У программы hoper имеется ряд проблем — главная из них: она показывает не все переходы, которые делает ссылка.
- требует Ruby
- не работает в BlackArch
- не показывает кукиз
Как говориться, если хочешь, чтобы что-то было сделано хорошо — то сделай это сам!
Программа для определения всех редиректов
Задача кажется довольно простой — нужно перейти по ссылке, посмотреть куда она ведёт, перейти туда, посмотреть куда ведёт следующая ссылка и так по кругу.
Но имеются следующие трудности:
- относительная переадресация: ссылка может быть абсолютной, например https://hackware.ru/, а может быть относительной, например «/blog» или «/». По относительной ссылкам нельзя просто перейти — нужно правильно составить абсолютную ссылку (видимо, Hoper не умеет этого)
- разные коды ответов: имеется несколько HTTP кодов ответов с редиректами, они имеют вид 3xx. Это нужно учитывать при написании парсера. При этом нельзя ориентироваться на код ответа 200 для прекращения обхода ссылок, поскольку код ответа 404 или 403 и другие также означают, что нужно остановиться
- переадресация с кукиз: некоторые сайты устанавливают кукиз и действуют исходя из них
- некоторые сервисы активно противодействуют ботам
- редиректы могут выполняться не только с помощью HTTP заголовков, но и методами JavaScript и HTML.
Пример редиректа с помощью JavaScript:
Как проверить, куда ведёт сокращённая ссылка
window.location.href = «http://fara.host/?o08z»;
Пример редиректа с помощью JavaScript и с дополнительной обфускацией:
function ready(callback)< if(document.readyState!=’loading’) callback(); else if (document.addEventListener) document.addEventListener(‘DOMContentLoaded’, callback); else document.attachEvent(‘onreadystatechange’, function());>ready(function() < var options = < excludes: >; Fingerprint2.get(options, function(components) < var fingerprint = Fingerprint2.x64hash128(components.map(function (pair) < return pair.value >).join(), 64); location.href = window.location.protocol + «//» + window.location.host + ‘/check-unique/index?unique_code=’+fingerprint+’code=5d9a67e7a054curl=http://goldenreceiptwin.top/)>);
Первые три проблемы я решил в своём скрипте, четвёртая решена только частично. Пятая также решена частично — можно добавить больше паттернов для поиска редиректов, но окончательно побороть обфускацию невозможно. Кстати, если вы хотите дополнить примеры редиректов для добавления их в этот скрипт, то пишите в комментариях.
Чтобы использовать скрипт создайте файл dest-finder.sh:
gedit dest-finder.sh
И скопируйте в него:
#!/bin/bash LINK=$1 COUNTER=1 rm /tmp/cookies.txt 2>/dev/null echo «Получена для анализа ссылка: $LINK» echo while (( 1 )); do HEADER=`curl -s -I -A ‘Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36’ —cookie-jar /tmp/cookies.txt -b /tmp/cookies.txt «$LINK»` LOCATION=`echo «$HEADER» | grep -E -i ‘^Location: ‘ | sed ‘s/Location: //’ | sed ‘s/location: //’ | sed ‘s/[[:space:]]+//g’` CODE=`echo «$HEADER» | head -n 1` if [[ -z «$LOCATION» ]]; then BODY=`curl -s -A ‘Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36′ —cookie-jar /tmp/cookies.txt -b /tmp/cookies.txt «$LINK»` LOCATION=`echo «$BODY» | grep -E «(location.href)|(meta http-equiv=’refresh’)» | grep -E -o «http(:|s)[^’]+» | head -n 1 | sed ‘s/»;//’` if [[ -z «$LOCATION» ]]; then echo «Конечный пункт назначения: $LINK» echo echo «Во время переадресаций были установлены следующие кукиз: » cat /tmp/cookies.txt | awk ‘$1 != «#»‘ exit fi fi echo «Переадресация номер: $COUNTER» echo «Получен код ответа: $CODE» echo «Выполнена переадресация на $LOCATION» echo «» if [[ -z «`echo «$LOCATION» | grep -E ‘(^http)’`» ]]; then if [[ «$LOCATION» == «/» ]]; then LOCATION=» fi LINK=»`echo «$LINK» | grep -E -o ‘[^?]*’ | head -n 1`»»$LOCATION» else LINK=»$LOCATION» fi COUNTER=$(($COUNTER+1)) done
bash dest-finder.sh URL
Ссылки рекомендуется помещать в кавычки, поскольку они могут содержать символы, имеющие специальное значение для оболочки Bash.
bash dest-finder.sh ‘http://hackware.ru/?goto=1’
Теперь нам показаны все четыре редиректа:
Как просмотреть кукиз, которые устанавливают сайты при редиректах
Я задался вопросом, как узнать, какие кукиз установились во время редиректа? Как я уже упомянул, для обработки некоторых редиректов нужно учитывать кукиз, которые устанавливают сайты. Поэтому предыдущий скрипт сохраняет и отправляет кукиз. Поскольку это в любом случае уже делается, то для тех, кому это интересно, в конце работы скрипта показываются кукиз, которые были получены.
Если вам хочется сделать так, чтобы кукиз выводились после каждого редиректа, то вы сможете это сделать немного отредактировав приведённый выше скрипт.
Кстати, если вам просто хочется посмотреть, какие кукиз устанавливает сайт (даже если на странице нет редиректа), то предыдущий скрипт также сработает:
bash dest-finder.sh ‘https://www.youtube.com/watch?v=UFEz5fPYqNc’
Онлайн сервис, который показывает куда ведёт ссылка и кукиз сайтов
Выше дан исходный код простого скрипта, который не требует установки и работает без зависимостей. Если вам хочется онлайн сервис, чтобы не возиться даже с запуском скрипта, то вот он: https://suip.biz/ru/?act=hoper
Раньше этот сервис работал на основе Hoper, но теперь он использует мой скрипт.
То есть, он вам подойдёт если:
- нужно узнать все промежуточные страницы редиректа
- нужно просто посмотреть кукиз, которые устанавливает веб-страница (даже если на ней нет редиректа)
В общем, пользуйтесь, — если найдёте ошибки в работе, то пишите здесь в комментариях — обязательно поправлю.
Связанные статьи:
- Обход файерволов веб приложений Cloudflare, Incapsula, SUCURI (59.1%)
- Поиск виртуальных хостов веб-сервера (59.1%)
- Веб-архивы Интернета: как искать удалённую информацию и восстанавливать сайты (59.1%)
- Зеркала сайта: исследование с точки зрения пентестера и настройка веб-мастером (59.1%)
- FinalRecon: простой и быстрый инструмент для сбора информации о сайте, работает и на Windows (59.1%)
- Базы данных IP адресов организаций и географических мест (материков, стран, провинций и городов) (RANDOM — 40.9%)
Источник: hackware.ru
Проверка URL на переходы
Хотите безопасно проверить куда ведет URL ссылка, сокращенная каким-либо сервисом. Проверка поэтапная и включает в себя все IP адреса промежуточных страниц. Просто вставьте URL который хотите проверить, в поле ниже, и получите результаты его сканирования.
О проверке URL
С помощью URL-чеккера вы можете безопасно проверить ссылку и заранее узнать куда она ведет, обезопасив себя от возможных проблем. А перейдя сразу на конечную ссылку, вы не оставите следов при переходах. Теперь гораздо проще бороться с нелегальными спамерами и хакерами.
Важность проверки ссылок
Любые незнакомые ссылки несут риски, вы можете быть перенаправлены на фишинговый сайт и тп. Наш сервис раскрывает не только конечную ссылку, а так же проверяет ее через базу Google на ее безопасность. Что позволяет снизить риск к минимуму.
- Сократить ссылку
- Логгер геолокации
- Локатор телефона
- IP Трекер
- Невидимый логгер
- Мой IP адрес
- Проверка URL
- IP Счетчики и Юзербары
- Проверить MAC адрес
- Скорость интернета
- Генератор юзерагентов
Источник: iplogger.org
Как узнать адрес, куда ведёт сокращённая ссылка
Да, многие сервисы стараются обезопасить пользователей, проверяя созданные сокращённые ссылки и предупреждая о переходе на сомнительный сайт, либо просто блокируя ссылку. Если же на внимательность машины полагаться не хочется, то можно воспользоваться Unfurlr.
Сервисы сокращения ссылок (URL Shorteners) безусловно полезны. Такая ссылка более эстетично выглядит, её проще прочитать вслух, а некоторые средства коммуникации ограничивают длину сообщения, что обязывает использовать сокращалки. Сервисы укорачивания ссылок почти всегда предоставляют пользователю средства аналитики, с помощью которых можно посмотреть, кто, когда, откуда и в чём переходил по этому адресу.
Для популярных сервисов bit.ly и goo.gl есть простой лайфхак: надо добавить значок + к ссылке и откроется системная страница этих сервисов с данными о том, какая ссылка там зашифрована. Однако, это не идеальное решение, т.к. эта ссылка может в свою очередь перенаправлять вас куда-то дальше.
У многих других сокращалок без дополнительных инструментов вы даже не можете узнать, какой адрес закодирован в сокращённой ссылке. Злоумышленники прекрасно знают об этом и пользуются короткими ссылками для исполнения своих коварных планов.
Unfurlr — это мини-сервис от известного почтового стартапа Mailchimp, который анализирует введённую пользователем короткую ссылку и предоставляет оригинальную ссылку, закодированную в ней. Сейчас в Сети существует большое количество подобных инструментов анализа, но этот экземпляр особо приглянулся нам из-за скорости работы и массы предоставляемой дополнительной информации.
На главной странице Unfurlr находится поле для ввода. Вставляем сюда короткую ссылку и нажимаем Check It.
Помимо оригинальной ссылки Unfurlr предоставит полный путь к конечной ссылке, а также выдаст подробнейший отчет по содержимому этой страницы.
Естественно, все операции по выведению ссылки на чистую воду выполняются на стороне сервиса, и пользователь абсолютно ничем не рискует. В качестве дополнительной опции можно выбрать User-agent, которым сервис должен притвориться при проверке вашей ссылки.
Источник: lifehacker.ru