探索CSAPP实验:缓冲区溢出攻击实战与C语言底层剖析
版权申诉
152 浏览量
更新于2024-06-19
收藏 1002KB DOCX 举报
本次实验报告主要聚焦于【BUPT计算机系统基础】课程中的缓冲区溢出攻击实验,旨在通过实际操作加深学生对C语言程序机器级表示的理解,以及熟练运用GDB调试器进行程序分析。实验涉及到的目标是两个存在缓冲区溢出漏洞的程序:ctarget和rtarget,它们分别采用不同的攻击方式,即代码注入和Return-Oriented Programming (ROP)。
首先,实验的目的是让参与者掌握C语言程序在x86-64架构下的机器级表示,理解控制结构如何转化为基本指令,并了解这些指令如何实现程序流程。此外,通过实践,学生将深入理解软件漏洞的潜在威胁,学习如何利用缓冲区溢出漏洞进行安全攻击。
实验环境设置在Linux服务器上,服务器IP为10.120.11.12,服务器会在指定时间(2022年11月28日23:59)关闭。学生需利用Objdump反汇编工具和GDB调试工具来进行逆向工程分析,找出返回地址在堆栈中的位置以及攻击所需的机器码。
实验内容分为五个阶段,难度逐渐增加,每个阶段都有明确的分数分配。在每个阶段,学生需要登录bupt1服务器,找到并解压名为target357.tar的文件,然后在target357目录下操作,包括查看文件列表、运行ctarget和rtarget程序、分析它们的源代码和二进制文件,识别漏洞并利用提供的工具进行攻击。在代码注入阶段,目标是输入特定字符串来调用特定函数;而在ROP阶段,学生需要找到并组合小工具来实现特定功能,最后提交得分信息。
整个实验过程不仅涉及基础的编程和调试技能,还涵盖了安全性和逆向工程的知识,对于提升学生的实践能力和理论联系实际的能力具有重要意义。通过这个实验,学生将加深对C语言编程安全性的认识,并且学会如何防范和应对缓冲区溢出这类常见的安全漏洞。
2007-10-14 上传
2023-03-23 上传
2023-03-23 上传
2023-03-23 上传
点击了解资源详情
2024-01-09 上传
2021-01-06 上传
2021-05-14 上传
手把手教你学AI
- 粉丝: 9434
- 资源: 4774
最新资源
- Elasticsearch核心改进:实现Translog与索引线程分离
- 分享个人Vim与Git配置文件管理经验
- 文本动画新体验:textillate插件功能介绍
- Python图像处理库Pillow 2.5.2版本发布
- DeepClassifier:简化文本分类任务的深度学习库
- Java领域恩舒技术深度解析
- 渲染jquery-mentions的markdown-it-jquery-mention插件
- CompbuildREDUX:探索Minecraft的现实主义纹理包
- Nest框架的入门教程与部署指南
- Slack黑暗主题脚本教程:简易安装指南
- JavaScript开发进阶:探索develop-it-master项目
- SafeStbImageSharp:提升安全性与代码重构的图像处理库
- Python图像处理库Pillow 2.5.0版本发布
- mytest仓库功能测试与HTML实践
- MATLAB与Python对比分析——cw-09-jareod源代码探究
- KeyGenerator工具:自动化部署节点密钥生成