-
[HackCTF] Time2021/Write-Ups 2022. 3. 15. 22:45
1팀 남채림
하이퍼링크를 타고 들어가자 php 코드가 나온다.
time 이라는 변수를 받아오는데, 60*60*24*30*2<= time <= 60*60*24*30*3 이 범위 안에 들 때만 time변수만큼 기다린 후 플래그를 출력할 수 있다. 즉 5184000<= time <=7776000 이여야한다. 값을 찾는 것은 쉬웠지만 이대로면 최소 60일 ( 5184000/60/60/24)을 sleep해야 플래그가 출력된다. 뭔가 취약점을 이용해야할 것 같다.
이번 문제 키포인트는 이 부분이였다. 여기서 int로 강제 형변환이 이루어지는데, int는 정수형이므로 소수점 자리 밑 부분은 사라지게 된다. 이를 이용해서 5184000을 소수형으로 바꾸어보자. 5184000= 5.184*10^6 이다. 따라서 정수 대신 5.184e6을 입력해준다.
처음에 플래그가 안나와서 또 틀린 줄 알았는데 알고보니 당연히 5초는 지나야 나오는 것이였다.
'2021 > Write-Ups' 카테고리의 다른 글
[HackCTF] Question? (0) 2022.03.15 [DigitalForensic_with CTF] Find Key(Hash) (0) 2022.03.15 [ctf-d] Three Thieves Threw Trumpets Through Trees (0) 2022.03.15 [ctf-d] Find Key(moon) (0) 2022.03.15 [ctf-d] 우리는 이 파일에 플래그를... (0) 2022.03.15