Yozzang의 해킹일기 💻
article thumbnail
728x90

오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 type confusion를 함께 풀어볼 예정이다.

 

 

[wargame.kr] type confusion

Description Simple Compare Challenge. hint? you can see the title of this challenge. :D

dreamhack.io


## 문제 설명:

문제 설명

문제 정보를 살펴보면 type confusion 취약점을 이용하면 되는 것으로 보인다.

## 문제 풀이

사이트에 접속해보니 다음과 화면이 보인다.

main

우선 view-source 버튼을 클릭하여 소스 코드를 확인해보겠다.

소스 코드

소스 코드를 확인해보면 로직에 맞는 값을 입력하면 FLAG를 출력한다고 되어 있다. 여기서 아래 쪽의 script 부분을 확인해보면 ./util.js 파일을 호출한 것을 확인할 수 있다. 해당 파일의 내용을 확인해보면 다음과 같다.

util.js

두 개의 함수가 나온 것을 확인할 수 있다. submit_check()는 입력한 값을 보내는 용도이며, sumit은 실제 검증 로직과 연관이 있다. 또한 빨간색 박스를 확인해보면 검증할 때 "==="가 아닌 "=="를 사용하고 있는 것을 확인할 수 있다. 즉, 엄격한 비교연산자가 아닌 느슨한 비교연산자를 사용하고 있다는 것이다.

 

위에 데이터 부분을 확인해보면 key: key로 되어 있는데, 여기서 key: true로 변경하여 해당 로직을 쉽게 우회할 수 있다.

개발자 도구

위와 같이 개발자 도구의 콘솔창에서 key의 값을 변경한 후, 아무 값을 입력하여 전송해보겠다.

성공

FLAG 값이 성공적으로 출력된 것을 확인할 수 있다.

'Wargame > DreamHack' 카테고리의 다른 글

[DreamHack 워게임] counting query  (0) 2023.04.12
[DreamHack 워게임] strcmp  (0) 2023.04.10
[DreamHack 워게임] fly me to the moon  (0) 2023.04.09
[DreamHack 워게임] Tomcat Manager  (0) 2023.04.08
[DreamHack 워게임] funjs  (0) 2023.04.07
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!