Почему сайты на Tilda небезопасны и что делать, если уже есть сайт на этом сервисе
Вместе с инициативой «КіберБабёр» мы уже писали о том, почему лучше отказаться от пользования российскими сервисами. Обратная связь на цитируемый материал показала, что больше всего актуальна информация о Tilda и на какой альтернативный конструктор сайтов можно переносить свои проекты. Разбираемся вместе.
Tilda — это конструктор для создания сайтов, блогов, email-рассылок, количество которых только выросло в последние годы. Использование этого конструктора актуально, если нужно быстро сделать сайт без больших ресурсных затрат на команду разработчиков, домен и хостинг. Однако при создании сайта важно учитывать не только функционал сервиса, но и безопасность, свою и пользовател_ниц.
С каких пор и почему Tilda небезопасна
Tilda, как и любой другой ресурс в интернете, имеет свою юрисдикцию работы. Юрисдикция сервиса — это подчинение работы сервиса законам той или иной страны. Тут и кроется главная уязвимость Tilda. В пользовательском соглашении указано, что работа сервиса лежит в рамках законов РФ, кроме моментов, когда «местонахождением Пользователя не является Российская Федерация». Если какой-то сервис лежит в беларусской и российской юрисдикции, то скорее всего, эти сервисы тесно сотрудничают с силовыми ведомствами или находят компромиссы, жертвуя безопасностью пользовател_ниц. А это, в свою очередь, значит передачу данных о пользователях, возможную блокировку или удаление информации по запросам и без них.
Самые громкие прецеденты блокировки сайтов самим сервисом
Одним из громких кейсов было удаление страницы об обвиняемых по «ростовскому делу» Владиславе Мордасове и Яне Сидорове. Несмотря на то, что в официальном комментарии Tilda Publishing поначалу есть фраза о том, что «ни о какой массовой блокировке речь не идет». Позже идут слова о том, что «если вы создаете сайт, содержащий контент, который призывает к каким-то политическим действиям, выражает политическую позицию, лучше выбрать другую платформу — Тильда не единственный конструктор сайтов».
Подтверждением этих слов являются и другие блокировки сайтов, созданных на Tilda:
-
об акциях в Москве, созданный активисткой Ольгой Мисик с целью сбора информации для курсовой работы. Движения сознательных отказников от военной службы. о Мариуполе и его жизни перед Новым годом с сайта «Псковской губернии».
Несмотря на то что некоторые из сайтов потом восстанавливали, случившиеся ситуации дают задуматься об использовании Tilda Publishing.
В пункте 7.8 пользовательского соглашения Tilda Publishing находится список контента, который запрещён для публикации, хранения, передачи с помощью Tilda. В нём подчёркивается, что сервис не предназначен для «размещения и публикации информации и/или проектов, имеющих разоблачающий, оскорбляющий, скандальный и иной подобный характер», а также пользователь не вправе размещать и хранить контент, который является экстремистским.
Публичных кейсов о передаче данных о пользователях Tilda цифровые эксперт_ки пока не видели. Однако они предполагают, что если блокировки сайтов происходят без предупреждений, то и о передаче данных может быть не сообщено ни владельцу аккаунта на Tilda, ни пользователям сайта, созданном на этом же конструкторе.
Речь идёт о следующих данных:
- информация о создателе сайта: кто сделал сайт, с какого ip-адреса (местонахождение), имя, аватарка, данные банковской карты (номер, какой банк);
- информация о пользователях сайта: с каких ip-адресов идут запросы (местонахождения пользователей), какие вкладки на сайте открывают, как долго находятся, какие формы заполняют, а также данные из самих форм, если они сделаны через встроенные инструменты Tilda.
Что же делать, если уже есть рабочий сайт на Tilda
Решение зависит полностью от ваших задач и потребностей. Команда «КіберБабёр» предлагает действовать по такому алгоритму:
- Сначала оцените свои риски при наличии сайта на Tilda. Если у вас сайт о продаже кошек, то мы не видим серьёзных причин переносить свой сайт на другой конструктор. Если сомневаетесь, попадаете ли вы под запрещённые для публикации материалы, откройте 7.8 пункт пользовательского соглашения Tilda Publishing.
- Далее оцените, хотите ли вы оставлять свой сайт на Tilda, если есть риск передачи данных о вас и пользователях вашего сайта. Например, у вас сайт доставки цветов, контент не попадает под запрещённый для публикации, но вы хотите защищать персональные данные людей, которые к вам обращаются. Тогда можно доработать отдельные элементы вашего сайта: собирать данные не через встроенную форму Tilda, а через Google Forms; использовать Google Maps вместо Яндекс Карт, Google Analytics вместо Яндекс Метрики и тд.
- Если ваш случай не попадает под предыдущие два, то ваше решение скорее всего заключается в переносе сайта на другой конструктор или в работе над сайтом с командой разработчиков. Сразу расскажем, почему скачать файл с Tilda и просто перенести — плохой вариант. Когда вы скачиваете сайт фалом, то в нём остаются некоторые элементы Tilda, например, библиотеки или метрики. Это значит, что, когда вы распакуете сайт на новом конструкторе, оставшиеся элементы будут пересылать вас на те же сервера Tilda, поэтому безопасности это не гарантирует. Дальше три варианта для действий: (1) нанять программиста, который из скачанного сайта вручную удалит оставшиеся элементы, которые ведут на сервера Tilda Publishing; (2) переделать сайт заново про примеру существующего без скачивания архива сайта (либо на конструкторе, либо вручную с командой разработчиков) и (3) принять риски оставшийся фалов и просто перенести сайт на другой конструктор.
«Я хочу перенести свой сайт на другой конструктор. Какой вы порекомендуете?», — такой запрос прислали в чат-бот КіберБабра недавно.
— В создании сайта мы видим два ключевых элемента: функциональность и безопасность. Конструкторы сайтов не решают все проблемы, они лишь упрощают и удешевляют процесс работы. Поэтому перед тем, как выбрать конструктор сайта, рекомендуем оценить цели, которые непосредственно сайт должен решать. Если вам нужен сайт с разделами разного формата и серьёзная система безопасности и поддержки сайта, то более выгодно может быть нанять команду специалистов. Именно они смогут создать и безопасный, и функциональный сайт (если, конечно, вы поставите им эти задачи).
Если всё-таки говорить про конструкторы сайтов, которые работают в другой юрисдикции (значит, риск передачи данных беларусским и российским силовым структурам значительно уменьшается), то рекомендуем обратить внимание на:
- Wix,
- Readymag,
- Weebly,
- Webflow,
- Squarespace,
- WordPress.com,
- Blogger.com.
Конечно, любые платформы — это риск разной степени. Кроме блокировок и выдачи данных силовым структурам, есть другие риски, которые применимы ко всем конструкторам сайтов вне зависимости от их юрисдикции. Например, конструктор стал банкротом и закрылся или ваш аккаунт взломали, украли и переписали всю информацию на сайте. Поэтому к безопасности важно подходить с разных сторон и включать разные риски в планирование работы: от хакерских атак до отсутствия ресурсов на поддержку работы сайта.
Если у вас есть истории успехов или провалов с переносом сайтов на другие конструкторы, пишите в бот КіберБабра. Цифровые эксперт_ки постараются найти варианты решения проблемы!
Как взломать сайт с помощью HTML кода?
Если у вас есть какие-то знания HTML и JavaScript, вы можете взламывать пароли на защищенных сайтах. Мы расскажем вам о том, как довольно просто взломать сайт через HTML. Используйте данный метод ответственно.
Примечание: Данный метод сработает только в том случае, если у сайта совсем слабая защита. Веб-сайты с более надежной степенью защиты не удастся взломать столь простым способом.
1. Откройте сайт, который вы хотите взломать. Введите неправильную комбинацию логина и пароля. Появится окно с сообщением об ошибке.

2. Нажмите правой кнопкой мыши на странице с ошибкой =>> просмотр исходного кода (просмотр кода страницы).

3. Просмотрите исходный код.Откроется окно с HTML кодом и JavaScript.
•Скопируйте URL ссылку на сайт перед информацией о логине. (например:»< _form……….action=http://www.targetwebsite.com/login…….>»)

4. Удалите JavaScript информацию о сервере.(Делайте это очень осторожно, нужно аккуратно удалить java script, который проверяет информацию вашего сервера)

5. Найдите строчку «<_input name=»password» type=»password»>»[без кавычек] -> наберите «<_type=text> “ вместо «<_type=password>».Посмотрите превышает ли максимальная длина пароля 11 символов.
6. Перейдите в Файл => сохранить как, затем сохраните файл на компьютере с расширением .html (например: c:\chan.html).

7. Откройте страницу, нажав на файл chan.html, который вы сохранили на компьютере.На текущей странице, если сравнить с исходной, будут некоторые изменения. Не стоит переживать.

8. Наберите любой логин и пароль.Поздравляем, вы взломали сайт и вошли под пользователем, который теперь есть в базе данных!
Как ломать сайты криворуких программистов.
Для того чтобы понять что тут происходит в принципе не нужно уметь программировать, знать SQL язык. Достаточно быть не сильно идиотом.
Что из себя представляют SQL инъекции? Это некие неправомерные действия, которые не предполагались выполняться данным скриптом.
Если привести пример из реальности, то это будет нечто такое:
Мать написала отцу записку:
А Вася взял и дописал: » и Пива»
В итоге отец видит записку:
Конечно когда прочитают логи и сверят данные Вася получит ремня, но временно он взломал систему. (поэтому правило первое, старайтесь действовать так чтоб вас не спалили)
Тут я подготовил простенький интерфейс на котором можно побаловаться:
По нормальному мы можем добавить строку, либо вытащить данные по поиску данной строки, дабы каждый ещё смог оставить немного своей дури:


Попробуем в поле поиска вбить не ololo
Вывод выдаёт то же самое, итого мы можем применять инъекции.
В коде на сервере запрос выглядит так
Мы же сами закрываем кавычки и комментируем всё последующее двумя дефисами.
Что же мы можем сделать теперь?
Например добавить свой вывод:
В этом случае мы выводим 1,2, но кому это интересно?
Если уж мы получили делать возможность инъекции необходимо узнать структуру базы, дабы получить возможность формировать желаемые запросы.
Получаем список баз

Таким запросом мы получим список баз к которым у данного пользователя есть доступ.
Тут в принципе не нужно ничего понимать, мы выводим столько же полей, потому как знаем что у нас их 2. Но в первое выводим через запятую все базы, к которым можем получить доступ.
Отлично, мы знаем что наша база называется injection
Теперь получим список таблиц нашей базы

Получаем список колонок из таблицы secret
‘ AND 0>1 UNION SELECT GROUP_CONCAT(distinct(column_name)), 1 FROM information_schema.columns WHERE table_schema=’injection’ and table_name=’secret’ and »=’
Их внезапно тоже 2, так что не парясь можно получить всё содержимое.
Много воли я решил не давать вам на сервере, например нет возможности редактировать структуру базы, создавать новые таблицы, удалять строки. Иначе начнётся тотальный треш.
В сущности, сейчас найти данную уязвимость практически невозможно. Но всякое в жизни бывает.
Так например было дело, на каком-то ресурсе удалось при редактировании своего пароля установить такой пароль всем, потому как было что-то типа:
UPDATE `users` SET `password`=’$password’ WHERE >
Ну и если мы делаем переменную $password
newPass’ — ololo
То пароль newPass ставится для всех пользователей.
Защититься от инъекций куда проще, чем их использовать, но если доступ к оным получен — это дарует много возможностей.
Если кто-то сможет сделать insert/update в таблицу secret каким-то образом — с меня пиво первому сделавшему..)

1.4K поста 25.3K подписчиков
Правила сообщества
Обязательно к прочтению для авторов:
1. Если вы добавляете пост, утверждающий об утечке данных или наличии дыр в системе, предоставьте ссылку на источники или технически подкованное расследование. Посты из разряда «Какой-то банк слил данные, потому что мне звонили мошенники» будут выноситься в общую ленту.
2. Все вопросы «Как обезопасить сервер\приложение\устройство» — в лигу «Компьютер это просто».
Обязательно к прочтению для всех:
Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.
Запрещены политические holy wars.
По решению модератора или администратора сообщества пользователь будет забанен за:
1. Флуд и оскорбление пользователя, в т.ч. провокация спора, флуда, холивара (высказывание без аргументации о конкретной применимости конкретного решения в конкретной ситуации), требование уже данного ответа, распространение сведений порочащих честь и репутацию, принижающих квалификацию оппонента, переходы на личности.
2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.
3. За обвинение в киберпреступной деятельности.
4. За нарушение прочих Правил Пикабу.
не помню, на каком уровне застрял, но помню, что так и не прошел. начинающим хацкерам — рекомендую )
Вижу, кто-то начал добавлять html теги )
Мой любимый <plaintext> — он по сути экранирует хтмл теги. Но он на столько сильный что экранирует закрытие себя. Те один раз открывшись его не закрыть и весь код дальнейший идёт в виде текста)
опять про тех, кто подготовленные выражения не использует? это мануал в стиле «как трахнуть в жопу того, кто застрял в заборе»
Нихуясе, на Пикабу уже курсы хакеров открыли
Подборка SQL тренажёров
1. Интерактивный тренажер по SQL – Stepik
В курсе большинство шагов — это практические задания на создание SQL-запросов. Каждый шаг включает минимальные теоретические аспекты по базам данных или языку SQL, примеры похожих запросов и пояснение к реализации.
2. SQL Тренажер. Бесконечное приключение 00. Интро. – Stepik
Короткий тренажер, с интересным сценарием уроков.
В игровой форме закрепляются знания SQL. Необычные задачи от простого к сложному. Планируется целый цикл интересных историй, где каждое задание это необычный квест. Сейчас пока самые простые азы.
3. SQL Academy: онлайн курс SQL и тренажёр c упражнениями ( sql-academy.org )
Всесторонний курс по SQL, спроектированный так, чтобы навсегда изменить твоё отношение к SQL. Мы вместе пройдём путь, чтобы понять как этот язык работает, и получим все необходимые навыки для эффективного применения его на работе.
4. Упражнения по SQL ( sql-ex.ru )
Сайт поможет каждому, кто хочет приобрести или повысить свои навыки в написании операторов манипуляции данными языка SQL. Суть обучения состоит в том, что вы сами пишете операторы, которые должны вернуть или изменить данные, требуемые заданием.
5. Задачи по Python, SQL, программированию и Data Science | IT Resume
Сайт с платным доступом, но часть задач беспалтные.
[Тестовое Альфа-банк] Покупки телефонов в Туле по месяцам | IT Resume
6. Master Coding for Data Science — StrataScratch
Зарубежный сайт, напоминающий leetCode, есть бесплатная версия использования
Материал подготовлен участниками чата

Пишем приложение на Mi Band 7 с сервисной частью
Недавно я купил себе Mi band 7, по началу хотел купить 6-ую версию, пока не узнал, что на 7-ой обновилась операционная система и теперь она поддерживает установку приложений. Да, официально они об этом не заявили, но умельцы уже сделали множество приложений. Они ставят их как циферблаты, и это вполне обычные приложения. Но все эти приложения работают только локально на самом MiBand 7, не имея возможности взаимодействовать ни с телефоном, ни с интернетом. Я углубился в байткод приложения и документацию по Zepp OS чтобы найти способ создавать приложения, взаимодействующие с интернетом, в этой статье я опишу свой путь. В итоге у меня получилось сделать запрос в интернет с часов и даже запустить мост для отладки приложений.

Сразу скажу, что я уже публиковал эту статью на Хабр. Но хочу теперь попробовать начать писать статьи на Пикабу, так что я буду очень рад любым комментариям и отзывам. Надеюсь пользователям Пикабу эта статья тоже зайдет)
Эта статья написана чисто в ознакомительных целях. Я не призываю никого к переработке кода для добавления новых функций с целью использования и распространения переделанного ПО.
Почему приложения официально не поддерживаются?
Мне интересен этот вопрос, но к сожалению я не знаю причин. Похоже что Xiaomi Band 7 сделала для xiaomi компания zepp. И им было проще не поддерживать другую операционную систему, а использовать уже имеющиеся наработки для часов zepp. Поэтому на этих часах стоит система ZeppOS. Вероятно Xiaomi решила не платить за все фишки системы и поэтому функционал часов программно ограничен.
Начало
Для начала, чтобы разобраться как работает система, я попробовал поставить пару приложений от MelianMiko. Ставил самым простым способом, через приложение для установки циферблатов, подробности можете почитать на 4PDA. Я немного поразбирался в структуре приложений и вот что я понял: приложение это bin файл, который является простым zip архивом с, как минимум, несколькими файлами: app.json(Manifest), app.js(Код инициализации и деинициализации приложения при запуске), index.js(Код страницы),icon.png. Далее я пошел на сайт официальной документации по ZeppOS, там описано как включать режим отладки через приложение ZeppApp. Но попробовав подключить часы через это приложения я получил ошибку:

Я решил на этом не останавливаться, скачал это приложение версии 7.0.1, декомпилировал через apktool в байткод и через jadx в java код:
apktool d com.huami.watch.hmwatchmanager_7.0.1-play_100802.apk jadx com.huami.watch.hmwatchmanager_7.0.1-play_100802.apk -d com.huami.watch.hmwatchmanager_7.0.1-play_100802_JADX
Далее для исследование кода проще использовать результат jadx, но скомпилировать обратно получится только результат apktool, поэтому изменения придется делать в байткоде.
Для начала я убедился что это приложение поддерживает ну или когда-то поддерживало MiBand. Для этого я нашел несколько упоминаний MiBand 7 (Официально он называется Xiaomi Smart Band 7). Его кодовое название в приложении “MILI_L66”.

Далее я решил обмануть приложение(пока без его изменения) и попробовал подключить свои часы к приложению, притворившись другими часами. Для этого я отсканировал qr для сетапа на своих часах я получил такую ссылку:

В ней указан мак адресс, pnpNumber, pnpVersion — это похоже какие-то идентификаторы устройства. Я пробовал их заменить, но это не помогло, поэтому я решил посмотреть, какие qr коды у других устройств zepp при сетапе. В гугл я нашел видео в привязкой Amazfit Band 7, отсканировал код, получил такую ссылку:
Эта ссылка ссылается совсем на другое доменное имя. Далее я решил попробовать просто подставить в этот URL macAddress из своего qr кода и сделать с этого url qr код. И это помогло, мои часы подключились, приложение засетапило их как Amazfit Band 7.

Я обнаружил что весь функционал из приложения Xiaomi здесь есть и я могу полноценно настраивать свои часы. Но после сетапа приложения понимало что у меня не Amazfit а Mi Band и не давало возможности ставить никакие приложения и циферблаты для Amazfit. Поэтому дальше я решил переделать приложение.
Перекомпиляция приложения
Чтобы приложение дало мне возможность ставить mini apps на часы, я решил заставить его думать что у меня не Xiaomi Smart Band 7, а Amazfit Band 7. Для этого таже как и для Mi Band 7, нашел кодовое название для Amazfit Band 7 — “MiliBari”:

Далее нашел все упоминания MILI_L66 и MILI_BARI. Самым интересным показался класс HMDeviceSource:

Вы можете в нем увидеть коды соответствующие разным типам устройств — их идентификаторы.
Далее необходимо переключиться на байткод, который нам выдал apktools.
Здесь я тоже нашел байткод класса HMDeviceSource$a.smali и изменил в нем 3 строки как на скриншотах:


Теперь можно собрать его обратно, подписать, установить. Оригинальное приложение придется сначала удалить, так как подпись теперь не оригинальная.
apktool b com.huami.watch.hmwatchmanager_7.0.1-play_100802 —use-aapt2 apksigner sign —ks-key-alias alias_name —ks-pass pass:123456 —ks release-key.keystore com.huami.watch.hmwatchmanager_7.0.1-play_100802/dist/com.huami.watch.hmwatchmanager_7.0.1-play_100802.apk adb install com.huami.watch.hmwatchmanager_7.0.1-play_100802/dist/com.huami.watch.hmwatchmanager_7.0.1-play_100802.apk
Теперь можно снова логиниться в приложении и подключать Mi Band как я описывал выше, изменяя qr код.
Работа перекомпилированного приложения
После этих манипуляций приложение начало отображать функционал как для amazfit band 7! Ура! На изображении сначала будет Mi Band 7, но если поменять циферблат, то оно сменится на amazfit band 7. У меня циферблат от Аmazfit встал как родной.


Также теперь появилась кнопка App Store, там можно поставить приложения из магазина для amazfit band 7. Не все заработали идеально, но большинство. Их почему-то в магазине пока только 5. Видимо пока весьма маленькое сообщество разработчиков)

Далее я уже пытался поставить свое приложение, с сервисной частью, сначала я пошел по сложному пути, подменяя файлы приложения. Позже понял, что можно воспользоваться мостом в режиме разработчика на приложении, что гораздо проще и позволяет выводить логи. Вероятно разработчики могут прекратить поддерживать отладку через мост, когда эта версия приложения устареет. Но в этой статье я опишу только путь попроще, через мост. Если вам будет интересно, могу потом описать второй путь.
Создание проекта
На 4PDA я нашел проекты пользователя MelianMiko. Он сделал и симулятор mi band, и множество приложений, и утилиту для сборки проектов — zmake. Можете ими воспользоваться для создания простых приложений, но как я понял zmake создает проекты только без сервисной части, выполняемой на телефоне. Еще в отличии от официального сборщика он, не сжимает код в bin файл, а оставляет в формате js(Тут может ошибаюсь, поправьте если не так). Симулятор к сожалению не работает под Linux и MacOS, поэтому я им не пользовался, вместо него использовал официальный симулятор Amazfit band 7.
Для создания проекта я использовал официальную утилиту zeus для ZeppOS. Новый проект можно создать командой zeus create project-name. Необходимо выбрать “1.0 API”, апи второй версии MiBand 7 не поддерживает.
Далее опишу содержимое собранного приложения, это не очень нужная информация, просто для общего ознакомления.
Когда проект будет готов, его можно собрать командой zeus build. В папке dist появится архив в формате zab, его можно открыть как простой zip архив. В нем манифест с описанием приложения и архив common.zpk, который тоже открывается как zip архив. В нем уже можно увидите основные составляющие приложения:

Файл device.zip содержит код выполняемый на часах, ему можно сменить формат на bin и поставить даже через приложение для установки циферблатов.
Файл app-side.zip сожержит код выполняемый на стороне телефона.
Вроде еще может быть файл, описывающий настройку mini app с помощью приложения телефона.
Отличный набор примеров приложений, в том числе с сервисной частью, есть на github. Я, как основу, взял пример “fetch-api”.
Настройка моста
Тут нет ничего особенного, все из документации ZeppOS. Необходимо залогиниться в один аккаунт в приложении на телефоне и в приложении симуляторе. Включить режим разработчика в приложении и потом выбрать часы в списке устройств, открыть внизу настройки разработчика и в выпадающем списка нажать кнопку включения моста. После подключиться к мосту надо и в приложении симуляторе, нажав кнопку Bridge.

Теперь можно пользоваться консольной утилитой zeus для отладки проекта:
Запрос в интернет по кнопке на часах.
Как я уже писал выше, я взял за основу пример проекта с официального гитхаб аккаунта zepp os, “fetch-api”. Изменив код в app-side, я сделал запрос с телефона на домен ident.me, чтобы получить мой текущий внешний ip, ради примера.

Вывод
В итоге я получил небольшое приложение на часах, которое может когда угодно выводить мне мой внешний ip. Это конечно не та цель, к которой я стремился. Моей целью было продемонстрировать, то что на самом деле у часов Mi Band 7 есть скрытый, программно ограниченный функционал. Эти часы могут не просто менять циферблаты, но и работать с приложениями. И даже отправлять данные через телефон в интернет и получать ответ. Такие приложения можно использовать например для управления умным домом) Вероятно в будущих версиях часов об этом официально заявят, но пока такого нет. Даже на Band 7 Pro официально не стоит zepp os.

P.S. Это была моя первая статья. Надеюсь вам было интересно, пишите комментарии, буду рад любой критике!
Недавно я создал телеграм канал. Там я планирую регулярно делиться интересными мыслями по темам информационной безопасности, программирования и нейросетей. Если вам интересны такие темы, присоединяйтесь) буду делиться там подобным контентом.
Немного Информационной Безопасности
Я в IT 7 лет, 2 из них работаю в ИБ. Полного гайда как выстаивать безопасность не будет. Хочу лишь рассказать:
Многие системы ИБ, защищая от вредоносов именно из интернета, работают на "сервисах", и платных "подписках", которые в свою очередь и есть та самая Big Data.
Условно, у нас есть точка в выхода в интернет, тут-то мы и ставим железяку, которая фильтрует каждый пакет. Она филтрует его очень по-разному, как только это возможно. С разными протоколами — по-разному. Смотрим адрес источника, смотрим домен — условно pikabu.ru. У нас, как у большой компании занимающейся ИБ, есть базы данных с "плохими" и "хорошими" сайтами, IP адресами, хэшами файлов(уникальный слепок файла).
Ну и мы, собственно, по этой подписке, получаем свежие базы данных, прям как обновления антивируса. У нас есть базы URL(плохие сайты), базы серверов command and control(адреса плохих серверов), базы антивируса тоже есть, базы спамеров есть, и есть базы с уязвимостями(IPS/IDS).
И вот тут надо всё это настроить правильно — сначала отсеиваем крупную рыбу — IP-адреса, сайты, запрещаем доступ ко всяким порно, играм и тп. По подписке мы получаем всё это в отсортированов виде по категориям, чтоб удоьненько сразу одной галкой блокировать все соц.сети например.
Но у нас есть телеграмм, через который можно скачать что угодно. А как мы знаем, он у нас шифрованный и никакие ключи, никому не передаёт — дыра. Либо запретить телеграмм, блокировать, либо, что делать?
А мы ставим агент на машину — будь то Windows, Android, iOS, macOS, которая всё-всё что туда записывается, поступает — анализируется. И тоже всё фильтруем по нашим базам, по нашей Big Data'е.
Если интересно расскажу подробнее, можно даже серию постов забабахать про разные продукты, с которыми я более-менее знаком. Если интересно то как — простым языком, или больше деталей, сленга?
Я ради плюсов пишу, но если будет только парочка — мне хватит. Спасибо.

MySQL: зачем нужны MyISAM таблицы, когда есть InnoDB

MySQL уверенно занимает второе место в мире по популярности среди реляционных СУБД, поэтому сегодня я решил написать немного про неё, вернее про типы её таблиц.
Всем, кто разрабатывает в MySql хорошо известно, что при создании таблиц в этой СУБД необходимо выбирать их тип (ещё это называют «движок»). В оригинале эта характеристика таблиц называется (storage) engine.
Есть два основных типа таблиц в MySQL (два основных storage engine): MyISAM и InnoDB. Примечательно, что в старых версиях СУБД, по-умолчанию, при создании таблиц, предлагалось их создавать с типом MyISAM. Начиная с MySQL 8.0 теперь по-умолчанию предлагается тип InnoDB.
Главным отличием таблиц этих двух типов является то, что таблицы MyISAM не поддерживают транзакции. Операции по вставке, изменению или удалению данных нельзя отменить (ROLLBACK не откатывает выполненные команды). Тип MyISAM обязательно указывают для таблиц, данные в которых должны быть вставлены/изменены/удалены вне зависимости от состояния основной транзакции, так как эта основная транзакция выполняющейся программы в некоторых случаях может быть отменена (например, в случае ошибки или другой непредвиденной ситуации, и вместе с откатом транзакции все данные во всех таблицах должны вернуться на место).
Итак, теперь для чего бывает нужно откатывать изменения в данных всех таблиц, кроме некоторых.
Программисты стараются делать программное обеспечение работающим всегда без ошибок, но в случае их возникновения, хотели бы иметь сохранённые данные о последовательности выполненных пользователем действий и состояния обрабатываемых данных. Эту информацию нужно сохранить в специальные таблицы (таблицы логирования) так, чтобы при откате изменений всех таблиц, данные в таблицах логирования тоже не откатились. В разных СУБД эта возможность реализуется разными способами. В ORACLE, например, используются АВТОНОМНЫЕ ТРАНЗАКЦИИ. То есть сохранение логируемых данных делается в отдельной независимой от главной транзакции (в автономной) и при откате/отмене главной транзакции, данные, вставленные отдельной (автономной) транзакцией, не будут откачены, а будут сохранены!
В MySQL нет возможности создавать автономные транзакции, но зато можно создать такие таблицы, данные из которых не откатывались бы при выполнении ROLLBACK — это таблицы с типом MyISAM.
Буду рад твоему лайку, если статья понравилась.
Напомню, что у нас есть два мощных курса по SQL и базам данных: общий, где ты научишься всему с нуля (или восполнишь множество пробелов), научишься писать запросы, работать с базами данных на примере ORACLE, и есть курс по программированию в PL/SQL (ORACLE). Он уже только для «ораклистов». В нем мы научимся не только кодировать на PL/SQL, но и разрабатывать сложные алгоритмы и пользоваться всеми средствами, что даёт ORACLE.
Ответ на пост «Как с вероятностью 95% оценить, что ваше устройство взломано?»
Подробно.
В комментариях под оригинальным постом описаны пожалуй все минусы этой идеи и почему она не работает.
WireShark — узкоспециализированное, профессиональное программное обеспечение, которым пользуются сетевые инженеры, системные администраторы и т.д. Оно нужно для отслеживания целых потоков сетевого трафика. В нем есть масса сложных фильтров, и оно предоставляет уйму технической информации.
ВНИМАНИЕ! WireShark НЕ подходит для отслеживания вирусов.
WireShark в процессе работы за одну ночь соберет Вам список в несколько десятков тысяч IP адресов, если отслеживать ПК, а если отслеживать смартфон, то таких IP будет несколько сотен тысяч! Проверять такой список вручную — самоубийство.
Кроме всего прочего, оригинальный пост — просто пиар телеграм канала.
У меня тоже есть телеграм канал. Некоторые пикабушники его знают, как впрочем и мой никнейм. Так что ссылок на него не будет.
Поговорим о зловредах и способах защиты.
Сразу скажу, что тема очень обширна, и в одном посте ее не охватить полностью. Так что самое основное ниже, где я +/- сосредоточусь на устройствах (если зайдет, то позже напишу отдельно про интернет, приложения и т.д.)
Давайте рассуждать. Что нужно хакеру?
Ответ прост. Ему нужны деньги. Все. Я серьёзно.
Путем логических рассуждений не трудно понять векторы атаки.
Что хакеру НЕ интересно:
Ваши фото из отпуска;
Ваши видео, на котором вы пропалываете грядки;
Ваши музыкальные файлы;
Хакеру интересны те данные, которые впоследствии можно превратить в деньги.
Документы, в которых есть конфиденциальные данные;
Факт существования устройства;
Вычислительная мощность вашего устройства.
Пожалуй это самое основное, чем может заинтересовать именно устройство, как таковое.
Теперь сделаем выводы из того, что хакеру интересно — как защищаться.
Согласно первому пункту интересов — не следует хранить на устройстве (особенно в НЕзашифрованном виде): логины, пароли, данные банковских карт и счетов, данные паспорта и снилс (упаси Вас хоть кто-то от хранения этих данных в виде фото), интимные фото и хоум-видео. Такие данные могут позволить Вас обокрасть, взять кредит, шантажировать, вымогать деньги.
Согласно второму и третьему пункту — не скачивайте непонятно что из не очень понятных источников, используйте антивирус (антивирус на устройстве должен быть всего один: когда их несколько, то они друг другу мешают). Самая частая угроза — это превращение устройства в бота, входящего в ботнет. Ботнеты, в основном, используются для совершения DDoS атак, реже (на сегодняшний день) — для майнинга криптовалют (касательно третьего пункта интересов хакера).
Хочу заметить, что зловред, делающий из устройства бота для DDoS атак, практически не заметен. Он может быть одной из программ, которой Вы полноценно пользуетесь и, скорее всего, никак Вам не помешает. Зловред для майнинга гораздо более заметен, и большинство антивирусов обнаружит такие зловреды. Отличительная особенность вируса-майнера — это не сетевой трафик, а усиленное потребление ресурсов процессора и/или видеокарты. Если антивирус его не находит, а потребление ресурсов есть — отнесите устройство к мастеру.
Есть такие вирусы, которые никто сразу поймать не сможет. Примером таких вирусов могут послужить вирусы-шифраторы (они сначала шифруют все файлы на устройстве, а потом требуют денег для того, чтобы эти файлы расшифровать). Это как ковид, увы! Случается резко, многим плохо — но всё это неизбежно.
«Взломать» за 60 секунд или карантинное безумие
Небольшая история о неадекватном заказчике и нахождении уязвимости на сайте за 1 минуту.

Не ожидал, что именно эта история станет моей первой статьей на Хабре. Пишу пока горячо!
Все что Вы прочитаете далее — это не призыв к действию или попытка «кого-либо» скомпрометировать.
5 апреля 2020 г.
Увидел сообщение в linkedin: «Добрый день. Ищем разработчика для доработки проекта на yii2… тел: +79… whatsapp»
Написал в whatsapp: «День добрый. Я с linkedin, пришлите ТЗ, если есть.»
В ответ получил огромное сообщение с ссылками на сайт, доску в trello и небольшим ТЗ.

Изучил trello. Над проектом работали, если верить доске, как минимум 4 разработчика.
6 апреля 2020 г.
Из-за карантина, по-моему, люди начинают сходить с ума. Вот что я увидел в whatsapp когда проснулся:

Все вроде бы ничего, прочитал и забыл. Но что-то внутри не давало покоя, появилось ощущение незавершенности, от которого очень хотелось избавиться.
Ничего не оставалось, кроме как пробраться на проект «обидчика» и избавиться от неприятных ощущений внутри :D.
Вижу форму поиска и пытаюсь проверить ранее известную мне SQL инъекцию:
Как и предполагал — не работает, но попробовать стоило.
На сайте есть возможность зарегистрироваться двумя способами: как Юзер и как Компания.
Исходя из увиденных в trello скриншотов, решил зарегистрироваться и поработать с личным кабинетом Компании.
Заполняем поля везде, где позволит фронт строками
Просто, чтобы усилить «эффект присутствия» у разработчиков, когда они заглянут в БД.
После успешной регистрации нас редиректит на страницу профиля Компании.
Открываем пункт меню «Load Documents» (очень удобно, не правда ли :D) и пытаемся загрузить php файл.

Сначала я загрузил adminer.php, так как он был под рукой. Файл успешно загрузился и разработчики заботливо подготовили для меня редирект на страницу с ссылкой на файл.

Открывался он по ссылке: /upload/certified/15861775921.php и исправно работал.
Это было начало конца!
Далее загружаем самый простой php-web-shell через ту же форму.
Для начала нужно понять, кто мы и где мы:

Посмотрим список файлов директории сайта:

Видим стандартную структуру фреймворка Yii2, которую мы там и ожидали.
Получаем доступы к базе данных, которые можно ввести в ранее загруженный adminer.php:

На самом деле был удивлен, что такие уязвимости еще существуют. А уж тем более тем, что их можно найти так легко и быстро.
Кстати, это был проект одной компании из ОАЭ, которая занимается поставкой буровых и промышленных изделий для нефтяной, газовой и буровой промышленности.
Меня добавили в черный список в whatsapp после последнего сообщения и рассказать об уязвимости я не смог, поэтому оставил пасхалки на сервере для разработчиков.
Не забывайте делать проверку типов файлов на стороне сервера, да и в целом уделяйте безопасности вашего кода больше внимания!