Подписка

Проекты

Сборник идей для разработок в Delphi и использования их в Интернет. Участвуй в работе коллективного разума!

Google API в Delphi - проект с открытым исходным кодом.


А тут я коплю на лицензию Delphi 2011. Сумма пожертвования не фиксирована.

Друзья блога

Блоги и сообщества

DelphiFeeds.ru - Все Delphi-блоги Рунета О раскрутке блога по программированию Сообщество умных людей VR-Online.RU Бесплатный журнал для программистов и всех, кто интересуется IT Статьи и уроки по Delphi Статьи по Delphi

Счётчики


Анализ веб сайтов

Рейтинг блогов




Система Orphus

  • 10Jan

    В продолжение тем “Война с гоблинами…”, рассмотрим сегодня новые функции, которые были добавлены в разрабатываемую мой программу по проверке шаблонов WordPress на “вшивость”.

    Как я уже упоминал, зачастую, ссылки на ГС выводятся на страницы наших с Вами сайтов при помощи php-функций, имена которых “зашифрованы” под вполне безобидные тэги шаблонов WordPress, например bloginfo и другие. Исходя из этого, проверка шаблона вручную может значительно осложняться, может возникнуть ситуация, когда в порыве праведного гнева, вы можете удалить нормальный тег и т.д.

    Чтобы этого не произошло я немного расширил возможности поиска “вшей” в шаблонах и сделал подробный вывод информации о каждой найденной ошибке. Например, возьмем тему, содержащую файл functions.php в котором содержится вредоносная для нас функция. ' '

    Вид главного окна программы после проверки темы:

    Как видите, теперь все файлы, в которых найдены ошибки, выделяются в списке красным цыетом. Выбираем файлс ошибками и получаем их список:

    В файле functions.php как минимум содерится две нежелательные функции и закодированный участок текста.

    Теперь делаем двойной клик по первой ошибке и получаем всю интересующую нас информацию:

    Помимо того, что программа теперь определяет название функции и содержащиеся в этой функции ссылки на внешние ресурсы, теперь также ищутся строки, где встречается имя функции. В данном случае, необходимо “убить” вызов функции в файле index.php на двадцатой строке.

    Следующий момент, который для нас важен – это закодированные участки текста. В большинстве случаев закодированный участок может выглядеть так:

    echo(base64_decode("PGEgaHJlZj0....

    реже, так:

    eval(gzinflate(base64_decode('DdBJkqJAAA....

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

    Выбираем опять двойным кликом ошибку и получаем подробный вывод:

    Тепер, если нам необходимо получить расшифрованную строку, жмем кнопку “Пробовать расшифровать” и получаем, то, что хотели:

    Как видите, в закодированном участке шаблона, содержалась ссылка на ресурс, который никак не связан с созданием шаблона. Следовательно, такой участок кода следует удалить.

    В настоящее время продолжаю разбираться с другими способами обмана блоггеров. Надо сказать, способов непочатый край. Также планирую добавить в программу проверки на вызов eval, т.к. это также может быть очень и очень пагубным для нас действием.

    Если есть ещё какие-либо идеи, пожелания по поводу развития программы – пишите, не стесняйтесь. Пока не выложена версия для масштабного использования Вы ещё можете повлиять на развитие программа, а дальше скорее всего останется только работа над ошибками, если таковые найдуться.

    --------------------------------------------------------
    Если хотите сделать свой сайт, то могу посоветовать неплохой хостинг. Хостинг - компания www.StarsHost.ru предлагает услуги хостинга для Вас. При заказе хостинга на срок от 1 года - домен второго уровня в подарок ;)
    --------------------------------------------------------

    Related posts:

    1. Война с гоблинами. Часть 3. Разбор завалов.
    2. Achtung!! Проверяйте темы WordPress, господа.
    3. XML-RPC в Delphi. Первое знакомство с WordPress изнутри.

    Автор Vlad в 8:07 pm

    Метки: , , ,

1 Comment

WP_Cloudy

Ваш ответ

Внимание: Все комментарии модерируются, и это может вызвать задержку их публикации. Отправлять комментарий заново не требуется.

Пожалуйста, заключайте исходный код в тэги [code][/code].