Loading console...
Preparing execution environment... OK
Loading Bash interpreter...
user@HackerWars:~/h4rdf0rk $ ls -a
. .. agitation.txt H4rdF0rk.log H4rdF0rk_media.html MoonLight.log R0ckCr4ck_files.log SkyBridge.log VIP_Zone.log
user@HackerWars:~/h4rdf0rk $ cat MoonLight.log
🔸vladko312 > Этот лог посвящён эксплуатации 0day уязвимости 🎑MoonLight против девайсов 🈵Huǒqiáng. Содержание:
[README.txt] Общая информация
[01_07_2021-23_55.conf] Router_SafeHome
[02_07_2021-22_22.conf] Router_NetWall
[03_07_2021-21_55.conf] Firewall_HEXAGON
[04_07_2021-21_00.conf] VPN_SafeSplit
[05_07_2021-22_40.conf] Firewall_PROTECTOR
[06_07_2021-22_05.conf] VPN_MODULUS
[07_07_2021-23_15.conf] DPI_COMPLEX
[B453BBE2:E0DF5ACE.conf] Атака на сервер H4rdF0rk
🔸vladko312 > Подключиться к устройству по идентификатору и своему токену (/me в HackerWars) можно на основном сайте 🈵Huǒqiáng: https://huoqiang.hackerwars.ru/.
Токен доступен всем пользователям HackerWars, а вот идентификаторы девайсов ещё нужно найти...
🔸vladko312 > Эксплойт для 0day уязвимости 🎑MoonLight написал ⬜💠❄Dieplex (23).
🎑MoonLight > [+] Exploit activated.5ntn3vulnerability5
 __  __                   _     _       _     _
|  \/  | ___   ___  _ __ | |   (_) __ _| |__ | |_
| |\/| |/ _ \ / _ \| '_ \| |   | |/ _` | '_ \| __|
| |  | | (_) | (_) | | | | |___| | (_| | | | | |_
|_|  |_|\___/ \___/|_| |_|_____|_|\__, |_| |_|\__|
                                  |___/
🎑MoonLight > [+] Connected to target: https://huoqiang.hackerwars.ru/.
🎑MoonLight > [+] Device detected: 01_07_2021-23_55.conf
🔸vladko312 > Мы можем подключиться к устройству, но нам нужен логин и пароль для входа в панель управления. Первым получить доступ смог AL|⬛🚧❄010 (25).
AL|⬛🚧❄010 (25) > Залогинился, т.к. настройки дефолт, ввел admin:admin и готово.
🔸vladko312 > Мы уже знаем, что на роутере есть аккаунты с логинами test и guest. Кроме этого, на устройстве все настройки дефолтные.
🔸vladko312 > Некоторые производители девайсов для удешевления производства не создают уникальные дефолтные пароли для каждого девайса.
Вместо этого, часто используются простые известные комбинации или пустые пароли.
🔸vladko312 > Примеры дефолтных паролей в формате логин:пароль, которые встречаются в различных роутерах:
guest:guest
test:test
Administrator:
user:password
admin:password
root:admin
admin:admin
admin:1234
Admin:Admin
:system
administrator:administrator
🔸vladko312 > Обычно, дефолтные пароли можно нагуглить, если известна модель устройства, но про девайсы 🈵Huǒqiáng инфы в интернете мало.
В таком случае, попробуем залогиниться в известные аккаунты и изучить особенности дефолтных паролей на устройстве.
Подключимся с использованием токена /me по адресу https://huoqiang.hackerwars.ru/?device_id=e1cc2a203394fe778690ecf18bb4c1b3.
🔸vladko312 > Попробуем зайти в аккаунт test с дефолтными паролями вроде 1234 или password, пустым паролем и логином в качестве пароля.
Судя по всему, на этом девайсе по дефолту логин совпадает с паролем. При этом, сам логин обычно короткий и не содержит заглавных букв.
🔸vladko312 > Мы могли бы перебрать все известные дефолтные комбинации, но полученные знания позволяют предположить, что сработает комбинация вроде admin:admin.
Эта комбинация сработала и мы получили доступ в админку с полезной информацией:
Network: 3B892601
Location: 492AB297
Firmware: Huoqiang_1.1
Hardware: Router_SafeHome
Devices connected: 25
Authentication: JWT
Base authentication: HackerWars/me
Users: 3
Admin password: admin
Public code: 5cqn2information3
Secret code: 59bkg6dy9y
Device id: e1cc2a203394fe778690ecf18bb4c1b3
🔸vladko312 > Лучшим подходом к обеспечению безопасности "из коробки" является создание случайных дефолтных паролей для каждого девайса.
🔸vladko312 > Другим вариантом обеспечения безопасности является требование создания пароля в процессе установки устройства, однако в таком случае увеличивается риск установки пользователями простых паролей.
🔸vladko312 > Использование предсказуемых дефолтных паролей или паролей, зависящих от других данных устройства, значительно снижает безопасность.
🔸vladko312 > Захардкоженные дефолтные пароли использовать точно не стоит. Рано или поздно, такая информация появится в интернете.
🎑MoonLight > [+] Device detected: 02_07_2021-22_22.conf
🔸vladko312 > На этом устройстве мы знаем пароль тестера, но пароль админа угадать уже не выйдет. Первым доступ к админке получил MN|⬜💠❄9bcc51b5a078 (28).
MN|⬜💠❄9bcc51b5a078 (28) > Воспользовавшись полученными данными, я вошёл в учётную запись тестера, в коде элемента я ничего интересного не обнаружил, поэтому решил подменить в адресной строке test на admin, что и привело меня к решению задачи.
🔸vladko312 > Мы знаем, что на устройстве работают креды test:Huoqiang_tester_740218.
Креды guest:guest тоже работают, а вот пароль админа мы не знаем. Но нужен ли он нам?
🔸vladko312 > Именно в этой версии прошивки тестовый аккаунт получил отдельную роль по уровню между готсем и админом. Изучим его возможности.
Подключимся с использованием токена /me по адресу https://huoqiang.hackerwars.ru/?device_id=cfc2c81a90907c513b5fefdd31ec089c.
Раньше после гостя сразу шёл админ. Возможно, даже сейчас тестеру доступна админка?
🔸vladko312 > После входа в аккаунт тестера попробуем зайти в админку напрямую по ссылке https://huoqiang.hackerwars.ru/3B892601:424F8EA5/admin/
Расположение админки мы уже видели на другом устройстве, которое мы уже взломали.
🔸vladko312 > Действительно, мы получили доступ к админке с ценной инфой:
Network: 3B892601
Location: 424F8EA5
Firmware: Huoqiang_1.2.1.764
Hardware: Router_NetWall
Devices connected: 3
Users: 3
USB contents: []
Authentication: JWT
Base authentication: HackerWars/me
Testers: 2
Admins: 1
Admin password: 2714cba6c6d58e587565cf4e6b275078
Public code: 7pbf5command9
Secret code: 442fhskaff
Device id: e1cc2a203394fe778690ecf18bb4c1b3
Honeypot: true
Suspicious log: []
Report to: 3B892601:E59382A5
🔸vladko312 > Некорректная проверка прав на отдельных страницах - очень частая уязвимость.
Например, при скачивании файла проверяется только факт входа на сайт, но не права на просмотр файла.
🔸vladko312 > Важно корректно проверять права доступа для каждой страницы.
🎑MoonLight > [+] Device detected: 03_07_2021-21_55.conf
🔸vladko312 > На этот раз у нас есть креды, но требуется доступ к девайсу. Первым в админку попал SD|⬛🇺🇸AsteroidBaker (33).
SD|⬛🇺🇸AsteroidBaker (33) > Для начала я ввел логин admin и пароль, который был выложен в общий доступ. Увидев, что система не пускает из-за несоответствия UserAgent, с помощью специального инструмента изменил его и залогинился.
🔸vladko312 > Подключимся с использованием токена /me по адресу https://huoqiang.hackerwars.ru/?device_id=c633800a0e0b22fbfd0b3d0b54dbb169.
У нас есть креды от всех аккаунтов:
guest:guest
test:Huoqiang_tester_038201
admin:Huoqiang_admin_0a9c587b21c6946f1a4a1a19394075cc
🔸vladko312 > При попытке входа в аккаунт админа получаем сообщение, что нам нужно использовать устройство админа:
Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36
🔸vladko312 > Но что это за строчка и как проверяется вход с конкретного устройства?
Погуглив, можно понять, что это значение HTTP-заголовка User-Agent, который содержит информацию о браузере.
🔸vladko312 > Значение этого заголовка (как и любого другого) можно легко подменить.
Для этого можно отправить запрос самостоятельно (через nc, curl или специальные сайты) или использовать расширение браузера.
🔸vladko312 > Установим нужное значение и зайдём в админку:
Network: 3B892601
Location: 6926E096
Firmware: Huoqiang_1.3.3.7.1337
Hardware: Firewall_HEXAGON
Devices connected: 75
Users: 5
Alarm: False
Authentication: JWT
Base authentication: HackerWars/me
Browser-restricted: 2
Login disabled: 2
Admin password: Huoqiang_admin_0a9c587b21c6946f1a4a1a19394075cc
Admin browser: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36
Public code: 8pmx8csrf6
Secret code: preb4c7wab
Device id: c633800a0e0b22fbfd0b3d0b54dbb169
Honeypot: true
Suspicious log: [{"source":"B453BBE2:3E0BC587", "data":"AEGIS@💣H4rdF0rk> Взлом выполнен успешно, начинаю сбор файлов..."}]
Report to: 3B892601:E59382A5
🔸vladko312 > Заголовок User-Agent может использоваться для определения наиболее подходящей версии сайта (мобильная, полная или облегчённая), но точно не для проверок безопасности.
🔸vladko312 > Хакеры могут свободно менять любые отправляемые данные. Не стоит им доверять.
🎑MoonLight > [+] Device detected: 04_07_2021-21_00.conf
🔸vladko312 > И снова у нас нет паролей (кроме гостевого). Первым в админку доступ получил SD|⬛🇺🇸AsteroidBaker (33).
SD|⬛🇺🇸AsteroidBaker (33) > Посмотрел на систему передачи логина и пароля на сервер и подумал: "А что, если передавать не один логин, а два?". Передал логины гостя и админа, использовав пароль гостя и залогинился.
🔸vladko312 > Мы знаем, что пароль проверяется на стороннем сервере на базе Apache+PHP, в то время как само устройство использует Flask и Python.
Нужно найти какие-то различия в обработке данных, которые позволят девайсу и серверу по разному обработать переданные пароли.
🔸vladko312 > Кстати, а как вообще на девайс передаются логин и пароль?
Подключимся с использованием токена /me по адресу https://huoqiang.hackerwars.ru/?device_id=8476a7148526fb2612a13a918b246c53.
Попробуем ввести admin:admin и увидим, что они передаются GET-параметрами в ссылке: https://huoqiang.hackerwars.ru/3B892601:CD39AD05/login/?login=admin&password=admin.
🔸vladko312 > Стандарт HTTP подробно описывает нормальную работу протокола, но нестандартные ситуации каждый сервер обрабатывает по своему усмотрению.
Например, что сервер будет делать, получив два заголовка или параметра с одинаковым названием?
Так, например, связка Apache+PHP перезаписывает значение, сохраняя только последнее, а парсер Flask игнорирует повторяющиеся ключи, используя только первое значение заголовка или параметра.
🔸vladko312 > В результате, мы можем передать два логина: сначала нужный нам (admin), а потом гостевой, пароль от которого мы знаем.
Сервер проверки подтвердит вход для гостевого логина, а уязвимое устройство будет думать, что вход был в аккаунт админа.
Составим ссылку с двумя логинами и зайдём в админку: https://huoqiang.hackerwars.ru/3B892601:CD39AD05/login/?login=admin&login=guest&password=guest.
Network: 3B892601
Location: CD39AD05
Firmware: Huoqiang_1.4.1.6.2914
Hardware: VPN_SafeSplit
Devices connected: 173
Users: 5
Authentication: JWT
Base authentication: HackerWars/me
Browser-restricted: 0
Login disabled: 2
Password verification: remote
Password verification server: 3B892601:A8091270
Public code: 7crh5access8
Secret code: xq8egt4sfe
Device id: 8476a7148526fb2612a13a918b246c53
Honeypot: true
Suspicious log: [{"source":"B453BBE2:C4039520", "data":"47@💣H4rdF0rk> О, получилось... На первое время сойдёт. Странно, что казино NetKings защищал такой дырявый файрволл..."},{"source":"B453BBE2:B55B730C", "data":"2F@💣H4rdF0rk> Похоже, это ханипот. Все переходим на 3B892601:F3DD5554."}]
Report to: 3B892601:E59382A5
🔸vladko312 > Хакеры отличаются от обычных пользователей, так как они могут передавать некорректные данные, пытаясь вызвать необычное поведение системы.
Если эти данные используются сразу несколькими системами, очень важно убедиться, что все системы будут воспринимать эти данные одинаково.
🔸vladko312 > Намного безопаснее обрабатывать пользовательский ввод только одной системой, а дальше уже использовать результат обработки.
Например, можно не дублировать весь запрос на сервер проверки, а передавать только распознанные устройством логин и пароль.
🎑MoonLight > [+] Device detected: 05_07_2021-22_40.conf
🔸vladko312 > На этот раз наше внимание сосредоточено на проверке токенов авторизации. Ценную инфу из админки первым добыл MN|⬜💠❄9bcc51b5a078 (28).
MN|⬜💠❄9bcc51b5a078 (28) > Прочтя несколько статей из открытых источников я предположил, что это уязвимость с использованием алгоритма "none". С её помощью я воссоздал токен с нужными мне правами, подменил токен и авторизовался как администратор.
🔸vladko312 > Подключимся с использованием токена /me по адресу https://huoqiang.hackerwars.ru/?device_id=572966e6d6c5574fbab6bb6ec5296f43.
Попробуем зайти в аккаунт гостя (guest:guest) и посмотрим, как хранится токен авторизации.
🔸vladko312 > Среди файлов Cookie будет наш токен /me и идентификатор устройства. Третий токен будет в формате JWT:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbiI6Imd1ZXN0IiwiYWNjZXNzIjoxfQ.7Hn0KXjjDodySHH1UbVWzZmTtuQ89i10JE-g8KanXHU
🔸vladko312 > Токен разделён точками на 3 части, закодированные в Base64 без знаков =.
Первые 2 части токена - это заголовки и данные в JSON, а в третьей части находится подпись, мешающая подделать токен:
{"typ":"JWT","alg":"HS256"}.{"login":"guest","access":1}.<подпись>
🔸vladko312 > При попытке изменения данных, проверка подписи не позволит использовать токен.
Использовать токен с другого девайса также не выйдет, подпись использует ключ, который у каждого девайса свой.
Остаётся только искать уязвимости в реализации JWT на девайсе...
🔸vladko312 > Устройство использует алгоритм HS256 для подписи, но что если поддерживаются и другие?
Например, стандарт JWT описывает небезопасный алгоритм none, в котором подпись должна быть пустой строкой.
🔸vladko312 > Попробуем создать токен с этим алгоритмом. Логин мы знаем, а access можно посмотреть на другом девайсе.
{"typ":"JWT","alg":"none"}.{"login":"admin","access":3}.<пустая подпись>
🔸vladko312 > Закодируем первые 2 части в Base64 и уберём =, чтобы получить новый токен. Подпись оставим пустой (но точку перед ней забывать не стоит).
eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJsb2dpbiI6ImFkbWluIiwiYWNjZXNzIjozfQ.
🔸vladko312 > Установим этот токен в Cookie и обновим страницу. Мы получили доступ в админку:
Network: 3B892601
Location: 60A4346E
Firmware: Huoqiang_1.5.2.4.3817
Hardware: Firewall_PROTECTOR
Devices connected: 1852
Users: 5
Authentication: JWT
Base authentication: HackerWars/me
Login disabled: 2
Password verification: local
Admin password: AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
Public code: 9tty2osint8
Secret code: 7y2q9nret4
Device id: 572966e6d6c5574fbab6bb6ec5296f43
Honeypot: true
Suspicious log: [{"source":"B453BBE2:B55B730C", "data":"2F@💣H4rdF0rk> Странные уязвимости в этих устройствах... Их что, специально делали?"}]
Report to: 3B892601:E59382A5
🔸vladko312 > Не стоит рассчитывать, что хакеры не найдут тестовый функционал. Алгоритм none принимался как валидный (хоть и не использовался), что и позволило выполнить атаку.
Кроме явно разрешённого алгоритма none также встречаются системы, которые берут алгоритм из заголовков JWT (также позволяя использовать none).
Другой опасной ошибкой при работе с JWT является использование данных из тела токена без проверки подписи. В таком случае, хакеры также могут свободно менять любые данные.
🎑MoonLight > [+] Device detected: 06_07_2021-22_05.conf
🔸vladko312 > У нас есть аккаунт тестера, смена пароля и багрепорт с проверкой от имени админа, осталось только в саму админку попасть...
Первым собрать все куски пазла воедино и получить ценную инфу из админки смог SD|⬛🇺🇸AsteroidBaker (33).
SD|⬛🇺🇸AsteroidBaker (33) > Первым делом решил сменить пароль от тестера, отследить запрос. Далее, использовав уязвимость багтрекера, изменил пароль от аккаунта админа, проверив ссылку с запросом на изменение пароля.
🔸vladko312 > Подключимся с использованием токена /me по адресу https://huoqiang.hackerwars.ru/?device_id=61d9889e0760d7f88bb7a0c1a9994c68.
У нас есть аккаунт тестера с кредами test:Huoqiang_tester_834021. Попробуем в него зайти.
На этот раз у нас есть возможность смены пароля и отправки багрепорта. Нужно их изучить.
🔸vladko312 > Как можно попасть в админку? Например, можно попробовать сменить пароль на аккаунте админа.
Попробуем отследить запросы в инструментах разработчика браузера. Смена пароля выполняется GET-запросом.
По сути, это переход по URL: https://huoqiang.hackerwars.ru/3B892601:F3DD5554/account/?npassword=test&cpassword=test
🔸vladko312 > Заметим, что в ссылке нигде не передаётся логин или старый пароль...
Это означает, что если кто-то перейдёт по такой ссылке, то его пароль изменится на указанный в ссылке.
🔸vladko312 > Если мы сможем заставить админа перейти по ссылке, то его пароль изменится. Но у нас нет связи с админом...
Но зато у нас есть багрепорт, который автоматически проверяет URL с админского аккаунта!
🔸vladko312 > Отправим нашу ссылку смены пароля в багрепорт и попробуем зайти в админку с новым паролем:
Network: 3B892601
Location: F3DD5554
Firmware: Huoqiang_1.6.4.2.4927
Hardware: VPN_MODULUS
Devices connected: 9481
Users: 5
Authentication: JWT
Base authentication: HackerWars/me
Login disabled: 2
Password verification: local
Password reset: enabled
Bug report: enabled
Report auto analysis: enabled
Admin password: The_missile_knows_where_it_is_at_all_times._It_knows_this_because_it_knows_where_it_isn't.
Public code:7sdz2computer4
Secret code: 37zkbkrpkm
Device id: 61d9889e0760d7f88bb7a0c1a9994c68
Honeypot: true
Suspicious log: [{"source":"B453BBE2:B55B730C", "data":"2F@💣H4rdF0rk> Переходим на сервер B453BBE2:E0DF5ACE, пароль будет на 3B892601:B10E6011."}]
Report to: 3B892601:E59382A5
🔸vladko312 > Данная уязвимость возникает из-за того, что функционал смены пароля никак не проверяет, что пользователь сам хочет сменить пароль.
🔸vladko312 > Запрос от имени пользователя может быть выполнен и без его участия. Например, если хакер на своём сайте добавит код:
<img src="https://huoqiang.hackerwars.ru/3B892601:F3DD5554/account/?npassword=test&cpassword=test">
То при переходе на этот сайт, браузер попробует подгрузить картинку по нашей ссылке смены пароля, выполнив GET запрос.
🔸vladko312 > Если хакер заманит админа на свой сайт, то браузер админа выполнит запрос с его куками, что позволит сменить пароль.
🔸vladko312 > Такая атака называется Cross-Site Request Forgery (CSRF, межсайтовая подделка запросов). Есть много способов защиты:
 - Установка флага SameSite для важных куки защищает их от использования в межсайтовых запросах.
 - Проверка заголовка Origin позволит отследить межсайтовые запросы.
 - Использование CSRF-токена позволит добавить в форму данные, которые хакер не сможет угадать.
 - Требование ввода актуального пароля позволит подтвердить, что запрос выполнен владельцем аккаунта.
 - Добавление механизма CAPTCHA поможет подтвердить, что с сайтом взаимодействует живой человек.
🔸vladko312 > К CSRF могут быть уязвимы и другие важные действия, а не только смена пароля. Их тоже нужно защитить.
🎑MoonLight > [+] Device detected: 07_07_2021-23_15.conf
🔸vladko312 > На этом девайсе для хранения учёток используется база данных. Первым в админку пробрался AL|⬛🚧❄010 (25).
AL|⬛🚧❄010 (25) > Узнав, что уязвимость в БД, решил попробовать одну из простейших инъекций. В итоге, вместо пароля ввел 'or'1'='1.
🔸vladko312 > Подключимся с использованием токена /me по адресу https://huoqiang.hackerwars.ru/?device_id=82b664f70b304612d0e1c0ba525b26a4.
🔸vladko312 > Попробуем ввести какие-нибудь символы в поле ввода, которые могут быть восприняты как часть какого-то синтаксиса:
> , : % * ' ? $ ` # " ) } ] ;
Сразу ввести все символы не выйдет из-за ограничения, поэтому попробуем вводить их по одному в середине какого-нибудь текста (например, testtest).
Вводить текст нужно, чтобы точно вызвать ошибку в случае успешной инъекции.
🔸vladko312 > При вводе test'test получаем ошибку синтаксиса запроса HuoqiangSQL. Нам доступен сам запрос:
SELECT login, access FROM users where (login = 'test'test') and (password = 'test'test') LIMIT 1
🔸vladko312 > Мы можем заметить, что наши значения логина и пароля были вставлены в запрос без обработки.
🔸vladko312 > Таким образом, наш текст был воспринят как часть запроса с управляющими символами, что вызвало ошибку.
🔸vladko312 > Кроме этого, можно заметить, что инъекция есть и в логине и в пароле.
🔸vladko312 > Из-за ограничения в 10 символов попробуем провести инъекцию в пароль, а в логине указать admin.
🔸vladko312 > HuoqiangSQL использует синтаксис SQL, что позволяет понять, как может выглядеть нужный нам запрос (пробелы добавлены для удобства чтения запроса):
SELECT login, access FROM users where (login = 'admin') and (password = '' or '1' = '1') LIMIT 1
🔸vladko312 > Такой запрос позволит получить данные пользователя с логином admin у которого пароль равен пустой строке или строка "1" равна строке "1".
🔸vladko312 > Но строка "1" всегда равна сама себе, поэтому мы получим доступ к админке, используя 'or'1'='1 в качестве пароля:
Network: 3B892601
Location: B10E6011
Firmware: Huoqiang_1.7.2.6.8542
Hardware: DPI_COMPLEX
Devices connected: 73018
Users: 6
Authentication: JWT
Base authentication: HackerWars/me
Login disabled: 2
Password verification: database
Password reset: disabled
Bug report: disabled
Admin password: eXAiOiJKV1
Public code: 6sht4compiler5
Secret code: 6zu9ceda2q
Device id: 82b664f70b304612d0e1c0ba525b26a4
Honeypot: true
Suspicious log: [{"source":"B453BBE2:B55B730C", "data":"2F@💣H4rdF0rk> Пароль: 6e8b83055ff13c322d528ae44783b096. Если вы не знаете, от чего он, значит он не для вас."}]
Report to: 3B892601:E59382A5
🔸vladko312 > Кроме этого, можно ввести 'or id='1 в качестве логина и перебрать id в поисках чего-то интересного.
🔸vladko312 > Данная уязвимость называется SQL Injection (SQLi, внедрение SQL). Она возникает при добавлении пользовательских данных в запрос без обработки.
🔸vladko312 > Для защиты от данной уязвимости можно использовать эскейпинг (преобразование управляющих символов в специальные последовательности).
Этот метод будет работать при правильной реализации, но это не самый надёжный вариант. Любая ошибка реализации может позволить атакующему провести инжект.
🔸vladko312 > Вместо этого, рекомендуется использовать параметризованные запросы, которые поддерживаются многими библиотеками для работы с БД.
🔸vladko312 > В таком случае, шаблон запроса передаётся в БД отдельно от пользовательских данных, исключая возможность внедрения.
🎑MoonLight > [+] Connected to target: B453BBE2:E0DF5ACE.
🔸vladko312 > Оказалось, что 0day 🎑MoonLight работает и на сервере H4rdF0rk. При поддержке пользователей системы HackerWars, я начал отслеживать пользователей H4rdF0rk.
🔸vladko312 > Подключиться к атаке можно при помощи команды /connect, ранее уже использовавшейся при применении уязвимостей 0day.
🎑MoonLight > [!] Attack finished.
🔸vladko312 > Благодаря тому, что H4rdF0rk попали в honeypot, мы смогли отслеживать их при помощи 0day уязвимости 🎑MoonLight, обнаруженной ⬜💠❄Dieplex (23).
🔸vladko312 > После этого, участники H4rdF0rk перешли на другой сервер. Сейчас я анализирую их файлы, чтобы понять, на какой именно.
🔸vladko312 > Данный лог будет дополняться информацией о применении 0day 🎑MoonLight.
user@HackerWars:~/h4rdf0rk $