Поиск, "бинарное" содержание

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Grih65kop
Сообщения: 145

Поиск, "бинарное" содержание

Сообщение Grih65kop »

В директориях расположены файлы следующего содержания, см. скриншоты.
Как я понимаю, содержание этих файлов "закодировали", сделали их бинарными.

Изображение
Изображение


Встал вопрос, как же отыскать все подобные файлы?

Искать по расширению -не вариант, файл может быть любого расширения.
Искать по содержанию (например, "<?php") -не вариант, т.к. в результате окажутся сотни других файлов.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Поиск, "бинарное" содержание

Сообщение Bizdelnick »

А file их опознаёт?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Grih65kop
Сообщения: 145

Re: Поиск, "бинарное" содержание

Сообщение Grih65kop »

$ file 1.php
1.php: data
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Поиск, "бинарное" содержание

Сообщение Bizdelnick »

Можно примерно так: fgrep -lR '<?php' $SEARCHDIR | xargs file --mime-type | grep 'application/octet-stream$' | sed 's/:[^:]*$//'.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Grih65kop
Сообщения: 145

Re: Поиск, "бинарное" содержание

Сообщение Grih65kop »

Как вариант конечно, это в любом случаи это сужает границы поиска. Из семи найденых один оказался нужным, остальные были простыми PHP файлами.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Поиск, "бинарное" содержание

Сообщение Bizdelnick »

Grih65kop писал(а):
14.09.2012 22:25
остальные были простыми PHP файлами.

Странно, по идее они не должны были попасть.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Поиск, "бинарное" содержание

Сообщение drBatty »

Grih65kop писал(а):
14.09.2012 19:15
Как я понимаю, содержание этих файлов "закодировали", сделали их бинарными.

данный подход применялся повсеместно в ZX-Spectrum (а может и ещё раньше) Суть такова:


Код: Выделить всё

10 REM ЗДЕСЬ_ПРОГРАММА_В_МАШИННЫХ_КОДАХ_В_КОТОРОЙ_НЕТ_ПЕРЕВОДОВ_СТРОКИ
20 RNDOMIZE SUB АДРЕС_ПРОГРАММЫ_ИЗ_СТРОКИ_10

Это якобы BASIC, на самом деле суть лишь в том, что-бы вызвать программу в кодах.

В вашем случае всё также, только это не бэйсик, а PHP. Суть та же - в переменную записывается некий код в 'кавычках', и где-то в конце с ним что-то делается. Например можно отдать gunzip'пу и распаковать. А получится обычный PHP, или ещё что-то, не важно что для пояснения сути - не важно, а для вас это и будет являться ключом.

Hint: Ищите, где кончаются кавычки.

Bizdelnick писал(а):
14.09.2012 23:33
Grih65kop писал(а):
14.09.2012 22:25
остальные были простыми PHP файлами.

Странно, по идее они не должны были попасть.

в php допускается писать всё что угодно перед <?php, оно просто выводится на вывод и не выполняется. Потому вариант с fgrep -1 не всегда работает.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Поиск, "бинарное" содержание

Сообщение drBatty »

Bizdelnick
что скажет ваш код на это:

Код: Выделить всё

#!/usr/bin/php
<?php
echo "test\n"
?>

а вот file говорит PHP script, ASCII text executable
Мало того, оно ещё и корректно запускается в консоли системы, если в ней есть нужный интерпретатор.

Shell

$ ./x.php test

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Поиск, "бинарное" содержание

Сообщение Bizdelnick »

drBatty писал(а):
15.09.2012 10:29
что скажет ваш код на это:

Ничего не говорит, естественно.

drBatty писал(а):
15.09.2012 10:23
в php допускается писать всё что угодно перед <?php, оно просто выводится на вывод и не выполняется. Потому вариант с fgrep -1 не всегда работает.

А где Вы увидели у меня fgrep -1? Тем более что он и ключа-то такого не понимает.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Поиск, "бинарное" содержание

Сообщение drBatty »

Bizdelnick писал(а):
15.09.2012 11:34
Ничего не говорит, естественно.

хотя по данным file это корректный php. Как и на картинках ТС'а.
С чего вы решили, что это именно application/octet-stream?
Bizdelnick писал(а):
15.09.2012 11:34
А где Вы увидели у меня fgrep -1? Тем более что он и ключа-то такого не понимает.

l с 1 перепутал. Извиняюсь. Я думал что оно <?php только в первой строке ищет.

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: