본문 바로가기

보안

[wargame.kr] type confusion

오늘도 한문제~

type으로 생기는 취약점을 찾아내야 하는 건가 보다.

 

json을 받아오고,  gen_key()를 통해 sha1한 해시 값을 비교하는 로직이다.

뭘 어떻게 해야될지 모르겠어서 한참 들여다봤다...

내가 입력한 key값이 json으로 들어간다.

 

너무 또 json이나 gen_key()에 집중하다가.. == 연산자를 사용한 걸 이제야 발견했다...ㅠㅠ 짜증

 

내가 보낸 키값과 함수에 의해 생성된 키값을 비교해서 true를 return하면 되는데

sha1로 해시된 키값과 == 연산자를 통해 비교해서 true를 return 하는게 뭘까 찾아봤다.

 

숫지 0이나 true를  넘겨주면 되는 것 같다.

 

저기서 바로 0이나 true를 입력해버리면 {"key": 0}, {"key": true}가 되지 않고 문자열 취급을 당한다.

어떻게 보내야되는거지ㅜㅜㅜ

.

.

html코드를 봐야된다는 힌트를 얻고(ㅠㅠㅠㅠㅠ)

저기에 있는 util.js가 새로 생긴거같아서 들어가봤다.

 

submit 함수에서 저렇게 보내는 것 같았다.

또 저건 어떻게 고치지 페이지를 뒤적뒤적하다가 개발자 도구로 수정할 수 있다는걸 확인했다.

 

 

저 key 값을 true로 수정하고 저장한뒤 check를 했더니

 

플래그가 떴다ㅜㅜ

1일 1문제였는데 2일 1문제가됐다.ㅜㅜ 너무 어려워

 

 

어쨌든 드디어 풀었다!!!!!!!!!!

'보안' 카테고리의 다른 글

[wargame.kr] tmitter  (0) 2020.01.20
[wargame.kr] md5 compare  (0) 2020.01.19
[wargame.kr] DB is really GOOD  (0) 2020.01.15
[wargame.kr] strcmp  (0) 2020.01.14
[wargame.kr] md5 password  (0) 2020.01.12