美文网首页二进制安全
【PWN】格式化字符串

【PWN】格式化字符串

作者: y4ngyy | 来源:发表于2018-12-24 21:25 被阅读0次

C语言中经常使用scanfpringtf进行格式化的读入和输出,但是没有做好过滤可能导致程序漏洞。

基础知识

通常C语言中的占位符有如下:

占位符 作用
%p 以16进制输出指针的值(地址)
%x 输出16进制值(与%p有区别)
%s 输出字符串值
%d 输出10进制整数
%n 占位符前面成功输入的字符个数写入变量中

%number$p可以指定后number个参数输出。

漏洞点

若程序中直接使用printf(str),且str我们可以控制,则在str中输入格式化字符串,可以泄露出栈内容,且可以进行任意地址写。
利用方式:

  1. 泄露出栈中内容,找到栈中str的位置(利用%number$x)进行探查。
  2. 构造payload地址+填充字符+%number$n可以任意地址写入内容。

相关文章

  • adworld pwn 题解

    新手练习 CGfsb 简单的格式化字符串 get_shell nc 上去直接 cat flag hello_pwn...

  • 格式化字符串漏洞

    pwn 原理 格式化字符串漏洞主要出现在printf家族中,当程序员为了偷懒将从用户处读入的字符串直接输出时,可能...

  • 格式化字符串

    pwn 格式化字符串 这个题目是ctfwiki上的 c代码如下: (突然发现腾讯文档居然还支持代码好强啊 我们编译...

  • 【PWN】格式化字符串

    C语言中经常使用scanf和pringtf进行格式化的读入和输出,但是没有做好过滤可能导致程序漏洞。 基础知识 通...

  • 格式化字符串pwn200

    2017湖湘杯pwn200,还是比较经典的格式化字符串例题 先查看一下保护机制: 32位开启了canary和堆栈不...

  • 格式化字符串

    格式化字符串漏洞网上讲的也很多,这里就不对漏洞进行解释了,直接讲怎么做题,以湖湘杯的pwn200为例子: 拿到题目...

  • 再谈格式化字符串

    pwn真的是爸爸,好多已经做过的实验再做一遍又会有不同的体会 还是这份代码: 很明显的格式化字符串漏洞对吧这次我用...

  • Python基础(18) - 字符串格式化与模板字符串方法

    字符串格式化的各种方法 格式化字符串的方法 使用%格式化 模板字符串 字符串的format方法 fstring 什...

  • 简单的宏定义(不定期补充)

    控制台输出 RGB色值 格式化字符串 格式化字符串 输出点、坐标、Rect 格式化数字

  • python基础知识(3)

    python字符串 python转义字符 python字符串运算符 python字符串格式化 python格式化操...

网友评论

    本文标题:【PWN】格式化字符串

    本文链接:https://www.haomeiwen.com/subject/jgstlqtx.html