
POC for java RMI deserialization vulnerability
POC для уязвимости десериализации Java RMI
Вам, вероятно, потребуется использовать JDK 8 для запуска этого POC.
Обратите внимание на класс Message как на стороне клиента, так и на стороне сервера. Они разные. И это различие является ключом к пониманию данной уязвимости.
Исправление, опубликованное Oracle, заключается в том, чтобы разработчик настроил белый/черный список десериализации в политике безопасности Java. Я бы сказал, сколько разработчиков знают о существовании этого списка, пока их не взломают?
Я думал написать тестовую программу, но мне лень.. если вы понимаете мой код, легко сможете написать свой. Я предлагаю вам использовать java instrument или reflection.
а удаленное выполнение кода возможно, если некоторые классы присутствуют в target classpath:
http://www.freebuf.com/vuls/126499.html
Эта программа предназначена ТОЛЬКО для образовательных и тестовых целей. Не используйте её без разрешения. Не используйте её в злонамеренных целях. Применяется стандартное заявление об отказе от ответственности, особенно тот факт, что я не несу ответственности за любой ущерб, причиненный прямым или косвенным использованием информации или функциональности, предоставленной этими программами. Автор или любой интернет-провайдер НЕ несет ответственности за содержание или неправильное использование этих программ или любых их производных. Используя эту программу, вы принимаете тот факт, что любой ущерб (потеря данных, сбой системы, компрометация системы и т.д.), вызванный использованием этих программ, не является моей ответственностью.