Description:
I thought I found a perfect match but she ended up being my regEx girlfriend.
nc misc.chal.csaw.io 8001
It wasn’t so hard, I asked google for the best way to generate matched string to a given pattern and wrote the following script. The only headache was when my generator used newlines (“\n”) so I removed them.
from pwn import *
import rstr
import exrex
from time import sleep
import re
# conect to server
r = remote('misc.chal.csaw.io', 8001)
# Print the question string
print r.recvline()
# Counter
i=1
while True:
# Recieve the regex pattern
reg = r.recvline()[:-1]
print "%d -------\n"%i
print reg
print "-------\n"
ans=rstr.xeger(reg).replace('\n','') # Remove newlines!
# ans=exrex.getone(reg).replace('\n','') # Another possible option
r.sendline(ans)
i+=1
sleep(0.2)
And after 1000 tests we got the flag: flag{^regularly_express_
Eat Veggies