2.3 KiB
Raw Blame History

Django

{{#include /banners/hacktricks-training.md}}

Маніпуляція кешем для RCE

Метод зберігання кешу за замовчуванням у Django - це Python pickles, що може призвести до RCE, якщо недовірене введення буде розпаковано. Якщо зловмисник може отримати доступ на запис до кешу, він може ескалувати цю вразливість до RCE на базовому сервері.

Кеш Django зберігається в одному з чотирьох місць: Redis, пам'яті, файлах або базі даних. Кеш, збережений на сервері Redis або в базі даних, є найбільш ймовірними векторами атаки (впровадження Redis та SQL-ін'єкція), але зловмисник також може використовувати кеш на основі файлів, щоб перетворити довільний запис на RCE. Підтримувачі позначили це як неактуальне питання. Важливо зазначити, що папка файлів кешу, назва таблиці SQL та деталі сервера Redis можуть варіюватися в залежності від реалізації.

Цей звіт HackerOne надає чудовий, відтворювальний приклад експлуатації кешу Django, збереженого в базі даних SQLite: https://hackerone.com/reports/1415436

{{#include /banners/hacktricks-training.md}}