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

20253905 2024-2025-2 《网络攻防实践》实践九报告

20253905 2024-2025-2 《网络攻防实践》实践九报告

1.实践内容

总结一下本周学习内容并介绍下实践内容,不要复制粘贴

2.实践过程

2.1

  • 修改主机为本人姓名拼音,修改文件名
    image
    image
  • 输入命令objdump -d pwn1_20253905 | less,启动反汇编分析程序,查找三个关键函数:main、foo、getShell,并记录地址
    image
  • 输入命令hexedit pwn1_20253905,用十六进制编辑器打开程序
    image
  • 定位到要修改的那条call foo指令的位置,输入c3,覆盖原来的d7,并保存退出
    image
    image
    image
  • 运行./pwn1_20253905,弹出Shell提示符$,这说明main已经成功跳转到getShell执行了
    image

2.2

  • 执行命令关闭Linux系统的地址空间随机化(ASLR),消除栈地址随机变化对栈溢出实验的干扰
    image
    image
  • 使用objdump命令反汇编目标程序,提取出main、foo、getShell函数的内存地址,为后续漏洞利用定位关键入口点。
    image
  • 使用objdump命令反汇编并查看foo函数的汇编指令,分析其栈帧结构,计算出缓冲区到函数返回地址的偏移量
    image
  • 使用Python生成缓冲区溢出攻击Payload文件,并通过管道将其输入目标程序,成功劫持程序执行流至getShell函数,获取交互式Shell并执行ls命令验证攻击成功
    image

2.3

  • 输入命令echo 0 > /proc/sys/kernel/randomize_va_space关闭 ASLR 地址随机化
    image
  • 开启栈可执行权限并验证
    image
  • 用gdb加载目标程序gdb ./20253905zwc_3
    image
  • 反汇编foo函数,确认漏洞和ret指令地址
    image
  • 在ret指令处下断点
    image
  • 运行程序并传入 payload,程序停在ret断点后,查看栈顶地址。输出是0xffffd2ac,则Shellcode的目标地址为esp + 4 = 0xffffd2b0
    image
  • 使用perl生成带 300 字节NOP滑板的payload
    perl -e 'print "A" x 32; print "\xB0\xD2\xFF\xFF"; print "\x90" x 300; print "\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"' > input_20253905zwc
  • 重新打开GDB,设置断点并run
    image
  • 在GDB中继续执行程序
    image
  • 观察到关键提示:process xxxxx is executing new program: /usr/bin/dash,说明Shellcode执行成功,原程序已被替换为 Shell;在GDB中执行系统命令验证Shell功能shell ls
    image

3.学习中遇到的问题及解决

  • 问题1:ASLR 未关闭、栈无执行权限,shellcode 无法运行且地址随机。
  • 问题1解决方案:关闭系统地址随机化,用execstack开启程序栈可执行权限。
  • 问题2:管道命令导致终端交互异常,拿到 shell 却无法正常操作。
  • 问题2解决方案:在 GDB 内直接运行 payload,通过shell命令验证攻击成功。
    image
    image
    image
    image
    image
    image

image

image

4.实践总结

xxx xxx

http://www.gsyq.cn/news/1384607.html

相关文章:

  • 2026年5月婚礼堂 宴会酒店设计靠谱机构推荐指南:婚礼堂规划、宴会空间设计、酒店婚礼堂改造、专业婚礼堂设计公司优选 - 海棠依旧大
  • 10分钟掌握HS2-HF_Patch:Honey Select 2一站式中文增强方案
  • 复合摄动条件下永磁同步电机牵引系统鲁棒控制【附程序】
  • 突发事件下城市道路网脆弱性识别方法应用【附代码】
  • Meta Quest 3空间锚点开发避坑:从路由器刷OpenWRT到Unity SDK导入的完整踩坑实录
  • Unity iOS构建报错SDK version is 0的根因与精准修复
  • LizzieYzy:你的智能围棋教练,让AI分析变得简单有趣 [特殊字符]
  • 解决KingbaseES连接报错:从‘密码认证失败’到‘角色不存在’的实战排查手册
  • 别再只抄datasheet了!用TPS5430设计正负12V电源,这些PCB布局细节实测能降噪
  • AI IDE 革命:程序员正在被重新定义
  • 2026 文章代码高亮方案选型
  • 如何快速掌握无名杀:新手完整入门指南与实战教程
  • SciDownl终极指南:3步告别文献搜索烦恼,专注真正科研工作
  • Mac+iPhone HTTPS抓包全攻略:Charles证书信任配置避坑指南
  • 2026年实测免费无痕去水印软件:这4个小程序彻底解决图片视频水印烦恼 - 科技热点发布
  • FairyGUI Unity鼠标悬停与点击对象获取原理与实战
  • 如何快速掌握MoveIt2:面向ROS 2开发者的工业机器人运动规划完整指南
  • 2026视频号视频怎么保存到相册?6种主流方法实测,这三款小程序最稳! - 科技热点发布
  • 一天一个开源项目(第111篇):Understand Anything - 把代码库变成可探索知识图谱的 AI 引擎
  • ssm公廉租房维保系统(10103)
  • 矿山透明建筑+三维实时重构跟踪:赋能智慧矿山全域安全管控升级
  • LeetCode 15 三数之和:利用三指针轻松破解!!
  • BurpSuite HaE插件正则收集实战:精准提取API与敏感数据
  • 论文润色深度测评:GPT-5.5 + Gemini 3.1 Pro:教你学会1+1>2的论文润色方法
  • 终极键盘重映射解决方案:3分钟实现职业级游戏操作精度
  • 基于随机森林的低成本传感器机器学习校准实践指南
  • 7.1 ADC数模转换器
  • JMeter性能压测分析定位实战:从心电图式乱跳到精准根因
  • OpenAI新插件Codex For Powerpoint内测:5分钟出PPT,但问题不少!
  • UE5启动崩溃原因与四步修复方案