Кавычка
16.4K subscribers
83 photos
2 videos
12 files
184 links
Практическая безопасность. Уязвимости и атаки на веб-приложения.

Чат @WebPwnChat

Только авторский контент, без репостов и рекламы (простите).

Вместо лайка:
https://t.iss.one/webpwn?boost

Платный канал:
https://t.iss.one/tribute/app?startapp=s2Vr
Download Telegram
Любую функцию javascript можно выполнить без использования каких-либо букв.

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

2) https://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 🤔?
1
Вдогонку: в архив можно всунуть не только симлинк, но и файл с вектором path traversal в имени.
Некоторые библиотеки для работы с архивами были уязвимы к такой атаке и при распаковке читали произвольные файлы.
Скрипт для создания таких архивов: https://github.com/ptoomey3/evilarc
В PHP-приложениях есть куча разных уязвимостей, техник эксплуатации и атак. Тему активно ковыряют лет 10 и вроде бы всё уже расковыряли, и постепенно многие техники сходят на нет.

Но всё равно находятся неожиданные вещи в очевидных местах. Например, на HITCON CTF автор дал задачу по мотивам своих находок, в которой, как выяснилось, нужно было довести чтение произвольных файлов до исполнения кода.
Подробности тут: https://rdot.org/forum/showthread.php?t=4379

Если коротко, то любой вызов PHP-функции чтения файлов (поддерживающей обёртки) с контролируемым префиксом может привести к произвольной десериализации.
В частности, можно использовать аналог техники LFI via phpinfo, чтобы загрузить боевой PHAR-вектор и одновременно прочитать его, причём даже не обязательно, чтоб был вывод ответа, достаточно самого вызова функции чтения.
Комикс о UXSS в Safari и Chrome
https://bo0om.ru/chrome-and-safari-uxss
Green Dog:
Я на WebVillage буду рассказывать про баги связанные с десериализаций. Выложил пучок мини-вебприложух в докер контейнерах, чтобы можно было потыкать желающим. https://github.com/GrrrDog/ZeroNights-WebVillage-2017
Синтаксис регулярных выражений в js выглядит как /pattern/flags.
Но помимо флагов, можно вернуть текст шаблона (исходный) с помощью свойства source.

Вжух, скрываем javascript:alert() от злых защит:

location=/jav/.source+/ascript/.source+/:/.source+/alert/.source+/``/.source


#XSS
А вот и презентации, в том числе с Web Village
https://2017.zeronights.ru/materials/
Особенности Safari в client-side атаках.
https://bo0om.ru/safari-client-side

Safari все больше напоминает IE 🤔
Вы ведь все пользуетесь nmap? А команда Vulners сделала плагин, которого всем не хватало!
Теперь вы не просто можете просканировать удаленный хост, но и найти на нем уязвимости!
И все это используя Nmap с плагином Vulners - https://github.com/vulnersCom/nmap-vulners
Здравствуйте!
На серверах Вашей компании найдена уязвимость чтения произвольного участка памяти в обход имеющихся привилегий.
Злоумышленник может получить доступ к исходным кодам, паролям, данным пользователей, как следствие, скомпрометировать сервера компании не оставив при этом следов.
Для исправления уязвимости необходимо обновить все процессоры до модели, которые выпускаются начиная с 2018 года. Рекомендуем рассмотреть процессор «Эльбрус».
*trollface*
DOM XSS, вектор которых был через location.hash, похоже, умрет в Chrome начиная с 65 версии
Кавычка
DOM XSS, вектор которых был через location.hash, похоже, умрет в Chrome начиная с 65 версии
Ну мы тут трем за кавычки, а все что касается безопасности браузеров - на канале @br0wsec, подключайтесь :)
Тег вида <link rel=import> импортирует содержимое стороннего документа на текущую страницу (вжух https://w3c.github.io/webcomponents/spec/imports/index.html). А в Google Chrome можно импортировать html из любого файла, с абсолютно любым типом контента (заголовок Content-type) в том числе, если будет присутствовать указание не пытаться определить содержимое (X-Content-Type-Options: nosniff).

Для примера, создадим файл с случайными данными и добавим вконце тег script
head -c 1000000 /dev/urandom > /tmp/bin.bin
echo "<script>alert()</script>" >> /tmp/bin.bin


Теперь попробуем его импортировать: https://bo0om.ru/bin.html
И скрипт выполнится!

Таким образом, достаточно загрузить любой файл на ресурс, будь это валидное изображение или любой другой документ, в тело которого предварительно записан js - и вызвать его с помощью <link rel=import href=/path/to/file>. Так как обращение идет к ссылке текущего домена - такая ссылка не будет заблокированна Chrome XSS Auditor'ом.
Знакомые тебе форматы Microsoft Office: docx, xlsx, это zip архив, содержащий данные в виде XML (они так и называются - Office Open XML и подобны OpenDocument Format). А это значит, что если сайт обрабатывает (парсит, конвентирует) подобные файлы - есть вероятность атаки XXE (https://xakep.ru/2012/12/11/xml-apps-attacks-manual/), как следствие, чтение произвольных файлов, SSRF, DoS, в идеале - выполнение произвольного кода.

Если веб-приложение пытается работать с метаданными в изображении (jpg, png, gif, да-да), такими как XMP - то можно попробовать выполнить атаку с помощью них! Чего уж говорить об изображении формата SVG (это вообще XML в чистом виде)!

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

https://github.com/BuffaloWill/oxml_xxe
А ты используешь Burp Suite? А лицензионный? Если нет, аккуратнее там, как минимум Burp Suite Loader 1.7.31 - тот еще конь. Хотя, вполне ожидаемо, чаще всего малварь распространяется в крякнутом софте.

https://0x00sec.org/t/malware-reversing-burpsuite-keygen/5167