-
[Web] TimeCTF write_up/Hack CTF 2019. 5. 22. 13:27
사이트에 들어가 보면 다음과 같은 코드를 확인 할 수 있습니다.
코드를 확인해 보면 입력하는 문자열은 숫자여만 하고 최소 5184000 보다 커야하고 최대 7776000보다 작아야 합니다.
하지만 sleep함수 때문에 5184001을 입력하면 5184001초 뒤에 flag가 출력되기 때문에 이것은 아닌거 같습니다.
또한 입력받은 문자열을 int로 다시 환산 하는 것도 희한합니다.
곰곰히 보던중 is_numeric함수에서 취약점을 찾을 수 있었습니다.
Is_numeric함수는 숫자이기만 하면 true 를 반환 하기 때문에 정수일 필요는 없다는 것을 알수 있었습니다.
여기서 제가 사용할 숫자형태는 지수 입니다. 5184001을 지수로 반환하면 다음과 같습니다.
5184001 = 5.184001e6
5.184001e6이 int로 형변환이 되면 소수점 아래는 사라지기 때문에 결국 sleep함수로 들어가는 것은 5초가 되는 것입니다.
5.184001e6을 입력하면 다음과 같은 Flag를 찾으실 수 있습니다.
Flag : HackCTF{1_w4nt_t0_sp3nd_m0r3_t1m3}
'CTF write_up > Hack CTF' 카테고리의 다른 글
[Misc] 달라란 침공 (0) 2019.06.05 [Web] Hidden Flag (0) 2019.05.28 [Web] Input Check (0) 2019.05.22 [Web] Home (0) 2019.05.22 [Misc] qrcode (0) 2019.05.22