20232410 2025-2026-1 《网络与系统攻防技术》 实验一实验报告

news/2025/10/12 12:08:02/文章来源:https://www.cnblogs.com/stitchyyy/p/19136455

一、实验目的
本次实践的对象是一个名为pwn1的linux可执行文件。
该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。
该程序同时包含另一个代码片段,getShell,会返回一个可用Shell。正常情况下这个代码是不会被运行的。我们实践的目标就是想办法运行这个代码片段
二、实验内容与实验要求
三个实践内容如下:
1.手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。
2.利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。
3.注入一个自己制作的shellcode并运行这段shellcode。
要求:
1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码
  2.掌握反汇编与十六进制编程器
  3.能正确修改机器指令改变程序执行流程
  4.能正确构造payload进行bof攻击
三、实验环境
我使用的是kali官网提供的直接使用的虚拟机,方便快捷
image

四、实验过程与分析
1.基础知识理解
NOP:不执行任何有效操作,仅消耗一个指令周期,常用于指令对齐或延迟。
CMP:比较两个操作数,仅修改标志寄存器,不保存结果。
JE:相等则跳转。
JNE:不相等跳转。
JMP:无条件跳转。

反汇编:反汇编是将机器码(二进制指令)转换为人类可理解的汇编语言的过程,其核心目的是分析已编译程序的执行逻辑。
十六进制编程器:直接以十六进制(或二进制)形式查看、编辑文件字节的工具,允许用户修改文件的原始二进制数据。
2.直接修改程序机器指令,改变程序执行流程
2.1下载目标文件pwn1,反汇编
image

2.2找到调用foo函数的目标指令
这里的 call 8048491 指令,作用是调用位于 8048491 地址处的 foo 函数。它对应的机器指令是 e8 d7 ff ff ff,其中 e8 代表跳转操作,d7 ff ff ff 则指向 foo 函数的地址。基于此,我们要把 d7 ff ff ff 修改为 getShell 函数的地址,让指令直接调用 getShell 函数。
image

2.3修改返回地址
将其中的call指令的目标地址由d7ffffff变为c3ffffff,如图
image

2.4检验,反汇编观察是否正确调用getshell
image

2.5结果

image

3.通过构造输入参数,造成BOF攻击,改变程序执行流
如果输入字符串1111111122222222333333334444444412345678,那 1234 那四个数最终会覆盖到堆栈上的返回地址,进而CPU会尝试运行这个位置的代码。那只要把这四个字符替换为 getShell 的内存地址,输给pwn1,pwn1就会运行getShell。
getShell的内存地址,通过反汇编时可以看到,即0804847d。
因为我们没法通过键盘输入\x7d\x84\x04\x08这样的16进制值,所以先生成包括这样字符串的一个文件。
image

可以使用16进制查看指令xxd查看input文件的内容是否如预期。
image

然后将input的输入,通过管道符“|”,作为pwn20232410a的输入。得出结果

image

4.注入Shellcode并执行
4.1 通过对函数foo进行反汇编,可以发现可以发现foo的结束地址是0x080484ae,在此处设置一个断点。
image

4.2 当程序运行到断点时,我们发现可以发现esp寄存器的内容为0xffc61ec
image

4.3shellcode的地址为0xffc61ec+4=0xffc6d1f0,进行更改
image

4.4得到结果
image

五、实验结果总结
1.问题及解决
实验中,我遇到了执行文件权限不够的问题,在ai的帮助下,我使用了如下命令解决
image

2.实验体会
本次逆向及 Bof 基础实践围绕修改 pwn1 文件、触发 getShell 函数展开,让我对程序底层逻辑与漏洞利用有了深刻理解。
手工修改可执行文件时,通过 objdump 反汇编定位关键指令,计算地址偏移补码,再用工具修改十六进制代码,成功让程序跳转至 getShell。这一过程让我真切掌握了 call 指令与 EIP 寄存器的作用。
利用 Bof 漏洞时,借助 gdb 调试观察到输入字符串如何覆盖缓冲区、篡改返回地址,用 perl 生成攻击字符串并通过管道传入,成功触发 shell,让我体会到精准控制内存数据是漏洞利用的核心。
注入 shellcode 的实践充满挑战,从设置环境到调整 payload 结构,反复调试后才解决段错误问题。这让我明白漏洞利用不仅需技术,更需耐心。总而言之,本次实验让我受益匪浅,提升了我的网络安全素养。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Windows系统打造基于ConEmu的命令行工具环境

需求背景 对于git工具的使用,个人习惯了通过命令行进行操作。特别是当需要管理多个项目时,希望命令行工具支持多标签页方式便于切换,并且具备保存历史标签页的功能。 上述诉求在Linux/Mac系统下都比较好实现,但是在…

2025工矿灯厂家最新权威推荐榜:工业照明技术革新与品质保障

2025工矿灯厂家最新权威推荐榜:工业照明技术革新与品质保障在工业4.0和智能制造快速推进的背景下,工矿照明领域正经历着深刻的技术变革。现代工矿灯不仅需要满足基础照明需求,更要兼顾能效管理、智能控制和环境适应…

ZR 2025 十一集训 Day 1

数据结构内容 请输入内容

2025广东粉末厂家最新权威推荐榜:技术实力与市场口碑深度解

2025广东粉末厂家最新权威推荐榜:技术实力与市场口碑深度解析在制造业转型升级的浪潮中,广东作为中国制造业的重要基地,粉末材料行业迎来了前所未有的发展机遇。粉末材料作为现代制造业的基础原料,其质量直接关系到…

[KaibaMath]1007 关于数列极限存在的唯一性证明

[KaibaMath]1007 关于数列极限存在的唯一性证明基于∀ε>0,常数λ>0,|a-b|<λε => a=b和绝对值的三角形不等式|a-b|<=|a|+|b|,我们可证明数列极限存在的唯一性定理。|a-b|<λε => a=b的证明…

20232418 2025-2026-1 《网络与系统攻防技术》实验一实验报告

一、实验目的1掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码。2掌握反汇编与十六进制编程器。3能正确修改机器指令改变程序执行流程。4能正确构造payload进行bof攻击。 二、实验环境 VMware Workstation pro环境下安装k…

十月模拟赛

十月模拟赛10.3 T3 序列修改 在时间轴上考虑,相当于每个时间除了自己该有的还能额外带上 \(k - 1\) 个东西。则对于每个数,将每两个相邻的出现中间视为一条线段,则希望选出一些线段满足每个位置被覆盖不超过 \(k - …

2025年成都软件开发机构最新推荐排行榜,涵CRM,物联网,运维,仓储,人力多系统,技术实力与市场口碑深度解析

在数字化转型加速推进的当下,成都地区政企机构对专业化软件开发服务的需求持续攀升,但市场乱象却让选型陷入困境。部分厂商技术架构陈旧,难以适配业务快速迭代;有些服务商重开发轻售后,故障响应滞后,造成隐性损失…

2025硅藻土定制厂家权威推荐榜:专业生产与深度定制实力解析

2025硅藻土定制厂家权威推荐榜:专业生产与深度定制实力解析在环保材料行业快速发展的当下,硅藻土凭借其优异的吸附性能、环保特性以及广泛的应用领域,已成为工业过滤、建筑材料、环保净化等多个行业不可或缺的功能性…

变量、函数命名方式

在编程中,变量和函数的命名方式直接影响代码的可读性、可维护性和团队协作效率。 一、驼峰命名法特点:多个单词组合时,除第一个单词外,其余单词首字母大写,整体无空格或下划线。 细分:小驼峰(lowerCamelCase):…

汉文博士 0.7 版:支持统一码 17.0,新增字体分析器,优化词典编译器

自去年10月份发布汉文博士 0.6.4 版后,汉文博士经过近一年的开发,今天发布了新的 0.7 版。其主要新增功能如下。 强化的构形检索 新版支持使用构形检索统一码 17.0 新增的“中日韩表意文字扩展J区”4298 个汉字。构形…

2025燃气采暖锅炉厂家权威推荐榜:高效节能与品质保障口碑之

2025燃气采暖锅炉厂家权威推荐榜:高效节能与品质保障口碑之选在能源转型与绿色发展的时代背景下,燃气采暖锅炉作为建筑供暖系统的核心设备,其技术革新与品质提升已成为行业关注的焦点。随着国家“双碳”目标的深入推…

【python】python进阶——Redis模块 - 教程

【python】python进阶——Redis模块 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

2025 年 10 月桥架厂家最新推荐:专业制造与品牌保障口碑之选!

在工业基建与电力传输需求持续增长的 2025 年,桥架作为核心支撑构件,其产品品质、技术实力与品牌可靠性直接影响工程安全与效率。本次推荐聚焦 “专业制造能力”“品牌保障体系”“市场口碑积累” 三大核心维度,筛选…

语文_作文_开头结尾

成长领悟 (开头)回忆往昔,就像翻看一本微微褪色的相册。有些画面已模糊难辨,有些瞬间却依然鲜明如昨。那些悲喜交织的片段,仿佛是岁月留给我们的密码,唯有细细解读,方能领悟其深藏的价值——那就是关于成长的一…

后端缓存好?缓存实用的方案实例直接用就是前端缓存好还

后端缓存好?缓存实用的方案实例直接用就是前端缓存好还pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

Nature | 本周最新文献速递

1. Tracking clonal evolution during treatment in ovarian cancer using cell-free DNA 中文标题: cfDNA揭秘卵巢癌耐药演化:从诊断到复发,精准追踪克隆动态 关键词: 卵巢癌、克隆演化、cfDNA、耐药性、精准治疗 摘…

2025年通风天窗厂家最新权威推荐榜:专业性能与高效通风口碑

2025年通风天窗厂家最新权威推荐榜:专业性能与高效通风口碑随着工业建筑对室内环境要求的不断提高,通风天窗作为工业厂房自然通风采光的关键设备,其技术性能与产品质量日益受到重视。2025年,通风天窗行业在节能环保…

解决scoop安装的anaconda无法在商店版powershell使用的问题

1) 不依赖 profile,先在当前会话“临时启用” conda $CondaRoot = D:\Scoop\apps\anaconda3\current\App $env:PATH = "$CondaRoot\condabin;$CondaRoot\Scripts;$CondaRoot;$CondaRoot\Library\bin;$env:PATH&q…

2025智能吉他厂家最新权威推荐榜:创新科技与卓越音质完美融

2025智能吉他厂家最新权威推荐榜:创新科技与卓越音质完美融合在音乐科技日新月异的今天,智能吉他产业迎来了前所未有的发展机遇。传统乐器制造工艺与现代智能技术的深度融合,正在重塑音乐创作与演奏的边界。据国际音…