пятница, 23 сентября 2011 г.

обезопасить сервер от популярных атак


Через апачевый .htaccess обезопасить сервер от популярных атак (кроме как блокировать доступ по IP-адресу в определенные папки)

Секреты netcat


Задача: необычным способом запустить netcat с явной выгодой для хакера

Приведу несколько способов запуска netcat’а, о которых мало кто знает.

Полезные команды UNIX


Наиболее полезными командами будут:

уязвимости в php-функции parse_str()


Это не совсем уязвимости, скорее - неграмотное использование функции веб-разработчиками. Итак, функция parse_str(string str [, array arr]) разбирает строку str, которая должна иметь формат строки запроса URL, и присваивает значения переменным в текущем контексте, если не передан второй аргумент arr. В последнем случае значения будут сохранены в этой переменной в качестве элементов массива.
Представь, что у тебя есть скрипт script.php, в котором вписан следующий код:

Эмуляция "браузерных" функций (отправка/прием POST, GET-пакетов, работа с кукисами и т.д.)

php-класс «PhpSploit Class» может выполнять практически все, что позволяет протокол HTTP.
Сам класс (а также все его апдейты) находится по адресу http://mgsdl.free.fr/?2:3. Привожу ниже код:


защищаем веб-приложения, построенные на популярных AJAX-фреймворках


Год назад об AJAX говорили как о новой перспективной технологии, но сегодня он как-то выпал из поля зрения. Значит ли это, что AJAX не оправдал надежд и постепенно уходит в историю? Нет и еще раз нет. AJAX – это технология back-end, реализация которой перешла с прикладного уровня на уровень фреймворков.

Основы работы с библиотекой cURL в Builder C++


Если твои сиприплюснутые программы когда-нибудь нуждались в широких и гибких автоматизированных возможностях работы с интернет-ресурсами, то настоятельно рекомендую прочитать этот захватывающий рассказ о самой простой их реализации. Почему простой? Да потому, что в программировании все, как в жизни – сложно и ничего не понятно… но только до тех пор, пока сам не попробуешь.

В этой статье я покажу, как легко интегрировать и использовать функции библиотеки libcurl в программу на C++ (Builder 6 C++ ). Кроме того, мы рассмотрим некоторые основы работы с libcurl: работу по протоколам HTTP и HTTPS, формирование запросов, работу через разные типы прокси с возможностью авторизации, отправку данных методом POST и GET, а также настройку работы с cookies. Все возможности библиотеки libcurl рассматривать, думаю, не стоит, главное - понять принципы.

Создать код, который будет изменять инструкцию, передающую ему управление, с последующим возвратом управления на нее же.


Иногда необходимо задать кодокопателю задачу и наставить ловушек, из которых выбраться будет непросто. Как тебе, например, идея: превратить некоторую исходную инструкцию PE-файла в переход к коду, – он будет выполнять модификацию этой инструкции перехода (от которой получил управление), превращая ее в исходную?
Схематично этот процесс выглядит следующим образом:

Объединить вывод записей из таблицы БД в одну строку при проведении sql-инъекции в MySQL


Несмотря на свою «популярность», SQL-инъекции по-прежнему встречаются на множестве ресурсов. Но, как известно, основной проблемой при реализации скул-инъектов является вытягивание записей из табличек. Конечно, можно по старинке менять значение LIMIT'а, регулируя, тем самым, вывод данных в отображаемые поля. Однако есть более простой и действенный способ, заюзав который, ты получишь много данных и сразу. Речь идет о функции GROUP_CONCAT() в MySQL => 4.1 версии. Она позволяет объединить в одну строку несколько записей из таблицы (по аналогии с известной тебе функцией concat(), объединяющей несколько полей).

Как залить свой файл при safe-mode и отключенных nix* качалках?


 Я подскажу тебе пару трюков с PHP-сценариями на тему заливки файлов на сервер:

что такое PUT-запрос и как им воспользоваться в хакерских целях


Приведу недавний пример использования бага с PUT в популярном блоговом движке WordPress 2.2:

обезопасить доры от кражи


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

четверг, 22 сентября 2011 г.

Некоторые полезные линки для спама и парсинга


 Достать валидные строки с юзерагентами поисковиков

Специальный сервис useragentstring.com/pages/useragentstring.php с легкостью предоставляет тебе такую возможность. Зайдя на представленную выше страницу ты увидишь полные списки из всех известных юзерагентов, разбитые по категорияем:

Из одного списка мыл удалить те, которые присутствуют в другом списке.


Проще всего с поставленной тобой задачей справится следующий несложный скрипт на php:

Изменить время создания файла, тем самым, замаскировав шелл на сайте


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

Замаскировать шелл под местность с помошью .htaccess


Заливая шелл на какой-нибудь ресурс, ты, конечно, хочешь, чтобы он прожил максимально долго, и не был удален злобными админами в первый же день. Для этого шеллы прячут и маскируют под местность, чтобы файл не вызывал подозрений. А какие файлы в первую очередь вызывают подозрения? Ну, конечно же, скрипты. То есть, файлы с расширением .php .phtml .cgi .pl и т.д. будут проверены первыми. И, напротив, не вызывают подозрения, например, картинки. Но какая же польза от файла с расширением .jpg или .gif, скажешь ты. Ведь он неисполняемый и, если даже засунуть в него .php-код, то, чтобы он заработал, нужен будет инклуд. Это не совсем так, а точнее, совсем не так. Заставить апач воспринимать файл с любым расширением как .php нам поможет .htaccess.
Посмотрим, как это делается:

скрыть время создания залитых файлов на взломанной Винде


Напишем небольшую прогу, меняющую время создания и изменения наших файлов на параметры, не вызывающие никаких подозрений. Используем для этого API-функции, например, при помощи языка C++.

Oтослать письмо с поддельным адресом отправителя


Зачастую у многих из нас возникает необходимость отправить на мыло мессагу с поддельным адресом отправителя. Цели у всех разные: кто-то просто хочет приколоться над другом, а кто-то таким образом обходит антифрод в очередном забугорном шопе :). Тем не менее способ реализации в обоих случаях одинаковый. Для наглядности я подробно распишу все необходимые действия, чтобы у тебя не возникало лишних вопросов. Итак:
1. Берем в руки PHP и начинаем кодить (комменты ниже):

Интернет из нулевого кольца: программируем сеть в ядре Windows


Прочтя заголовок, ты, наверное, ожидаешь, что сейчас тебе во всех подробностях расскажут оработе с сетью в ядре Windows. Но задача это трудная по двум причинам: во-первых, из-за сложности темы; а во-вторых, из-за практически полного отсутствия осмысленных статей на эту тему на русском языке. Но, как говорят китайцы, «дорога в тысячу ли начинается с первого шага». Мы с тобой начнем ее прямо сейчас.

Овладеваем чужим компом за несколько секунд


Мутим западло

Итак, мы оказались за чужим компом всего на несколько минут. Что можно сделать за это время? В принципе, все что угодно, но это должно быть заранее подготовлено. Да, отформатировать винт можно одной командой в консоли, но скучнее шутки не придумаешь. Мы попробуем сымитировать всем знакомый BSOD (Blue Screen of Death). Синий экран смерти можно наблюдать в тех случаях, когда возникает ошибка в коде ядра или драйвера, выполняющегося в режиме ядра, либо вызвать его вручную. В отличие от оригинального, во время показа нашего BSOD Винда будет продолжать свою работу, выполняя нужные нам задачи, а после перезагрузки от него не останется и следа.
Напишем небольшую программку на С++, использующую Win32 API. Для фейкового экрана нам необходимо полностью очистить рабочий стол, поместить на него изображение оригинального BSOD и убрать мышь. Также для примера обработаем нажатие клавиш <Alt-Tab> и вызов диспетчера задач.

получить права SYSTEM в Винде


Ни для кого не секрет, что самым верхним уровнем доступа в Винде является ring 0 или, как говорят, нулевое кольцо. А самым низким - права гостя. Тем не менее Винда не Линукс, и завидное большинство пользователей в повседневной работе сидит из-под админского аккаунта. Чем это грозит и что из этого можно извлечь, мы описывали в статье «Овладеваем чужим компом за несколько секунд». Но порой одним западлостроением не обойтись, да и права SYSTEM лишними не бывают, тем более что с ними открываются поистине рутовые возможности в Винде. На самом деле получить такие права в системе не составляет никакого труда, нужен лишь админский аккаунт и минута свободного времени. Итак, приступим:

3амутить бэкап данных без потери места на винчестере


Попытаемся решить эту проблему раз и навсегда при помощи одной из фишек файловой системы NTFS - жестких ссылок (hard links). Имя файла является жесткой ссылкой на определенную область памяти, причем мы не ограничены в использовании нескольких жестких ссылок на одну и ту же область, а значит, файл может иметь несколько имен. Жесткие ссылки работают только в пределах одного логического диска с NTFS, не занимают места на винте и равноправны. Файл не будет удален, пока остается хотя бы одна жесткая ссылка.

Cоздать лоадер для загрузки трояна на компьютер


В последнее время в Сети появилось огромное множество самых разнообразных троянов. На страницах журнала мы не раз описывали принцип действия распространенных зверьков, поэтому возвращаться к этому мы не будем. Лучше рассмотрим достаточно простой в реализации, но вполне работоспособный вариант собственного производства. Ведь все, что есть в паблике, ты и так найдешь, не правда ли? :) Суть идеи такова: заюзать стандартный виндовый батник (с заранее описанными командами) и Java-скрипт, который будет прикрывать батник в процессе выполнения.

преобразовать SQL-дамп к виду email:password


Проблема парсинга баз, в том числе и SQL-дампов, не нова даже для хакеров-новичков. Ведь не секрет, что большинство ломаемых хакерами ресурсов в качестве логина пользователя использует именно мыло :). Также известно, что многие юзеры очень любят ставить один и тот же пассворд на кучу сервисов, а значит, и здесь есть, чем поживиться широкому хакерскому карману. Сразу скажу, что способов реализации задуманного несколько. Начнем с первого:

Что такое JSON?


JSON (англ. JavaScript Object Notation) — это специальный текстовый формат, который часто используется для передачи структурированных данных по сети. Основанный на JavaScript, он обычно применяется именно с этим языком и представляет собой альтернативу традиционному формату XML. Практическая польза использования JSON открывается при применении технологии AJAX. Формат JSON является более кратким и удобочитаемым по сравнению с XML. Кроме того, в JSON-код возможна вставка вполне работоспособных функций. Вот так, например, можно представить информацию о нашем редакторе Forb'е и преобразовать ее в JSON-формат.

Вариант автозагрузки


Одними из первых при запуске системы стартуют сервисы. Создадим фейковую службу для автозагрузки нашей проги.
Для начала определимся, чем отличается обычное win-приложение от сервиса?
Сервис имеет определенную структуру, должен откликаться на управляющие команды (запуск, остановка, пауза, продолжение работы) и сообщать о своем состоянии (работает, остановлен и т.д.). Есть несколько способов запустить приложение как службу Windows: от написания и использования полноценного сервиса до запуска любой проги как сервиса при помощи instsrv.exe и srvany.exe из Windows Resource Kit. Рассмотрим один из вариантов.

Методы обхода safe-mode php


Вот некоторые скрипты, которые помогут тебе прочитать содержимое файлов и каталогов в системе при включенном safe-mode:

бесплатный хостинг в качестве прокси сервиса

Cуществует отличная реализация прокси, написанная на PHP. Я имею в виду Glype Proxy (www.glype.com), единственным требованием для работы с которой является наличие интерпретатора PHP5 с установленным cURL. При всей простоте использования (для установки, достаточно залить скрипт на сервер) она предоставляет широкую функциональность. Тут тебе и кэширование на сервере (для ускорения работы), и управление доступом (для того, чтобы твою прокси не использовал кто попало), и преобразования URL (для обхода корпоративных фильтров, отсеивающих контент по URL), и поддержка плагинов. Развернуть целую сеть из проксей позволяет Glype Manager, также доступный на офсайте.

Энциклопедия антиотладочных приемов


Трассировка или игры в прятки

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

зверский кликер на C#


Объектная модель HTML в C#

Язык С# представляет разработчику богатый набор классов для работы с Html, который поможет нам совершать с веб-страницей практически все, что угодно, без малейшего напряжения. Жаль, что Microsoft практически это не документирует. Уж не знаю, в чем причина, но замечено, что Microsoft делает возможным реализацию очень многих вещей на C#, но документирует из них лишь 15-20%, до остального же приходится доходить самому (либо с помощью своего обширного мозга, либо сперев нужные участки из чужих листингов).
Главным классом здесь, конечно же, будет WebBrowser, который заключает в себе почти весь набор методов, свойств и событий, присущих Internet Explorer. По сути, WebBrowser является клоном IE, поскольку, к примеру, при обработке каких-либо веб-скриптов или ошибок будут задействованы его библиотеки.

Простой loader на С++

Заливать файл на сервер будем по ftp при помощи стандартной виндовой утилы ftp.exe. Процесс автоматизируем небольшой прогой на С++. Одно из преимуществ этого метода – обход криво настроенных фаерволов, так как у большинства незадачливых владельцев «огнестенок» командная строка (через которую, собственно, и работает майкрософтовский фтп-клиент) находится в списке доверенных приложений. Вооружившись компилятором, приступим к решению.

Об этом блоге

Данный блог будет скорее чем-то типа записной книжки, в которую будут скопированы различные интересные идеи с журнала "Хакер". Что бы там кто не говорил, но в данном журнале очень много различных интересных идей для кодинга и хака,и среди печатных и непечатных изданий равных ему нет.
Сайт журнала http://xakep.ru/