[pwn]格式化字符串全自动exp!!!

前言

格式化字符串一把梭真的好爽!!!!!!

再也不用绞尽脑汁去gdb调试多少个字节和几位了!!

呜呜呜,花了一个通宵把这一系列搞定,喜极而泣,特此记录

以前的我做这类题心理状态:
在这里插入图片描述
现在的我:
在这里插入图片描述
总之就是非!常!爽!

这里我用的例题是 [第五空间2019决赛] 里的pwn5,考察到的知识是单纯的格式化字符串。


格式化字符串原理及利用

原理就不赘述啦,详情参考ctfwiki上的内容
或者搜索下,其他很多大佬写的文章都超级棒!!

利用的话,如下:
利用格式化字符串的漏洞,一般会有如下几种操作:

泄露栈内存
    获取某个变量的值
    获取某个变量对应地址的内存
泄露任意地址内存
    利用GOT表得到libc函数地址,进而获取libc,进而获取其它libc函数地址
    盲打,dump整个程序,获取有用信息

pwntools中自带的格式化字符串漏洞函数

做题的时候容易遇到两个问题:

  1. 找不到偏移量是多少,也就是%n$x中的n为多少
  2. 写入指定地址用%n构造字节数要算的很累,而且容易算错

然后!为了解决这两个问题我翻了好久,总算翻到了点好用的!
在这里插入图片描述

一、针对第一个找不到偏移量的问题
	pwntools自带了FmtStr函数,使用方法如下:

def exec_fmt(pad):
	p = process("./fmt")
	
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值