[PWN][基础篇]格式字符串漏洞发生的条件(上)

简介: [PWN][基础篇]格式字符串漏洞发生的条件

格式字符串漏洞发生的条件

1、实验一

2、实例二

3、实例三


本次实验3个实例

1、实验一

代码如下:

image.png

这个实验是不存在漏洞的,重点在于理解printf函数的堆栈变化。

使用GDB打开,我们先要看一下main函数,可以看到printf函数的地址是0x00001206

image.png

我们在printf函数处下断点

image.png

开始运行这个程序,

1.png

这个单步n是不可以的,我们要先删除断点后start程序

1.png

image.png

我们来看一下栈中的情况

3个数,是倒序压栈的,从右到左,所以我们在先是\n,然后是e9也就是我们的233

image.png

最后是hello world,这样的压栈方式是为了正向的输出,first in last out吗不是

2、实例二

代码如下:

image.png

image.png

我们运行一下这个程序,我们就可以发现这个程序的漏洞了

image.png

和上面的流程一样,先看看main函数,然后再printf函数处下断点

image.png

image.png

观察一下栈

image.png

再单步一次,观察一下输出的东西

image.png

我们可以看一下输出的最后一个为什么是0

image.png

所以说当参数和格式化输出不相同时,程序就会错输出。

相关文章
|
9月前
|
程序员
用正则表达式判断字符串形式正误(例:判断电话号码属地是否为中国大陆)
用正则表达式判断字符串形式正误(例:判断电话号码属地是否为中国大陆)
49 0
|
9月前
|
监控 安全 JavaScript
某远控RCE绕过某数字的利用方式
某远控RCE绕过某数字的利用方式
191 2
|
10月前
|
算法
算法强化每日一题--删除公共字符
算法强化每日一题--删除公共字符
|
11月前
如何用正则表达式判断手机号格式正不正确
如何用正则表达式判断手机号格式正不正确
110 0
|
存储 C++
C++/PTA 2017final英文语句格式简单检查
英文书写中,句首字母通常为大写,其余为小写,单词“I”除外,单词与单词之间用一个空格隔开,句中用“,”断句,句末用“.”结束,“,”和“.”与其前置单词间无需空格隔开。 Word等文本编辑器通常根据以上规则,对我们输入的英文语句进行自动修正。
77 0
|
SQL 安全 PHP
解析php安全性问题中的:Null 字符问题
解析php安全性问题中的:Null 字符问题
110 0
|
Web App开发 网络协议 Unix
Linux-文本处理三剑客awk详解+企业真实案例(变量、正则、条件判断、循环、数组、分析日志)
文本处理 awk 1.awk简介 awk是一种编程语言,用于在Linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其他命令的输出,它支持用户自定义函数和动态正则正则表达式等先进功能,是Linux/unix下的一个强大的编程工具。它在命令行中使用,但更多是作为脚本来使用。
453 0
Linux-文本处理三剑客awk详解+企业真实案例(变量、正则、条件判断、循环、数组、分析日志)
|
安全 NoSQL
[PWN][基础篇]格式字符串漏洞发生的条件(下)
[PWN][基础篇]格式字符串漏洞发生的条件
86 0
[PWN][基础篇]格式字符串漏洞发生的条件(下)
[PWN][补充篇]pwntools的相关知识
[PWN][补充篇]pwntools的相关知识
131 0
|
安全 Linux C语言
[PWN][基础篇]保护函数和溢出实例
[PWN][基础篇]保护函数和溢出实例
150 0
[PWN][基础篇]保护函数和溢出实例