Доброе время. Подскажите есть ли возможность через java applet запустить внешнюю программу или каким-то другим способом выполнить код. Где про это объясняется что можно или нельзя. Проблема в том, что для обеспечения безопасности я уже отключил flash и javascript. Надо ли java отключать, но не хочется часть системі написана на аплета и работает через инет, поєтому доступ к вреднім сайтам у оператора будет. спасибо.
этим заведует класс JAVA-машины SecurityManager. В зависимости от того, как работает JAVA-объект, запущен как приложение, просматривается как апплет в AppletViewer, задействован как апплет в браузере - объект получает разные наборы допустимых операций: доступ к локальным файлам, разрешение открытия сетевых соединений куда угодно или только туда, откуда взят апплет и т.т.п. В режиме апплета в браузере и даже в AppletViewer-е менеджер безопасности должен запрещать запуск локальных программ или выполнение локальных системных команд. В режиме апплета в браузере также запрещается возможность работы с локальными файлами (при AppletViewer вроде что-то можно, типа работы в TEMP-директории)
Dmitry_Milk а возможна ли работа с браузером или страницей? Я так понимаю, что нет. спасибо за Ваш ответ.
Возможна. Во-первых, есть передача параметров в тэге апплета, во-вторых есть возможность взаимодействовать с переменными JavaScript-скриптов. Вроде бы есть возможность открывать ссылки в имеющемся или новом окне браузера, но вот могут ли эти ссылки быть произвольными или должны быть на том же адресе/сервере, откуда взят апплет - я точно не помню.
olegsvetl2010 Что можно, а что нельзя описывается в файле .java.policy, который берётся либо из пользовательской папки, либо, если там политик нету, из папки явы.
Dmitry_Milk Спасибо. В общем-то не страшно - что-то установить или запустить невозможно. Как я почитал java для заражения используют, только если для неё есть эксплоит.
Её в первую очередь нужно отключать (полностью деинсталлировать с машины). Полно эксплойтов под JRE. Вот вам примеры: Java Calendar Deserialization (CVE-2008-5353) Java RMIConnectionImpl Deserialization (CVE-2010-0094) Java Deployment Toolkit (CVE-2010-0886) Java Codebase Trust (CVE-2010-4452) Список можно продолжать..