CTF/WPICTF 2021

[Study] WPICTF 2021 wpi-admin-3 Writeup

Vardy 2021. 4. 29. 21:25

앞문제와 이어지는 문제이다. 파일 업로드를 통해 alexo@uupeye.edu 의 성적을 위조하면 될 듯 싶다.(4개의 학기를 위조해야 한다.)

 

 

파일을 어떤식으로 업로드해야할지 몰라서 조사하던중 페이지 소스에 다음과 같은 주석을 발견했다.

<!-- Note to the other devs: Here's an example JSON configuration to help with development.
Don't forget to remove this once the backend is developed. /BJR4vFLkh8c52NHLQsh.json
-->

 

해당 페이지에 접근해보니 다음과 같은 예시가 있었다.

 

예시에는 두 학기의 정보밖에 없었기 때문에 년도와 계절을 다르게 하여 학기를 2개 늘려주고, 성적을 만점으로 바꿨다. (GPA=4.00 , grade="A") 

하지만 Results validated successfully. Not pushed to production 라는 메시지가 나올 뿐이었다. 이를 해결하기 위해 production 또한 기존 값인 false에서 true로 바꿔주니, 플래그를 획득 할 수 있었다.

 

최종적으로 문제 해결에 사용한 json파일의 내용은 아래와 같다.

{
  "configName": "Example",
  "timezone": "EST",
  "production": true,
  "studentData": [
    {
      "name": " O",
      "email": "alexo@uupeye.edu",
      "id": 123456,
      "major": "Computer Science",
      "class": 2023,
      "workerStatus": false,
      "grades": [
        {
          "year": 2019,
          "semester": "fall",
          "semesterGPA": 4.00,
          "courses": [
            {
              "name": "Calculus 1",
              "code": "MA1021",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Introduction to Program Design",
              "code": "CS1101",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Elements of Writing",
              "code": "WR1010",
              "points": 3,
              "grade": "A"
            }, {
              "name": "Calculus 2",
              "code": "MA1022",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Accelerated Object-Oriented Design Concepts",
              "code": "CS2103",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Writing about Science and Technology",
              "code": "WR1011",
              "points": 3,
              "grade": "A"
            }
          ]
        },
        {
          "year": 2019,
          "semester": "spring",
          "semesterGPA": 4.00,
          "courses": [
            {
              "name": "Calculus 3",
              "code": "MA1023",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Calculus 4",
              "code": "MA1024",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Systems Programming Concepts",
              "code": "CS2303",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Algorithms",
              "code": "CS2223",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "General Physics-mechanics",
              "code": "PH1110",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "General Physics-electricity and Magnetism",
              "code": "PH1120",
              "points": 3,
              "grade": "A"
            }
          ]
        },
                {
          "year": 2021,
          "semester": "summer",
          "semesterGPA": 4.00,
          "courses": [
            {
              "name": "Calculus 3",
              "code": "MA1023",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Calculus 4",
              "code": "MA1024",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Systems Programming Concepts",
              "code": "CS2303",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Algorithms",
              "code": "CS2223",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "General Physics-mechanics",
              "code": "PH1110",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "General Physics-electricity and Magnetism",
              "code": "PH1120",
              "points": 3,
              "grade": "A"
            }
          ]
        },
                {
          "year": 2021,
          "semester": "fall",
          "semesterGPA": 4.00,
          "courses": [
            {
              "name": "Calculus 3",
              "code": "MA1023",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Calculus 4",
              "code": "MA1024",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Systems Programming Concepts",
              "code": "CS2303",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "Algorithms",
              "code": "CS2223",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "General Physics-mechanics",
              "code": "PH1110",
              "points": 3,
              "grade": "A"
            },
            {
              "name": "General Physics-electricity and Magnetism",
              "code": "PH1120",
              "points": 3,
              "grade": "A"
            }
          ]
        }
      ]
    }
  ]
}

FLAG = WPI{3xP053D_C0NF1GUR4710N}

반응형