首页 > 其他分享 >20222425 2024-2025-1 《网络与系统攻防技术》实验一实验报告

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

时间:2024-10-11 16:33:10浏览次数:1  
标签:getShell pwn1 2024 2025 20222425 实验 pwn120222425 2.2 输入

1.实验内容
本周学习了缓冲区溢出的相关知识点,介绍了包括汇编语言、进程内存管理、函数调用过程等相关知识点。

1.1实践目标
1.手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。
2.利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。
3.注入一个自己制作的shellcode并运行这段shellcode。

1.2基础知识
1.熟悉Linux基本操作
2.能看懂常用指令,如管道(|),输入、输出重定向(>)等。
3.理解Bof的原理。
4.能看得懂汇编、机器指令、EIP、指令地址。
5.会使用gdb,vi。

2.实验过程
2.1手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数
2.1.1.下载目标文件pwn1
(1)通过在kali上的浏览器打开学习通,在学习通上下载文件pwn1然后改名为pwn120222425;
2.1.2.手工修改可执行文件
(1)使用“objdump -d pwn1 | more”命令,反汇编并找到函数调用的相关指令。

(2)按照以下步骤修改文件:
root@KaliYL:~# cp pwn120222425 pwn220222425
root@KaliYL:~# vi pwn220222425
以下操作是在vi内
1.按ESC键
2.输入如下,将显示模式切换为16进制模式
:%!xxd
3.查找要修改的内容
/e8d7
4.找到后前后的内容和反汇编的对比下,确认是地方是正确的
5.修改d7为c3
6.转换16进制为原格式
:%!xxd -r
7.存盘退出vi
:wq
8.反汇编查看call指令是否正确调用getShell objdump -d pwn220222425| more
9.运行下改后的代码,会得到shell提示符#./pwn220222425
结果如图:

证明成功调用getshell。
2.2利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。
2.2.1安装gdb

2.2.2反汇编,了解程序的基本功能
输入objdump -d pwn1 | more
2.2.3确认输入字符串哪几个字符会覆盖到返回地址


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

2.2.4确认用什么值来覆盖返回地址
getShell的内存地址,通过反汇编时可以看到,即0804847d。


2.2.5构造输入字符串然后将input的输入,通过管道符“|”,作为pwn120222425的输入。

2.3注入一个自己制作的shellcode并运行这段shellcode。
2.3.1准备工作

关闭地址随机化,0表示关闭成功
2.3.1构造要注入的payload。
采用anything+retaddr+nops+shellcode。的方法
打开一个终端注入这段攻击buf

再开另外一个终端,用gdb来调试pwn1这个进程

1.先用ps -ef | grep pwn120222425来找到进程号;
2.启动gdb调试这个进程,用attach+进程号调试;



3.通过设置断点,来查看注入buf的内存地址

4.改变返回地址并进行注入
3.问题及解决方案
问题一:在kali和本地建立共享文件夹后pwn1传输不过去。
解决方案:在kali上直接通过网站下载pwn1
问题二:kali虚拟机上有时候鼠标光标会消失
解决方案:将系统设置内的显示中的缩放调节到0.9及以下
问题三:刚开始下载exestack软件包的时候下载不成功
解决方案:原因是发现我安装的虚拟机是32位,而网上大部分软件包是64位,所以只需要下载32位的软件包即可。
问题四:kali系统于某些下载的软件冲突,导致桌面显示出现bug,标签栏消失且无法拖动窗口。
解决方案:sudo metacity --replace (如果找 不到这个命令,先安装: Debian下是:apt-get install metacity)
注销,登录,即可
4.学习感悟,思考等
本次实验是第一次做网络攻防实验,实验要求的环境配置等都是一步一步慢慢装上去的,在实验过程中很多次感受到实验到了无解的程度,但当问题解决后发现只是一个小问题,所以,做网络攻防实验需要细心更需要耐心;网络攻防实验是一个验证性实验,并不需要自己创造一些什么,但想要实现实验结果,还是需要我们通读实验指导书,了解实验的整个流程,对实验的一些基本原理和基本知识也要有一定的掌握。通过这次试验中的三个方法,我切实见证了并自己实现了缓冲区攻击。这种方法让我在实验过后受益匪浅,并且让我感受到了这门课程的乐趣。

标签:getShell,pwn1,2024,2025,20222425,实验,pwn120222425,2.2,输入
From: https://www.cnblogs.com/2425nj/p/18458741

相关文章

  • 2024年最详细的mysql主从复制来啦
    mysql主从复制一、主从复制简述MySQL主从复制是一种数据库复制技术,用于在主数据库(Master)和一个或多个从数据库(Slave)之间同步数据。这种技术允许数据从主数据库复制到从数据库,实现数据的冗余存储和读写分离,从而提高数据库的可用性和扩展性。二、主从复制的优势主从复制的......
  • 2024.10.11总结
    本文于github博客同步更新最简单但挂分最惨的一集。唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了......
  • 2024.10.11 test
    A平面上给出若干个点,求两两点之间曼哈顿距离比欧几里得距离的最大与最小值。\(n\le10^6\)。不难发现最小值求的就是线段斜率最接近\(0\)的线段,最大值就把每个点绕源点旋转\(45\)度即可。这个东西考虑按照\(y\)坐标排序,\(y\)相同的按照\(x\)排序,有贡献的只有相邻点。......
  • 2024 最新 IntelliJ IDEA 2024.1.6 激活(亲测可用)
    注意:接下来本文分享免费激活 IDEA 等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持)大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开这里提示输入激活码,先关闭应用!!!2.下载激活工具打......
  • 2024 最新 Navicat Premium 17.1.5 简体中文版(亲测可用)
    步骤如下:一、官网下载安装包:https://www.navicat.com.cn/download/navicat-premium  二、安装NavicatPremium17  注意:安装完后不要打开已打开自行退出三、补丁下载关注后发送“navicat17”即可获取补丁下载地址,无套路。 四、安装补丁先将下载下来的压缩包里面......
  • 阿里云可观测 2024 年 9 月产品动态
    本月可观测热文回顾文章一览:iLogtail进化论:重塑可观测采集的技术边界深入探索RUM与全链路追踪:优化数字体验的利器新场景、新能力,AI-native时代的可观测革新重磅!阿里云可观测产品家族全新升级,AI+数据双驱动,打造全栈可观测体系云监控治理检测:云监控的自助化最佳实践高基......
  • 2025选题推荐|基于微信小程序的公考学习平台的设计与实现
    作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业......
  • 20241011 大二上 数据结构与算法 堆
    1.堆排序堆排序是一种原地排序算法,即不需要额外的空间来存储数据,只需要在原数组上进行操作即可。堆排序是一种不稳定排序算法,即可能会改变相同元素的相对顺序。例如,如果数组中有两个相同的元素,它们可能会在排序过程中被交换,导致它们的顺序发生变化。堆排序的时间复杂度为O(nlog......
  • 【EI会议截稿通知】第九届计算机技术与机械电气工程国际学术论坛(ISCME 2024)
    第九届计算机技术与机械电气工程国际学术论坛(ISCME2024)20249th InternationalSeminaronComputerTechnology,MechanicalandElectricalEngineering重要信息大会官网:www.is-cme.com二轮截稿时间:2024年10月21日(早投稿,早录用)大会时间:2024年11月8-10日大会地点:中国......
  • 20222415 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    1.实验内容本周学习了缓冲区溢出的相关知识,介绍了缓冲区和缓冲区溢出,并介绍了几种缓冲区溢出的实现方式。2.实验过程1.直接修改程序机器指令,改变程序执行流程1.1将目标文件pwn20222415通过共享文件夹放到kali里,运行pwn20222415.1.2输入objdump-dpwn1|more对pwn20222415......