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}
반응형