fmt
格式化字符串漏洞
TTYflag
ctf pwn菜鸡选手
qq 1617889365
展开
-
格式化字符串中的占位符特殊用法
*号的用法*在printf里可以代表一个泛整数,可以代表任何整数。它可以出现在位宽的位置,也可以出现在小数位数的位置。对于下面这个程序#include<stdio.h>int main(){ float a = 3.14; printf("num:%*.2f",6,a);}它的输出是num: 3.14也就是%*.2f这个格式化参数在输出时一共占了6个字符大小。那么下面给出一道例题//gcc -o test test.c -no-pie -g#include<原创 2021-03-25 16:26:56 · 640 阅读 · 0 评论 -
fmtstr模块
格式化字符串漏洞如果要修改某个内存地址的内容常常需要构造比较长的payload,手撸当然也可以,但比较耗时,容易出错,pwntools里的pwnlib.fmtstr模块用起来比较方便,不容易出错,所以记录一下以便以后能够更快的写exp。pwntools pwnlib.fmtstr模块提供了一些字符串漏洞利用的工具。该模块中定义了一个类FmtStr和一个函数fmtstr_payload。FmtStr提供了自动化的字符串漏洞利用。class pwnlib.fmtstr.FmtStr(execute_fmt原创 2021-03-23 11:02:09 · 941 阅读 · 0 评论 -
fmt
fmt(格式化字符串漏洞)格式化字符串函数介绍格式化字符串函数可以接受可变数量的参数,并将第一个参数作为格式化字符串,根据其来解析之后的参数。通俗来说,格式化字符串函数就是将计算机内存中表示的数据转化为我们人类可读的字符串格式。几乎所有的 C/C++ 程序都会利用格式化字符串函数来输出信息,调试程序,或者处理字符串。常见的有格式化字符串函数有输入scanf输出函数基本介绍printf输出到 stdoutfprintf输出到指定 FILE 流vpri原创 2020-11-26 10:22:41 · 291 阅读 · 0 评论