본문 바로가기
[DigitalForensic] with CTF

[corCTF 2022] jsonquiz

by skyepodium 2022. 8. 14.

1. 개요

페이로드 조작 문제

 

2. 분석

1) 웹

처음에는 15문제 다 풀면 flag를 주는 줄 알았습니다.

 

소스 코드 열어보니 점수를 0으로 고정해서, POST 요청 보내고 있습니다.

    setTimeout(() => {
        let score = 0;
        fetch("/submit", {
            method: "POST",
            headers: {
                "Content-Type": "application/x-www-form-urlencoded"
            },
            body: "score=" + score
        })
        .then(r => r.json())
        .then(j => {
            if (j.pass) {
                $("#reward").innerText = j.flag;
                $("#pass").style.display = "block";
            }
            else {
                $("#fail").style.display = "block";
            }
        });
    }, 1250);

 

2) 페이로드 변경

점수를 1000으로 변경하니 flag가 있었습니다.