格式化字符串漏洞攻击

本文探讨了格式化字符串漏洞攻击的三种形式,重点在于危害最大的任意写入内存攻击。通过关闭Linux的地址随机化保护,利用GCC的编译选项,攻击者可以写入内存并执行恶意代码。利用nm或objdump找到构造函数的起始位置,通过printf将shellcode写入特定区域,如.fini_array,以在程序结束时执行。此外,还提到了其他可利用的内存区域,如全局偏移表、全局函数指针和堆栈值。最后,分享了一个关于利用缓冲区进行环境写shellcode的攻击方法的资源链接。
摘要由CSDN通过智能技术生成

格式化字符串漏洞攻击,主要有以下三点。
1 拒绝服务攻击
2 查看内存攻击
3 写入任意内存攻击
我们这要说一下危害最大的任何写入内存攻击。
注意:最新版的Linux,先关闭地址随机化保护和利用GCC 编译时打开-z execstack
代码如下:
这里写图片描述
如大家所见,我把存在漏洞的函数规定为折构函数(程序结束后,协助程序完成一些期望的工作),这样子的化,我们不到那可以重写内存,还可以执行攻击代码。
利用 export SC=cat sc 其中sc是shellcode ,写入环境变量。利用Balaess等人的magic 公式计算写入地址。
这里写图片描述
利用 nm或者objdump获得折构函数首个函数开始位置,开始写入,如图

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值