Перейти до змісту
View in the app

A better way to browse. Learn more.

Файна Україна

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Що таке файли Polyglot

Рекомендовані відповіді

Опубліковано
  • Адміністратор

1724902523724.png

Що таке поліглоти та як вони працюють?

Поліглот-файл – це файл, тип якого змінюється залежно від контексту використання. Щоб краще зрозуміти суть цього, можна розглянути наступний приклад – файл зображення JPEG, який також містить експлойт для сканування комп’ютерної інформації в Linux. І залежно від того, як використовується цей поліглот, його тип також змінюватиметься. Це досягається шляхом зберігання байтів сигнатури, за допомогою яких різні системи можуть визначити розширення файлу.

Деякі приклади байтів сигнатури:

  • JPEG-файли – починаються з FF D8 і закінчуються на FF D9

  • PDF-файли – починаються з "%PDF" (у шістнадцятковому форматі – 25 50 44 46)

Основний набір поліглотів містить код, написаний однією мовою програмування. Найчастіше вони використовуються для обходу захисту на основі розширень файлів — користувач з більшою ймовірністю завантажить файл з розширеннями JPEG, PNG та PDF, ніж з потенційно небезпечними JS, SH та HTML. Більше про поліглоти можна прочитати тут або тут.

Принципи створення поліглотів різних форматів.

Оскільки кожне розширення файлу має унікальну структуру, для кожного типу існує різний спосіб впровадження експлойтів.

Формат JPEG

Під час приховування експлойтів у JPEG використовується метод, що полягає у зміні значення довжини на потрібну кількість байтів.

1724902523724.png

приклад оригінального контенту


Після зміни значення у файлі з'являється додаткове місце, куди можна розмістити експлойт:

1724902523724.png

приклад зміненого контенту

Формат PNG

Через те, що структура PNG-файлу являє собою послідовність фрагментів, метод додавання нового фрагмента після IHDR в основному використовується для приховування необхідної інформації.

1724902523724.png

структура до модифікації


Потрібно додати фрагмент tEXt, який дозволить записувати інформацію, яку потрібно приховати в ньому, у нашому випадку JS + HTML експлойт:

1724902523724.png

структура після модифікаці

PDF -формат


Часто використовуються різні методи редагування рядків. Зазвичай кожен рядок укладається в дужки, але зловмисник може записати його як «стовпець» або замінити кожен символ рядка його вісімковим або шістнадцятковим представленням, а числа можуть бути розділені пробілами необмежену кількість разів. Також можна «приховати» JS-експлойти в PDF за допомогою об'єктів /JavaScript /JS, які самі можуть містити виконуваний код або посилатися на інший JS-об'єкт.

1724902523724.png

Окрім вищезазначених методів приховування експлойтів, ви можете обфускувати код за допомогою шістнадцяткових послідовностей. Наприклад, /JavaScript може перетворитися на /J#61#76#61Script (при перетворенні з шістнадцяткового коду в текстовий ми отримуємо a = 61, v = 76, a = 61).

Для публікації повідомлень створіть обліковий запис або авторизуйтесь

Акаунт

Навігація

Пошук

Пошук

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.