Подписка

добавить на Яндекс

Наши проекты

Delphi+Google

Google API

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

Chrono

Chrono

Хронометр - программа для ведения списка задач.

ODFProc

ODFProc

ODFProc - работа с документами OpenOffice в Lazarus и FreePascal.

Поддержка блога

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

Публикации

Год назад

Случайный пост

Последние

Сообщения форума

Комментарии

Свежие комментарии

Социальные сети

Google

Facebook

Twitter

Опрос

Вы сейчас или в ближайшем обозримом будущем планируете разрабатывать кроссплатформенное приложение с использованием Firemonkey?



Loading ... Loading ...

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

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


В продолжение тем "Война с гоблинами...", рассмотрим сегодня новые функции, которые были добавлены в разрабатываемую мой программу по проверке шаблонов 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 года - домен второго уровня в подарок ;)
--------------------------------------------------------
Понравилась статья? Тогда:
Делись! Загружай! Плюсуй!
   Отправить PDF на   
Читай ещё статьи на WebDelphi.ru

1 комментарий

WP_Cloudy

Ваш ответ

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

Пожалуйста, заключайте исходный код в тэги [code][/code].
Если код большой, то воспользуйтесь Вставкой кода на отдельной странице и оставьте в комментарии ссылку на исходник

   


купить мфу --|--. Имитация бруса вагонка доска пола. Пол лучше с массивной доской.