Přeskočit na hlavní obsah
  1. Řešení úloh/

Easy as 123 - Autorské řešení úlohy

·133 slov·1 min
sijisu
Autor úlohy
Sijisu
sijisu
Autor řešení
Sijisu

Solution #

Follow the instructions that the challenge gives you :)

Exploit script #

An example exploit is provided. By default exploits localhost on port 9999. This can be very easily edited inside the exploit (it’s very short).

NOTE: The exploit requires the pwntools library.

from pwn import *

r = remote('localhost', 10001)
#r = process('../src/chall')

# level 1
r.sendlineafter(b"please?", b"1")
r.sendlineafter(b"please?", b"2")
r.sendlineafter(b"please?", b"3")
r.sendlineafter(b"please?", b"31337")

# level 2
r.sendafter(b"please?", p64(1))
r.sendafter(b"please?", p64(2))
r.sendafter(b"please?", p64(3))
r.sendafter(b"please?", p64(31337))
r.sendafter(b"please?", p64(0x42f00dbabe))

for i in range(5):
    l = r.recvline_startswith(b"Can you please solve this for me").split(b" ")
    op1 = int(l[7])
    oper = l[8].decode()
    op2 = int(l[9][:-1])
    res = 0
    if oper == '+':
        res = op1 + op2
    elif oper == '-':
        res = op1 - op2
    elif oper == '*':
        res = op1 * op2
    r.send(p64(res))

print(r.recvall().decode())