Wargame.kr

Web_550

type confusion




php의 data type에 관련된 문제같습니다. 문제를 확인해봅시다.


텍스트박스 하나와 check 버튼 하나가 우릴 맞이해주고있습니다.

view-source 링크를 타고 소스를 확인 해 보죠.




gen_key 함수에서 uniqid 함수와 sha1 암호화를 통해 키를 생성하는데, usleep 함수때문에 프로그래밍을 통한 때려맞추기는 못할 듯 싶습니다.

그렇다면 답은 if문에 있을 것입니다.

if문을 지나게 되면 json 형식으로 code 값에 true를, flag 값에 Key값을 넣어 return 해주네요.

util.js 부분을 살펴봅시다.



아까 소스에서 확인했던 code 부분이 true 일 때 flag를 뱉어주네요.




구글링을 통해 확인 한 php 비교연산 테이블입니다.

"php"라는 문자열과 TRUE의 값을 비교했을 때 TRUE를 반환하는 것을 알 수 있습니다.

우리가 json의 key value에 true를 넣어준다면 if문이 우회가 될 것입니다.

네. 생각대로 flag를 뱉어줍니다.




References

- Chris Smith_(PHP Magic Tricks: Type Juggling)

'Wargame > Wargame.kr' 카테고리의 다른 글

[Wargame.kr] Web_600_SimpleBoard  (0) 2016.05.21
[Wargame.kr] Web_600_tmitter  (0) 2016.05.20
[Wargame.kr] Web_550_strcmp  (0) 2016.05.18
[Wargame.kr] Web_500_md5 password  (0) 2016.05.18
[Wargame.kr] Web_500_md5_compare  (2) 2016.05.18

+ Recent posts