0$ за SOLSCAN API PRO
Кейс с обходом платной подписки за 200$ на API SolScan PRO. Думаете, что только вайбкодеры делают дырявые приложения без защиты?
Компания, зарабатывающая на платном доступе к данным, не может настроить нормальную защиту. Как? Они генерируют ключи доступа к API за 200$/m на стороне клиента 👍
Solscan это explorer блоков для Solana. Через него можно найти любую транзакцию, токен и все данные по цепочке. Их API очень полезно для создания проектов по анализу блокчейна (торговых ботов, скраперов и прочих)
⛓ Разберемся подробней
Автор, который нашел обход, решил проверить Network вкладку dev tools и увидел много XMLHttpRequest запросов, которые выдают данные по транзакциям на стороне клиента
У сервисов с нормальной защитой все эти данные генерируются на стороне сервиса. Никто не использует незащищенные API и тем более внутренные вызовы этого API, которые можно перехватить
В общем, Solscan подзабили на это и почти целый год юзают открытый API. И в каждом запросе к нему используется заголовок sol-aut, который выглядит как случайная строка
НО!
Автор покопался в Source разделе и через поиск нашел функцию generateRandomString()
Делает она то, что вы и ожидаете от нее - генерирует нужный заголовок. И самое тупое, то что эта функция БЕЗ ОБФУСКАЦИИ КОДА, то есть никак не защищена
Функция генерирует случайную строку из 40 символов, затем вставляет кусок «B9dls0fK» в случайное место полученной строки. Все, это и вся защита....
После полученный sol-aut вставляется в заголовок запроса и можно пользоваться PRO API за 0$ вместо 200$. Отличная экономия. Итоговый скрипт на Python выглядит так
Вы можете использовать данную уязвимость просто установив библиотеку free-solscan-api. Там же вы найдете подробный гайд по тому, как была найдена ошибка
💡 Какие выводы можно сделать?
Сейчас любой сайт можно проанализировать агентом, который найдет как обмануть систему. Да, это быстро пофиксят, но сам факт что эта дыра была год — удивительно
Больше информации о том, как при помощи нейросети находить обходы на сайтах можете найти в моем Telegram канале