【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

这篇具有很好参考价值的文章主要介绍了【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


写在最前:
大家分析的时候看一下自己学号是多少,然后分析对应的文件哈,我想都没想就打开01分析了,全部都做完了发现我不是这个文件,当事人现在就是很后悔,非常后悔呜呜呜呜呜。

实验一

1 加载bin文件找到reset函数的步骤

打开IDA Pro 7.6,打开task1_0x.elf文件, 选对应的选项。

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

然后点开main函数,f5反汇编生成简单易懂的代码。

2 逆向存在溢出缓冲区的函数截图

main函数开始分析,分析如下:

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

总之,main函数的主要功能如下:

  1. 显示输入提示“input your Student ID immediately”;
  2. 接收4字符的输入,存入aRxBuffer
  3. 显示aRxBuffer+\n这5个字符;
  4. 调用HelpFunc(),以及一堆不知名函数。

点开HelpFunc(),分析如下:

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

很明显,这个就是溢出函数了。主要功能是:

  1. 收2字符的输入,存入length
  2. 回显length+\n这3个字符;
  3. 收8个字符的输入,存入shellcode
  4. length转换成数值,存入len
  5. shellcode从字母的ASCII码值转换成数值,比如e8转换成14和8;
  6. shellcode的数值形式依次赋值给Buffer[len]Buffer[len+3]

因为len就是第二个输入,是自己输入的,所以能够赋任意值到任意地址上去。我们这里覆盖掉函数的返回值就行。

3 逆向找到flag打印函数的截图

点开Text View从上往下一翻就翻到了,flag打印函数就是Die

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

起始地址是080018E0

由于固件的最低位是1,所以实际上的地址是080018E1。解释如下图。

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

4 溢出函数栈图

HelpFunc中点开sp变量,就可以进入到栈图的页面。

f5反汇编,然后注释里有sp,点开这个。

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

5 栈的溢出原理

画了个简单的示意图:

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

我们需要覆盖返回地址,也就是写入BP+4~BP+8这一部分。从溢出函数栈图中可以看到Buffer的起始地址与BP的距离是0x14,而len就是返回地址的最后一位,所以len=Buffer与BP的距离+4,就是24(注意是10进制)。

老师给了多个不同的样本,Buffer大小不同,计算方式相同。

6 Qemu模拟运行固件的获取flag的截图

6.1 首先,安装QEMU

apt-get install的版本太老,没有实验需要的架构。因此采用源码安装:

wget https://download.qemu.org/qemu-7.0.0.tar.xz
tar xvJf qemu-7.0.0.tar.xz
cd qemu-7.0.0
sudo apt-get install ninja-build -y # ninja
sudo apt install libglib2.0-dev -y # glib-2.56 gthread-2.0
sudo apt install libpixman-1-dev -y # pixman-1
./configure --prefix=~/qemu-7.0.0/build --target-list=arm-softmmu --enable-debug
make
make install

我在~目录下安装QEMU,因此运行configure时目录采用~/qemu-7.0.0/build

安装完成后,在~/qemu-7.0.0/build目录下即可看到需要的可执行文件。

./qemu-system-arm -M help查看是否有mps2-an386netduinoplus2

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

6.2 获取flag

运行elf文件:

~/qemu-7.0.0/build/qemu-system-arm -M netduinoplus2 -cpu cortex-m4 -m 16M -nographic -d in_asm,nochain -kernel ~/exp6/task1_01.elf -D log.txt

注意实验一要选netduinoplus2,否则有段错误。

然后,输入三个内容:

  1. 学号后4位;
  2. 偏移长度(我的是24);
  3. shellcode,也就是跳转的函数地址,由于字节序的原因,需要从后往前填(也就是E1180008)。

就得到flag:

【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用文章来源地址https://www.toymoban.com/news/detail-494613.html

到了这里,关于【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全 | 揭秘网络安全攻防实战:探索互联网发展史,守护数字世界的安全堡垒

    大家好,我是沐尘而生。 互联网发展史:数字世界的壮阔画卷 从早期的ARPANET到今天的万物互联,互联网经历了漫长的发展过程。然而,随着技术的进步,网络安全问题也随之而来。我们不仅要探索互联网的壮阔历程,更要理解其中的安全挑战。 网络攻防实战:保卫数字领域

    2024年02月13日
    浏览(65)
  • 网络安全实验室|网络信息安全攻防学习平台(脚本关1-6)

    传送门: http://hackinglab.cn/ 点击此处开启抓包,send ti repeater 模块 脚本来源: https://blog.csdn.net/hzxtjx/article/details/125692349 使用requests库向网站发送HTTP请求,并使用re模块使用正则表达式从网站的HTML内容中提取信息。所选的代码块定义了一个正则表达式模式r’/n(.*?)=i’。此模式

    2024年02月08日
    浏览(77)
  • 网络安全攻防实验:WPA-PSK口令攻击

    目录 前言 一、实验原理 二、使用步骤 1.环境搭建 2.查看四个消息包 注:使用eapol筛选出四个包 ​编辑 查看Message1​编辑 查看Message2 查看Message3 查看Message4 3.使用程序破解口令 1)       掌握WLAN的工作原理; 2)       理解RSN的密钥层次; 3)       理解4次握手原理

    2023年04月08日
    浏览(52)
  • 虚拟网络设备与网络安全:深入分析与实践应用

    在数字化时代📲,网络安全🔒成为了企业和个人防御体系中不可或缺的一部分。随着网络攻击的日益复杂和频繁🔥,传统的物理网络安全措施已经无法满足快速发展的需求。虚拟网络设备🖧,作为网络架构中的重要组成部分,通过提供灵活的配置和强大的隔离能力🛡️,

    2024年04月10日
    浏览(65)
  • 是否为网络设备设置了统一的安全技术标准和最佳实践?

    防火墙策略管理与安全技术标准及最佳实践的探讨 随着信息化技术的快速发展以及企业、组织的业务规模不断扩展,网络安全已经成为了大家越来越关注的话题。防火墙作为一种基础的网络安全防护措施,其策略管理的重要性不言而喻。然而,在网络设备中设置统一的安全技

    2024年04月09日
    浏览(51)
  • AD域安全攻防实践(附攻防矩阵图)

    以域控为基础架构,通过域控实现对用户和计算机资源的统一管理,带来便利的同时也成为了最受攻击者重点攻击的集权系统。 01、攻击篇 针对域控的攻击技术,在Windows通用攻击技术的基础上自成一套技术体系,将AD域攻防分为信息收集、权限提升、凭证窃取、横向移动、权

    2024年01月19日
    浏览(40)
  • STM32+ESP8266(AT固件)连接阿里云物联网 保姆级教学(附代码)--1.创建产品和设备

    提示:这里是从实际应用如何使用教学配置,未从原理讲解,适合小白从零开始到成功,比较有成就感 STM32+ESP8266(AT固件)连接阿里云物联网系列保姆级教学 1. 创建产品和设备 2. 设置产品Topic数据和功能定义设备物模型数据显示 3. 硬件连接+代码修改 4. Web数据可视化 5.功能

    2024年04月25日
    浏览(89)
  • 【网络攻防技术】实验八——SQL注入实验

    SQL注入是一种代码注入技术,它利用web应用程序和数据库服务器之间接口中的漏洞。当用户的输入在发送到后端数据库服务器之前未在web应用程序中正确检查时,就会出现此漏洞。许多web应用程序从用户处获取输

    2024年02月08日
    浏览(33)
  • 网络安全与攻防-常见网络安全攻防

    目录 攻击手段防御策略 阻断服务攻击(DoS) 地址解析欺骗(ARP攻击)(Address Resolution Protocol spoofing) 跨站脚本攻击(XSS) SQL注入 跨站请求伪造(csrf)  HTTPS中间人攻击 小结 阻断服务攻击(DoS) 阻断服务攻击(Denial-of service attack),想办法将目标网络资源用尽(自己的服

    2023年04月25日
    浏览(68)
  • 作业实践一 网络攻防环境的搭建,20222927

    网络攻防实践以网络攻防环境的搭建为基础,在有限的资源环境条件下,搭建一个专属于自己的网络攻防实验环境,可以进行控制及重复的网络攻防技术实验与实践活动,使得对相关的基础知识与底层机制、攻防技术方法有更深入的理解,并掌握攻防技术技能。网络攻防环境

    2024年02月05日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包