Windy's little blog

一切生活中的杂七杂八, and I like CTF.

Pickle漏洞利用在python2和python3里有时不通用。

今天在玩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走一遍下来,也很有收获!


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.0