BLOG2026-08-06
blog
[🥇 Gold 1] 빈 catch 하나가 명령어 허용목록을 통째로 삼킨다 — DreamHack node_api 풀이
/show_logs 는 첫 토큰을 무조건 get 으로 갈아치워 Redis 를 읽기 전용으로 묶어 둔다. 그런데 쿼리스트링을 배열로 보내면 Array 에는 .split 이 없어 TypeError 가 나고, 본문이 비어 있는 catch 가 그걸 삼키면서 정규화 세 줄이 통째로 건너뛰어진다. 임의 Redis 명령이 열리고, 세션 저장소가 같은 Redis 라서 SET 한 번으로 내 세션이 admin 이 된다.
#dreamhack#ctf#web+6