hackctf web

hackctf 9번 문제 풀이 (time)

webhacking지구 2021. 9. 16. 17:28

문제

이문제는 위에 보시면 if문에 get방식으로 time을 가져오는것을 볼수있습니다

이건 조금 어렵게 풀었는데 취약점은  is_numeric에서 발생합니다 이것은 수문자열 검증함수인데요

time으로 입력한 시간만큼 코드를 작동시킵니다. 하지만 int는 소수점을 제외합니다 지금보면 time으로 입력값을 받을것이 위처럼 60x60x24x30x2인것을 볼수있습니다 if에 맞게 숫자를 넣으면 그만큼을 계속 기다리게 됩니다. 그래서 저는 소수점과 지수를 사용하면 is_numeric와 if를 지나쳐 플래그를 얻을수있습니다 그래서 계속 대입을 하여 

5.184001e6이렇게 된다면 5초후에 자동으로 풀릴것입니다.

.을 찍는이유는 5초만에 정답을 가지고 오기위해서고 e6은 제곱이라 생각하시면 되겠습니다 그러니까 5초로하고 뒤는 시간만큼 만들어주고 날려주는거지요. 살짝어려운 문제였습니다

 

이렇게 쓰고 5초 기다리시면

풀리었습니다

답:HackCTF{1_w4nt_t0_sp3nd_m0r3_t1m3}