Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
Любая задача на C/C++
Одно любое задание в mYsql
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Любой реферат по информатике

Введение в Java, JavaScript и ActiveX

2021-03-09СтудИзба

Введение в Java, JavaScript и ActiveX

Java-, JavaScript- и ActiveX-компоненты часто недооцениваются с точки зре­ния ущерба, который они могут нанести сайту. Эти компоненты исполня­ются на компьютере клиента-посетителя сайта. Вот почему непосредствен­ную угрозу эти технологии представляют именно для посетителя, а не для систем Web-сайта. Однако некоторые скрипты или апплеты могут отразить­ся и на работе сервера - согласитесь, если компьютер пользователя будет «подвисать» при посещении страниц вашего сайта, то это не менее серьез­но, чем отказ в обслуживании со стороны сервера.

В следующих разделах главы мы увидим, что Java-апплеты, ActiveX-ком­поненты и JavaScript могут не только воздействовать на клиентские систе­мы, но и применяться в атаке на сайт. Отразить такого рода атаку можно, если отслеживать программы, исполняющиеся на сайте, и не допускать при­менения «некачественных» функций.

Проблемы, связанные с применением Java, JavaScript и ActiveX

Web-дизайнеры часто используют программы, доступные в Internet и со­зданные другими людьми. Часто они даже не знают точно, как написаны эти программы и что именно они делают. Java-апплеты могут быть подпи­саны цифровым сертификатом, но эти подписи могут быть сняты разработ­чиком HTML-страницы. Хакер может использовать апплет для разрушения файлов на диске пользователя или для исполнения других программ. По­мните, что апплеты - это прежде всего программы, которые, как и любые другие npoSrpaMMbi, могут осуществлять зловредные операции на вашем компьютере.

Java - это язык программирования, разработанный компанией bun и при­меняемый для написания Internet-приложений (апплетов). Они интегриру­ются в HTML-страницы и запускаются после того, как соответствующая страница закачивается браузером пользователя. Java предоставляет целый ряд возможностей обеспечения защиты. Во время сборки апплета компиля­тор производит проверку кода и типов данных на наличие ошибок. Опреде­ленные сегменты памяти недоступны для адресации из Java-программы. Ис­полняет код виртуальная Java-машина (JVM), которая использует встроенный менеджер безопасности (Security Manager). Этот менеджер контролирует доступ с помощью правил безопасности. Однако в свое время была найдена уязвимость в виртуальной машине Netscape, а позже - в Java-машине Micro­soft Internet Explorer. Ошибка была связана с тем, что не весь код проверял­ся на соответствие типам данных.

Java исполняется на клиентской машине, и ошибки, так же как и недобро­качественные программы, воздействуют на систему пользователя, а не на Web-сервер. Однако апплет способен считать имя пользователя и пароль, что может использоваться злоумышленником при непосредственном взло­ме сайта. Кроме того, пользователь, чья система была скомпрометирована, поймет, что проблема возникла после посещения определенного сайта. Это уже отразится на вашем имидже, как поставщика информационных услуг.

ActiveX - это разработка апплетов компании Microsoft. Компоненты раз­мещаются в HTML-коде с помощью тега <OBJECT>. Компоненты ActiveX могут предоставлять разнообразные функции, среди которых, например, мультимедиа. При вызове страницы с ActiveX браузер проверит наличие компонента на компьютере пользователя, и если данной программы нет, то она будет закачена и загружена в память.

В 1999 году заговорили о проблеме, связанной с ActiveX, когда была най­дена уязвимость так называемого флага Safe for Scripting. Программисты могли установить этот флаг в тексте программы, и при вызове компонент не проверялся на соответствие подписи Authenticode, которая используется Microsoft в качестве технологии подписи программного кода (об этом мы поговорим позже). Итак, вместе с IE4 вышли в свет два «неблагополучных» компонента: Scriptlet-typelib, позволяющий редактировать файлы на пользо­вательском компьютере, и Eyedog.ocx, который читал Windows-реестр. Поз­же Microsoft выпустила программное обновление для этой версии IE, кото­рое можно было найти на сайте компании.

Рекомендуемые материалы

JavaScript отличается от Java и ActiveX именно тем, что это скриптовый язык и полученный код не собирается компилятором в бинарную програм­му. Но, несмотря на это, JavaScript использует функции и синтаксис Java. Когда пользователь скачивает документ, содержащий JavaScript-функции, этот код обрабатывается интерпретатором, встроенным в браузер. Это срав­нительно медленная процедура, и JavaScript - менее производительный, чем Java.

Итак, JavaScript - это прежде всего скрипт. Но хакер может использовать его для компрометации сервера или пользовательской системы так же, как и Java-программу.

Предупреждение атак с использованием Java, JavaScript и ActiveX

Возможных проблем с использованием рассматриваемых языков избежать можно, но для этого надо предусмотрительно выполнить некоторые дей­ствия. Прежде всего вам придется отказаться от компонентов, производите­лям которых вы не можете безоговорочно доверять или функциональность которых не совсем ясна. Старайтесь не работать с программами, если не имеете доступа к их исходным текстам. Лучше воспользоваться компонен­тами известных фирм, которые распространяют ПО на CD или в Internet.

Прежде чем встроить компонент в HTML-документы, убедитесь, что он работает корректно и не имеет уязвимостей. Обычно в целях проверки но­вый компонент размещают на странице, к которой нет ссылок с других стра­ниц сайта. Также можно проверить работу программы на тестовом сервере, аналогичном действующему в Internet. При этом логично тестировать от имени посетителя страницы, на которой будет размещен компонент, то есть используя соответствующую учетную запись.

Хакеры часто пытаются получить преимущество от скриптов и программ, которые работают с вводом данных. Прежде уже упоминалось о проблеме, связанной с SSI и гостевыми книгами. Аналогичным способом злоумышлен­ник может выполнить CGI-программу, написанную на Perl, которая, в свою очередь, обратится к командному файлу. Например, можно найти скрипт, который запустит процессор cmd.exe и далее, с его помощью, практически любую программу на сервере.

Постарайтесь сделать так, чтобы пользовательский ввод четко контроли­ровался. Для этого можно воспользоваться любой терминальной програм­мой (например, telnet) и эмулировать обращения со стороны клиента.

В предыдущем разделе утверждалось, что HTML-документы часто содер­жат информацию, которая способна помочь хакеру. Это, без всякого сомне­ния, относится и к скриптам, встраиваемым в текст HTML. Бывает и так, что исходный код страницы содержит скрипт обращения к SQL-серверу,

а вместе с ним пароль и имя пользователя.

Программирование защищенных скриптов

В предыдущем разделе мы рассматривали программы, работающие на кли­ентской машине посетителя сайта. Теперь пришло время поговорить о сер­верных скриптах, которые исполняются на сервере и имеют в основном не­сколько другое предназначение. Такие скрипты работают с базами данных, используются для поиска информации на сайте и т.д.

Серверные скрипты более надежны хотя бы потому, что их исходные тек­сты скрыты от посетителей. Это особенно актуально, если сайт содержит конфиденциальную информацию и вы не хотите, чтобы кто-то получил доступ к корпоративному серверу баз данных.

CGI служит связующим звеном между Web-сервером и Internet-приложе­ниями, что позволяет посетителям взаимодействовать с серверами. Все на­чинается с того, что пользователь (браузер) отсылает запрос CGI-скрипту. Например, посетитель заполняет форму на HTML-странице и нажимает на кнопку Готово (Submit). При этом отправляется запрос скрипту - обработ­чику данной формы. Скрипт исполняется на сервере, и соответствующая информация возвращается посетителю в виде HTML.

Web-сервер благодаря URL-ссылке в атрибутах формы «знает», что дан­ные, вводимые в форму, должны передаваться приложению. Например:

Вам также может быть полезна лекция "6. Планирование процессов".

Здесь данные отправляются на сайт microsolved.com и передаются скрип­ту, написанному на Perl, - myprog.pl.

Perl - это еще один скриптовый язык программирования, который имеет синтаксис языка С. Perl достаточно широко применяется, и хороший тому пример - сервер Apache, который имеет надстройки, позволяющие хранить Perl-скрипты в памяти и не обращаться к ним через файловую систему при каждом посещении страницы.

У компании Microsoft существует своя альтернатива Perl и CGI. Это тех­нология ASP, которая позволяет встраивать серверные скрипты непосред­ственно в код HTML-страниц. Причем эти скрипты могут быть написаны на разных языках, среди которых JScript и VBScript. Преимущество ASP -в скорости создания на сервере результирующего HTML, видимого посети­телю.

К сожалению, ASP не лишена недостатков, присущих скриптам, которые исполняются на машине клиента. Исходный текст скриптов, встраиваемых в HTML, в ряде случаев может стать известным хакеру.

Атаки, осуществляемые с эксплуатацией серверных скриптов, воздейству­ют прежде всего на сам сервер, но не на клиентскую систему. Например, скрипт PHF, который распространялся с ранними версиями сервера NCSA и Apache I.O.3. Проблема была в том, что он неправильно работал с данны­ми пользовательского ввода (PHF - это скрипт телефонной книги). Если пользователь вводил символ новой строки %0а, то вслед за этим символом скрипт воспринимал системные команды и исполнял их с привилегиями пользователя, от чьего имени был запущен Web-сервер. Стоит ли говорить, насколько серьезна эта уязвимость.

Перед использованием скриптов на сайте очень важно проверить и про­тестировать все задействованные функции. При этом лучше воспользо­ваться тестовым сервером, сконфигурированным аналогично работающе­му в Internet.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее