
Java RMI 역직렬화 취약점을 위한 POC
Java RMI 역직렬화 취약점에 대한 POC
이 POC를 실행하려면 JDK 8을 사용해야 할 수 있습니다.
클라이언트와 서버 측 모두에서 Message 클래스에 주의하세요. 서로 다릅니다. 그리고 그 차이가 이 취약점을 이해하는 핵심입니다.
Oracle이 발표한 수정 사항은 개발자가 Java 보안 정책에 역직렬화 화이트/블랙리스트를 구성하도록 한 것입니다. 제 생각에, 해킹당하기 전까지 그 목록이 존재한다는 것을 알 개발자가 얼마나 될까요?
테스트 프로그램을 작성하려고 했지만, 게을러서요.. 제 코드를 이해하면 쉽게 자신만의 코드를 작성할 수 있습니다. Java 인스트루먼트나 리플렉션을 사용하는 것을 권장합니다.
그리고 대상 클래스패스에 일부 클래스가 존재하면 원격 코드 실행이 가능합니다:
http://www.freebuf.com/vuls/126499.html
이 프로그램은 교육 및 테스트 목적으로만 제공됩니다. 허가 없이 사용하지 마십시오. 악의적인 목적으로 사용하지 마십시오. 일반적인 면책 조항이 적용되며, 특히 이 프로그램이 직접 또는 간접적으로 제공하는 정보나 기능 사용으로 인한 어떠한 손해에 대해서도 저는 책임을 지지 않습니다. 저자나 인터넷 제공업체는 이 프로그램이나 그 파생물의 콘텐츠 또는 오용에 대해 어떠한 책임도 지지 않습니다. 이 프로그램을 사용함으로써 귀하는 이 프로그램 사용으로 인한 모든 손해(데이터 손실, 시스템 충돌, 시스템 손상 등)가 저의 책임이 아님을 인정합니다.