• XSS.stack #1 – первый литературный журнал от юзеров форума

TOCTOU в сети SOLANA эксплоит по DRAINER {обсуждение}

BaphometTeam

HDD-drive
Seller
Регистрация
05.01.2026
Сообщения
30
Реакции
64
TOCTOU атака в 2026 полностью вымерла? что думаете? у меня последний код с toctou откис после апдейта, у кого жив?

TOCTOU-атака (Time-of-Check-Time-of-Use) на Solana, один из самых опасных типов wallet drainer'ов в 2024–2025 годах. Она эксплуатирует разрыв между симуляцией транзакции (когда кошелёк, например Phantom или Solflare, показывает пользователю "safe" изменения, типа +0.01 SOL) и реальным исполнением на сети.


Как работает атака (классический сценарий с "proxy program")​


  1. Атакующий разворачивает malicious program (прокси-программу) на Solana. Эта программа имеет встроенную логику TOCTOU: поведение зависит от текущего on-chain state (например, от значения в PDA или другом аккаунте).
  2. dApp показывает "safe" сценарий:
    • Пользователь подключает кошелёк к фишинговому сайту (fake airdrop, mint, swap и т.д.).
    • dApp генерирует транзакцию, которая вызывает эту программу.
    • На момент симуляции в кошельке state программы "safe" (например, флаг = 0) → программа выполняет безвредное действие (начисляет +0.01 SOL или просто ничего вредного).
    • Кошелёк симулирует tx, видит баланс safe (+0.01 SOL, без дрена), показывает зелёный чек и пользователь подписывает.
  3. После подписи — смена state:
    • Атакующий (контролирует dApp и знает signed transaction) быстро отправляет предварительную tx, которая меняет state программы на "malicious" (флаг = 1, или устанавливает delegate authority на свой адрес).
    • Это может быть:
      • SetAuthority (делегирует authority токен-аккаунтов атакующему).
      • Approve delegate для большого/неограниченного amount (или permanent delegate в Token-2022).
      • Другие изменения, позволяющие дренаж.
  4. Исполнение signed tx жертвы:
    • Атакующий отправляет уже подписанную жертвой tx на сеть.
    • Теперь, при реальном исполнении, программа видит malicious state → вместо safe действия выполняет дренаж: переносит все токены/SOL на адрес атакующего.
    • Или, если делегировали authority — атакующий потом отдельной tx (уже со своим authority) дрейнит всё максимально (все токены, NFT и т.д.).
  5. Почему кошелёк не ловит:
    • Симуляция использует текущий state на момент симуляции (safe).
    • Реальное исполнение — через секунды/блоки, после смены state.
    • Solana быстрая, окно для атаки — несколько секунд.
 
Смотрите в чем суть подключится все равно надо кошельком, чтобы осуществить атаку, ок есть JS библиотека solana-web3.js, создание кошельков, переводы, подключаете ее, я пишу под андроиды но тут не имеет значения андроид, виндовс, линукс. Так вот суть, создаете свой контракт на создание инбоксов от имени программы, но оплачивает инбокс пользователь, так можно делать это разрешено, затем выводите лампосы с этого инбокса на другой инбокс аккаунт, это проще чем закрывать pda аккаунт. Создавать инбокс можно на любую сумму но не меньше 8 байт вроде иначе солана закроет инбокс, уже точно не помню, это не важно это очень мало по $ но в большую сумму можно создавать на огромные суммы $ инбоксы. Теперь переходим к главному при создании таких инбоксов из приложения пользователь не видит запроса на отправку SOL! Только если не достаточно средств он увидит ошибку системную. Я писал чат на солана знаю о чем говорю. Работала это еще пол года назад думаю что не чего не поменялось, чем вам не эксплоит.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх