ZINO
HomeResearchBlogTagsPlaygroundStack
⌘K

레드팀 · AI 자동화 · 시스템 엔지니어링

직접 만들고, 실험하고, 기록한다

개인정보처리방침·이용약관

© 2026 ZINO LAB

← 태그 목록

Tag Archive

#memory-layout

이 태그가 포함된 글을 최신순으로 모아봤어요.

1
posts
BLOG2026-07-20
[🥉 Bronze 4] std::string 내부를 파고들다가, 정작 답은 배열 하나 옆에 있었다 — DreamHack cpp_string 풀이
blog

[🥉 Bronze 4] std::string 내부를 파고들다가, 정작 답은 배열 하나 옆에 있었다 — DreamHack cpp_string 풀이

전역 std::string에 짧은 문자열을 넣으면 Small String Optimization이 발동해 문자열 데이터가 객체 자기 자신 안에 저장된다는 사실부터 파고들었다. write_file()이 그 c_str() 포인터에서 항상 64바이트를 읽어 파일에 쓴다는 걸 보고 "짧은 문자열을 넣으면 객체 밖 메모리를 읽어 flag를 흘릴 수 있겠다"고 확신했는데, readelf로 실제 주소를 까보니 flag는 그 문자열 객체보다 앞쪽 주소에 있었다 — 읽는 방향이 반대였다. 로컬 재현도 전부 0바이트로 실패를 확인시켜줬다. 다시 보니 답은 훨씬 단순한 곳에 있었다: 인접한 두 배열과 널 종료 없는 출력.
#dreamhack#ctf#pwnable+4