В предыдущей статье dx рассказывал о ручной методике снятия типовой и довольно распространенной защиты PHP-скрипта. Если проанализировать наиболее часто встречающиеся типы защиты (например, в разделе запросов на расшифровку на Античате), то можно заметить, что в большинстве случаев защита построена на максимальном сохранении исходного кода скрипта и использовании функции eval в конечном счете. Снимать такую защиту очень просто, но слегка занудно, поэтому я решил написать примитивную программу, которая осуществляет сие действо автоматически.
Чтобы пост не был унылым, я кратенько опишу, что из себя представляет анпакер. Итак, из-за своей лени я решил использовать php-cli, расширение для php (которое перехватывает eval) и сделать к этому простой GUI. Результирующая программа выглядит следующим образом:
В 2010 году, в период тестирования SSH Bruteforce'a одним хорошим человеком, я узнал, что на Европейских диапазонах IP-адресов попадается приличное количество SSH-доступов к всевозможным роутерам. Наиболее частыми среди них оказались роутеры с MIPS-процессором и известной кастомной прошивкой DD-WRT.
Казалось бы, особой пользы с них не извлечь, но ещё тогда был предложен вариант использования их в качестве прокси. До тестирования концепции на тот момент руки не дошли, а сегодня я как раз разбирал старые архивы и решил попробовать собрать рабочий пример под подобный роутер. Благо, у меня валяется парочка таких. Стоит отметить, что поднятие прокси-серверов на роутерах также обладает всем известной спецификой, которая заключается в том, что у провайдеров часто используются динамические IP, поэтому, естественно, прокси-сервер должен сообщать свой текущий IP некой веб-админке. Читать дальше »
Очень жаль, что в него поиграло такое небольшое количество народу, по сравнению с первым или вторым, но, наверное, люди не доверяют exe-файлам или просто не любят ставить что-то на свой компьютер. А зря, квест действительно интересный и стоящий, он не даст вам заскучать, а часто даже повеселит вас, и вы в этом сможете убедиться, почитав его прохождение-описание.
Помимо сухого прохождения я расскажу, как получить все достижения квеста и доступ к секретной карте, доступной после прохождения основной сюжетной линии, а также опишу все отсылки к другим фильмам/книгам/сериалам/играм, которые были использованы при создании квеста.
Очень надеюсь на то, что публикация полного прохождения побудит многих все-таки пройти игру или хотя бы несколько карт, очень уж много сил и времени было потрачено на ее создание.
Очень часто непосвященные люди задают вопросы вроде "Как расшифровать обфусцированный PHP-скрипт?", "Хороша ли защита PHP-скрипта обфускатором?" и даже "Помогите деобфусцировать! Вам же не сложно?". Цель этой статьи - показать, что обфускаторы дают в 90% случаев никакущую защиту (которая способна защитить только от людей, увидевших язык программирования первый раз в жизни). Снять ее можно обычно минут за 10-20, получив исходный PHP-скрипт в первозданном виде. Остальные 10% случаев - это немного усложненная защита, которая, впрочем, снимается теми же путями. Если вы желаете самостоятельно научиться снимать обфускацию со скриптов, то эта статья специально для вас!
Как я уже говорил выше, задача деобфускации PHP-cкриптов очень актуальна. Достаточно взглянуть на один популярный хак-форум:
На большинстве сайтов в качестве капчи используется картинка, подгружаемая в бинарном виде при обращении к некоему скрипту-обработчику. Реже встречаются капчи, отображаемые с использованием технологий Flash или Java. Плюс в использовании таких капч безусловно есть, но некоторые пользователи любят отключать подобные расширения, с целью обеспечения дополнительной безопасности при серфинге в интернете. Однако пятая версия основного языка разметки веб-страниц принесла с собой множество полезных нововведений. Одно из них - элемент canvas, который предназначен для создания растровых изображений с помощью JavaScript.
Соответственно, с помощью этого элемента и JS можно выводить изображения капчи в браузер, например, в виде массива точек, которые будут собраны в изображение с помощью JS. В чем смысл? Смысл в том, чтобы затруднить автоматизированное распознавание изображений.
Во-первых, можно придумать специфический формат хранения данных, который будет впоследствии декодироваться скриптом.
Во-вторых, можно упаковать и обфусцировать данные изображения, чтобы затруднить парсинг и навязать использование JS-интерпретаторов.
В-третьих, можно использовать специфичные для браузеров JS-«фичи», которые затруднят работу интерпретаторов.
В общем, есть, где развернуться.
И, наконец, вот простой пример подобной капчи (без маджонга и гейш). По идее должен нормально работать в FireFox, Opera, Chrome и IE9.
Исходный код: скачать
Написал простой движок немодерируемого чата на php+javascript.
Возможности:
[+] Вход в чат под выбранным никнеймом
[+] Смена никнейма
[+] Список участников
[+] Действия с участниками, аналогично mIRC
[+] Команда /me
[+] Смайлы
[+] Антифлуд
[+] Поддержка модулей (в движке уже есть несколько написанных для примера - время, транслитератор, печать строки наоборот, получение случайной цитаты с bash.org.ru, получение погоды, отображение списка модулей, отображение списка смайлов, курсы валют, определение PR и ТИЦ сайта)
[+] Возможность включить базовую авторизацию, что позволяет как организовать публичный чат, так и приватный для какой-то группы людей
[+] Приватные сообщения
[+] Функции для администрирования чата
Чат имеет множество настроек, все они находятся в начале файла index.php. После настройки чата необходимо сохранить этот файл в UTF-8 без BOM.
Немного документации:
1. Установка
Установка не требуется. Достаточно просто скопировать все файлы и папки на хостинг и дать права на запись файлов в папке plltxe (кроме .htaccess).
Настройки чата находятся в файле index.php в секции CONFIG.
2. Команда /me
Введите в чат /me статус
для отображения своего статуса в окне чата.
3. Модули
Для вывода всех подключенных модулей введите /list
Модуль используется так: /имя_модуля необязательный_параметр
Например:
admin (23:50:46 23/03/2010): /currency Курсы валют: USD: 29.3389 rub; EUR: 39.6339 rub admin (23:51:18 23/03/2010): /weather москва Погода: Москва: +1..+3, Давление: 747, Ветер: З, 5 - 9 м/с
4. Администраторские команды
Если вы администратор чата, войдите под произвольным никнеймом и введите: /pass пароль_администратора Пароль должен быть задан в самом скрипте в секции настроек.
После успешной авторизации будут доступны следующие команды: /admin [Вася] rename Вася Пупкин
переименует пользователя Вася в Вася Пупкин
/admin [Вася] delete Удалит пользователя Вася из чата и заблокирует текущую сессию
Написал скрипт, позволяющий выдавать инвайты на любые сервисы. Пример его работы представлен тут.
В комплект уже включено 8 библиотек для выдачи инвайтов (Antigate, Captchabot, Три гнома, Eroprofit, Равшанкэш, RuSpyMoney, SMS-коровка, Stabile Money, спасибо Kaimi за помощь в их написании), но также можно писать и свои под другие сервисы. Скрипт легко встраивается на страницу сайта. Кодировка по умолчанию - UTF-8, если кому-то надо другую, можно перекодировать с помощью, например, Notepad++. В приложенном архиве лежит index.php - пример встраивания модуля на страницу сайта.
Как настроить скрипт?
Просто откройте файл invites_libs/list.php, раскомментируйте строки с сервисами, для которых желаете раздавать инвайты, и впишите свои логины и пароли к ним, после чего сохраните файл в UTF-8 без BOM (сделать это можно через тот же Notepad++). Остается просто встроить скрипт на страницу, и на этом настройка завершена.
Специально для владельцев блогов на движке WordPress написал небольшой плагин. Плагин позволяет выводить статистику с нескольких партнерских программ, например, в сайдбар блога.
Настроить плагин очень просто:
На данный момент плагин поддерживает следующие партнерские программы: 8coins, SMS Коровка, Fiesta, OstapCash.
Если Вы хотите, чтобы я добавил в плагин поддержку какой-либо партнерской программы - напишите об этом в комментариях, постараюсь сделать.
Несколько дней назад я привел пример реализации капчи-калькулятора, которую нельзя разгадать с помощью сервисов. Не так давно ко мне пришла еще одна идея - капча, вводимая мышью. Требуется четыре цифры расположить перетаскиванием в порядке возрастания. Из плюсов - быстрый ввод, не требуется несколько раз загружать картинку. Из минусов - обязательно включенный JavaScript в браузере.
Все материалы сайта предоставлены исключительно в ознакомительных и обучающих целях. Ответственность за использование их в корыстных целях полностью ложится на Ваши плечи.