今天在玩HackMyVm的靶机Pickle的时候,遇到了这个问题,python3下pickle.dumps生成的payload代码,在靶机上总是显示进行md5 hash时,ascii编码出错。
md5_encode = hashlib.md5(request.form["story"]).hexdigest()\nUnicodeEncodeError: 'ascii' codec can't encode character u'\ufffd' in position 0: ordinal not in range(128)
试了许多方法,没有解决,最后只能在python2下重新编写exp代码,引入的是import cPickle,这才成功运行。
话说这个靶机确实值得一试,对着老外的writeup走一遍下来,也很有收获!