본문 바로가기

해킹/웹해킹

[웹해킹] HACKCTF - Magic Number WriteUp

엄청난 비주얼...
View Source

php에서도, Javascript와 같이, ==와 ===가 구분되어 있어서, ==는 값 비교를, ===는 값과 자료형이 같은지를 비교한다고 한다.

php에서는 '0e100'와 같은 구문을 e표현법이라고하여, 엄청 크거나 작은 숫자를 저렇게 표현할 수 있다고 한다.

위의 문자열 '240610708'을 md5로 해싱을 하게 되면

md5로 해싱한 사진

0E462097431906509019562988736854가 된다.

이녀석이 위의 if(md5('240610708') == sha1($input))구문에서 == 비교를 할때, php가 0E~~~를 보고, 0x10^~~인가보다 하고 판단해서, 0이된다. 그래서, 우리도 sha1로 digest 했을때, 0e~~가 되는 문자열을 찾아서 넣어주면 해싱 검사를 bypass할 수 있다.

입력하면 flag가 따진다.

 

'해킹 > 웹해킹' 카테고리의 다른 글

[HACKCTF] - 가위바위보  (0) 2021.03.21
[HACKCTF] Home  (0) 2021.03.21
[웹해킹] HACKCTF - Input Check  (0) 2021.03.14
[웹해킹] HACKCTF - TIME WriteUp  (0) 2021.03.14
[웹해킹] 자바스크립트 문법 정리  (0) 2021.03.07