
POC para vulnerabilidade de desserialização do Java RMI
POC para a vulnerabilidade de desserialização do Java RMI
Você provavelmente precisará usar o JDK 8 para executar este POC.
Preste atenção à classe Message tanto no lado do cliente quanto no lado do servidor. Elas são diferentes. E essa diferença é a chave para entender esta vulnerabilidade.
A correção publicada pela Oracle é fazer com que o desenvolvedor configure uma lista de permissões/negações de desserialização na política de segurança do Java. Eu diria, quantos desenvolvedores saberiam que essa lista existe até serem hackeados?
Pensei em escrever um programa de teste, mas sou preguiçoso.. se você entender meu código, pode facilmente escrever o seu. Sugiro que você use instrumentação Java ou reflection.
e a execução remota de código é possível se algumas classes existirem no classpath do alvo:
http://www.freebuf.com/vuls/126499.html
Este programa é APENAS para fins educacionais e de teste. Não o use sem permissão. Não o use para fins maliciosos. A isenção de responsabilidade usual se aplica, especialmente o fato de que eu não sou responsável por quaisquer danos causados pelo uso direto ou indireto das informações ou funcionalidades fornecidas por estes programas. O autor ou qualquer provedor de Internet NÃO tem responsabilidade pelo conteúdo ou uso indevido destes programas ou de quaisquer derivados deles. Ao usar este programa, você aceita o fato de que qualquer dano (perda de dados, falha do sistema, comprometimento do sistema, etc.) causado pelo uso destes programas não é de minha responsabilidade.