728x90
오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 Robot Only를 함께 풀어볼 예정이다.
## 문제 설명:
문제 정보를 살펴보면 우리가 "로봇"임을 인증하 되는 것으로 보인다.
## 문제 풀이
해당 문제는 nc를 통해서 접속할 수 있다. 접속하면 다음과 같이 robot 인증 화면이 나온다.
아주 긴 숫자를 짧은 시간에 입력하라고 하는데, 자동화를 쓰지 않는 이상 입력할 수 없다.
여기서는 파이썬을 이용해서 풀어보겠다. 우선 로봇임을 인증해보는 코드를 작성해보겠다.
## 공격 코드
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의 구매가격을 확인해보겠다.
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 |