знатный у вас тут срачик
эксплоит рабочий, на траффе показывал(сейчас чуть меньше) отличные результаты.
blackkat упускает самую суть - сброс ограничений песочницы из привилегированного контекста, то есть в указанном им коде нету использования такого контекста, он совершает вызовы из контекста апплета, а тот в песочнице.
В жаве все подчинено accesspolicy, и суть в том, что создание объекта в рино дает нам создать объект без полиси апплета, но больше ничего не дает. То есть получаемый из рино объект не получил access policy при создании, и в нем можно вызывать evil код, но при этом вызывать из контекста апплета Runtime.exec - ложный путь, т.к. в итоге к объекту применится полиси апплета(песочница), и получите access exception.
Чтобы обойти песочницу, нужно заюзать привилегированный контекст, например контекст gui и через jtable/jlist и т.д. и вывести на экран созданный нами в рино объект.
У этого объекта вызовется toString, привелигированный контекст пробросится в toString созданного объекта, на объекте policy апплета нет, песочница снимется через accessPolicy = null, и всё, получите желаемый результат.
эксплоит рабочий, на траффе показывал(сейчас чуть меньше) отличные результаты.
blackkat упускает самую суть - сброс ограничений песочницы из привилегированного контекста, то есть в указанном им коде нету использования такого контекста, он совершает вызовы из контекста апплета, а тот в песочнице.
В жаве все подчинено accesspolicy, и суть в том, что создание объекта в рино дает нам создать объект без полиси апплета, но больше ничего не дает. То есть получаемый из рино объект не получил access policy при создании, и в нем можно вызывать evil код, но при этом вызывать из контекста апплета Runtime.exec - ложный путь, т.к. в итоге к объекту применится полиси апплета(песочница), и получите access exception.
Чтобы обойти песочницу, нужно заюзать привилегированный контекст, например контекст gui и через jtable/jlist и т.д. и вывести на экран созданный нами в рино объект.
У этого объекта вызовется toString, привелигированный контекст пробросится в toString созданного объекта, на объекте policy апплета нет, песочница снимется через accessPolicy = null, и всё, получите желаемый результат.