1. Description
어플리케이션에서 원격 코드 실행이 가능한 취약점이 발생할 경우 원격의 공격자에게 시스템 권한을 허락하는 심각한 결과를 초래할 수 있다. 이번 문제는 간단한 취약점을 공격하는 과정을 통해 기초 공격 기술을 평가한다.
nc 20.194.4.150 4147
2. Write up
# nc 20.194.123.97 11111
----------------------------------------------------------------------
This is calc challenge.
Analyze the given equation and fill in the blanks.
Flag is awarded after passing 100 stages.
You can use +, -, *, /
----------------------------------------------------------------------
stage 0
1 ? 2704 = 2705
>>+
stage 1
3079 ? 3053 = 6132
>>fail
Bash
복사
문제에 접속해보면 연산자를 맞추는 문제로 총 100문제를 풀어야 하는 문제이다.
간단하게 pwntools를 이용해서 스트림을 받아서 파싱 후 해당되는 연산자를 보내면 된다.
from pwn import *
r = remote("20.194.123.97",11111)
for i in range(100):
print r.recvuntil("stage "+str(i))
stage = r.recvuntil(">>")
print stage
prob = stage.split()
if float(prob[0]) + float(prob[2]) == float(prob[4]):
r.send("+")
if float(prob[0]) - float(prob[2]) == float(prob[4]):
r.send("-")
if float(prob[0]) * float(prob[2]) == float(prob[4]):
r.send("*")
if float(prob[0]) / float(prob[2]) == float(prob[4]):
r.send("/")
print r.recv(1024)
r.interactive()
Python
복사
3. FLAG
cce2021{0f2dbc899ed596b1a5d325486c80e41be4bb016e2109ab238ec9e71a88ebb46875c27384ba6af3395c9c10b953a417edd5afd9572ea7f61f}