其他分享
首页 > 其他分享> > 20212931 2021-2022-2 《网络攻防实践》第九次实验任务

20212931 2021-2022-2 《网络攻防实践》第九次实验任务

作者:互联网

一、实践内容

(一)基础知识

软件安全漏洞威胁

汇编语言基础

缓冲区溢出

Linux栈溢出与Shellcode

(二)实践内容

> 本次实践的对象是一个名为pwn1的linux可执行文件。
> 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。
> 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell。正常情况下这个代码是不会被运行的。我们实践的目标就是想办法运行这个代码片段。我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode。

二、实践过程

(一)手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数

(二)利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数

(三)注入一个自己制作的shellcode并运行这段shellcode

三、实验中遇到的问题

四、实验感悟

在本次实验中,实现了手工修改可执行文件,改变程序执行流程;利用了foo函数的Bof漏洞,构造一个攻击输入字符串,触发getShell函数以及注入一个自己制作的shellcode并运行这段shellcode。本次实验让我感觉难度颇大,对汇编语言、机器指令和栈帧的相关知识的理解让我倍感吃力,但却也收获不少,加深了对系统和程序底层运行的理解,完成实验参考了不少内容,但仍感觉在这块的学习之路很漫长。

标签:x90,函数,20212931,地址,2021,2022,缓冲区,shellcode,溢出
来源: https://www.cnblogs.com/psalm46/p/16267407.html