Yozzang의 해킹일기 💻
article thumbnail
728x90

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

 

 

Robot Only

Description 로봇만 이용할 수 있는 도박장이에요. 로봇임을 인증하고 경기에서 이겨 플래그를 구매하세요!

dreamhack.io


## 문제 설명:

문제 설명

문제 정보를 살펴보면 우리가 "로봇"임을 인증하 되는 것으로 보인다.

## 문제 풀이

해당 문제는 nc를 통해서 접속할 수 있다. 접속하면 다음과 같이 robot 인증 화면이 나온다.

nc

아주 긴 숫자를 짧은 시간에 입력하라고 하는데, 자동화를 쓰지 않는 이상 입력할 수 없다.

 

여기서는 파이썬을 이용해서 풀어보겠다. 우선 로봇임을 인증해보는 코드를 작성해보겠다.

## 공격 코드

from pwn import *

p = remote('host3.dreamhack.games', 9265)

p.recvuntil(b'> ')
p.send_raw(b'2\n')
p.recvuntil(b': ')
num = p.recvline()[1:-2]
p.recvuntil(b'> ')
p.send_raw(num + b'\n')

p.interactive()

## 실행 결과

성공

로봇임을 인증되었다.

 

이어서 1번을 클릭하여 갬블을 진행할 수 있는데, 여기서 시작 금액이 500이며 배팅할 금액을 선택할 수 있다. 그다음에 5개의 상자 중 하나를 선택하라는데, 실패할 경우 배팅된 모든 금액을 잃는다.

갬블

여기서 버그 하나 존재하는데, 바로 음수에 대한 검증이 이루어지지 않다는 것이다. 즉 우리가 실패 시 배팅할 금액을 "-"하게 되는데, 음수를 배팅한 경우 "--" = "+"가 된다.

 

로직을 알아냈으니 이제 flag의 구매가격을 확인해보겠다.

flag 가격

10000000000이다. 즉 -10000000000원을 배팅해보면 된다.

성공

위와 같이 성공적으로 flag를 구매한 것을 확인할 수 있다.

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

[DreamHack 워게임] php-1  (0) 2023.03.26
[DreamHack 워게임] pathtraversal  (0) 2023.03.25
[DreamHack 워게임] adm1nkyj  (0) 2023.03.23
[DreamHack 워게임] login filtering  (0) 2023.03.09
[DreamHack 워게임] md5 password  (0) 2023.03.08
profile

Yozzang의 해킹일기 💻

@요짱

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