AttackLab3

本文详细记录了一次利用汇编代码进行攻击的过程,包括调整曲奇饼地址、修复参数传递错误,最终成功触达目标函数。通过修改攻击字符串的十六进制表示,作者解决了因地址设置错误导致的问题。

先看看调用hexmatch前后缓冲区、返回地址和返回地址上8个字节的变化(缓冲区40bytes)
在这里插入图片描述
在这里前后插入两个断点
在这里插入图片描述
然后写了一个checkspace,目的是让test在返回时返回到touch3的地址。
在这里插入图片描述
两处断点处栈分别是这样的
在这里插入图片描述
在这里插入图片描述
说明0x556647d8处可以放我们曲奇饼的地址!(?)

现在开始写汇编代码
在这里插入图片描述
在这里插入图片描述
根据上图写出攻击字符串的16进制形式,其中最后两行是曲奇饼的ASCII码
在这里插入图片描述
在这里插入图片描述
转换成字符串后,报错
在这里插入图片描述
看起来像是已经成功到达了touch3,但是没有传递正确的参数。

!!!
我发现是因为我把
movq $556647d8 %rsi
写成了
movq $556647a8 %rsi
分析了一下之后我在攻击字符串16进制表示的其中一个字节处做了改动

在这里插入图片描述
就成功啦!

### 南京邮电大学 AttackLab 技术资料概述 南京邮电大学(Nanjing University of Posts and Telecommunications, 简称南邮)的 AttackLab 是一个专注于网络安全领域的实验室。该实验室提供了一系列技术资源和实验项目,旨在帮助学生和研究人员深入理解网络攻击与防御机制[^1]。以下是关于 AttackLab 的一些关键技术和资源信息: #### 1. AttackLab 实验系列 AttackLab 提供了一系列基础到高级的实验项目,这些项目涵盖了漏洞利用、缓冲区溢出、格式化字符串漏洞等多个主题。通过这些实验,学习者可以掌握以下技能: - 缓冲区溢出攻击原理及防御方法[^1]。 - 格式化字符串漏洞的利用方式及其修复策略。 - Shellcode 的编写与注入技术。 #### 2. 安全开发面经分享 在网络安全领域,除了实际操作外,面试经验也是学习的重要组成部分。AttackLab 的相关资料中包含了一些最新的网络安全开发面经分享,这些内容可以帮助学习者了解企业对安全工程师的要求以及常见的面试问题[^1]。 #### 3. 源码合集与工具包 AttackLab 提供了丰富的源码合集和工具包,这些资源包括但不限于: - 常见漏洞的示例代码,帮助学习者理解漏洞成因。 - 自动化检测工具,用于扫描潜在的安全隐患。 - 防御框架的实现代码,展示如何构建安全的应用程序环境。 #### 示例代码:缓冲区溢出攻击演示 以下是一个简单的缓冲区溢出攻击示例代码,展示了如何通过输入超出缓冲区大小的数据来覆盖返回地址[^1]。 ```c #include <stdio.h> #include <string.h> void vulnerable_function(char *str) { char buffer[64]; strcpy(buffer, str); // 漏洞点:未检查输入长度 } int main(int argc, char *argv[]) { if (argc > 1) { vulnerable_function(argv[1]); } return 0; } ``` #### 相关书籍与笔记资料 许多前辈整理的书籍和手写笔记是学习网络安全的重要资源。这些资料通常包含对技术点的独特理解,能够为学习者提供不同的思路。例如,某些笔记详细分析了特定漏洞的成因及修复方法[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值