N1CTF 2020 Web SignIn 취약점 분석 및 익스플로잇
N1CTF 2020 웹SignIn 문제의 분석 및 풀이 과정입니다.
취약점 분석
대상 시스템에 접속하면 소스 코드를 얻을 수 있습니다. 코드에는 두 개의 클래스와 `input` GET 파라미터를 받아 역직렬화하는 부분이 포함되어 있어, 역직렬화를 통한 해킹이 문제의 핵심임을 알 수 있습니다.
7월 18일 08:16에 게시됨
Apache Commons Collections 4의 이해와 활용
Apache Commons Collections 4에 대한 이해
Apache Commons Collections 4 배경:
commons-collections (3.x 버전)는 API 설계 및 구현에서 몇 가지 문제점(예: 인터페이스 설계의 모호성, 효율적이지 못한 구현 등)이 발견되었습니다. 이러한 문제를 해결하려면 많은 비호환 변경이 필요했습니다. 공식 팀은 이러한 개선 사항을 적용하면 기존 3.x 버전과 바이너리 또는 소 ...
7월 2일 19:51에 게시됨
Jackson 라이브러리를 활용한 JSON 직렬화/역직렬화 어노테이션 심층 가이드
Java 애플리케이션에서 JSON 데이터를 효율적으로 처리하기 위해 Jackson 라이브러리는 광범위하게 사용됩니다. Jackson은 객체를 JSON 문자열로 변환(직렬화)하거나 JSON 문자열을 객체로 변환(역직렬화)하는 과정을 매우 유연하게 제어할 수 있는 다양한 어노테이션을 제공합니다. 이 가이드에서는 주요 Jackson 어노테이션의 기능과 활용 방법을 자세히 살펴봅니다.
@J ...
6월 30일 16:12에 게시됨
파이썬에서의 객체 직렬화와 pickle 모듈 활용
객체 직렬화는 데이터 구조를 바이트 스트림으로 변환하는 과정이며, 역직렬화는 이를 원래의 데이터 구조로 복원하는 작업입니다.
pickle 모듈의 주요 함수
dumps 메서드 - 메모리 내 직렬화
pickle.dumps() 함수는 객체를 바이트 형태로 변환하여 반환합니다.
import pickle
user_info = {"username": "manager", "access_code": 456}
by ...
6월 24일 16:09에 게시됨
Python JSON 데이터 처리: load와 loads의 차이점과 활용법
Python에서 JSON 데이터를 다룰 때 가장 빈번하게 사용하는 내장 라이브러리는 json 모듈입니다. 이 모듈의 load()와 loads()는 JSON 포맷을 Python 객체(주로 딕셔너리나 리스트)로 변환하는 '역직렬화' 기능을 수행하지만, 데이터의 입력 출처에 따라 구분하여 사용해야 합니다.
기본 개념
json.load(): 파일 객체(File-like object)로부터 JSON 데이 ...
6월 17일 01:46에 게시됨