전체 글 82

dreamhack username:password@ 풀이

소스코드 분석const genRanHex = size => [...Array(size)].map(() => Math.floor(Math.random() * 16).toString(16)).join('');const users = { 'admin': genRanHex(16),};위의 코드는 admin이라는 id에 대한 password를 랜덤한 16자리 16진수로 생성한다. const loginRequired = basicAuth({ authorizer: (username, password) => users[username] == password, // Authorization: Basic 으로 인증 unauthorizedResponse: 'Unauthorized', });위의 코드는 http b..

CTF & Wargame(WEB) 2025.05.20

SSTI 관련 문제 풀이

ssti 관련 문제라고 설명이 있었기 때문에 {{3+3}}을 페이로드로 삽입하고 전송해보니, 6이 출력되는 것을 확인할 수 있었다.따라서 템플릿 인젝션이 가능하다는 뜻이다. 문제 설명에 flag.txt에 flag가 있다고 했기 때문에 flag.txt를 열어봐야한다. payload : {{config.__class__.__init__.__globals__['os'].popen('cat flag.txt').read()}}를 사용자 입력으로 입력하면 이렇게 flag가 출력되는 것을 확인할 수 있다.

CTF & Wargame(WEB) 2025.05.04