📈 #наработки #defense #offense #web #web3
▶️Не так давно мы с вами обсудили дрейнеры в блокчейне TON; Тогда же мы c командой Neplox обратили внимание на особенности работы TON Connect — протокола для коммуникации dApp 🔄 кошельки; А теперь – подробнее, в новой статье:
🧩 ‟TON't Connect! NOTe on securing TON Wallets” (@neploxaudit)
⌨️ Вот так веб-приложения подключают TON Connect:
const tonConnectUI = new TonConnectUI({
buttonRootId: '',
manifestUrl: 'https://neplox.security/tonconnect-manifest.json',
...
});
⌨️ Вот так они рассказывают о себе кошелькам через манифест, tonconnect-manifest.json:
{
"url": "https://neplox.security",
"name": "Neplox dApp",
"iconUrl": "https://neplox.security/icons/neplox.svg"
...
}
▶️Заметили, что кошельки полагаются на информацию, предоставляемую [потенциально вредоносными!] приложениями в манифестах:
Некоторые – не предупреждают пользователей об опасностях, некоторые – недостаточно нормализуют данные, в связи с чем оказываются уязвимы; Сообщили вендорам, а теперь – вам!
// Время чтения: ~20 минут
➡Enjoy! 🙇♂
@HaHacking 🐇
▶️Не так давно мы с вами обсудили дрейнеры в блокчейне TON; Тогда же мы c командой Neplox обратили внимание на особенности работы TON Connect — протокола для коммуникации dApp 🔄 кошельки; А теперь – подробнее, в новой статье:
🧩 ‟TON't Connect! NOTe on securing TON Wallets” (@neploxaudit)
⌨️ Вот так веб-приложения подключают TON Connect:
const tonConnectUI = new TonConnectUI({
buttonRootId: '',
manifestUrl: 'https://neplox.security/tonconnect-manifest.json',
...
});
⌨️ Вот так они рассказывают о себе кошелькам через манифест, tonconnect-manifest.json:
{
"url": "https://neplox.security",
"name": "Neplox dApp",
"iconUrl": "https://neplox.security/icons/neplox.svg"
...
}
▶️Заметили, что кошельки полагаются на информацию, предоставляемую [потенциально вредоносными!] приложениями в манифестах:
Некоторые – не предупреждают пользователей об опасностях, некоторые – недостаточно нормализуют данные, в связи с чем оказываются уязвимы; Сообщили вендорам, а теперь – вам!
1️⃣ Wallet impersonation:
Особенности протокола, благодаря которым возможна подделка кошелька➡️вектор для правдоподобного фишинга ❗️
2️⃣ DApp impersonation:
Особенности протокола, благодаря которым вредоносные приложения успешно притворяются легитимными;
3️⃣ Redirects from trusted context:
Недостатки реализации кошельков, из-за которых пользователи доверяют приложениям;
4️⃣ UI Redressing:
Перерисовка UI кошельков из-за некорректного парсинга манифестов➡️вектор для Clickjacking ❗️
5️⃣ XSS:
Внедрение полезной нагрузки в контекст кошельков из-за некорректного парсинга манифестов➡️взаимодействие с хранилищами / API вызовы / утечка данных / утечка средств / ... ❗️
// Время чтения: ~20 минут
➡Enjoy! 🙇♂
@HaHacking 🐇