- 实验目的及要求
目的:
通过对本实验执行过程的理解,认真分析总结,能够独立的在 Linux 下进行 shellcode 的编写。
要求:
(1)%70:完成对 shellcode 的分析及提取
(2)%100:完成对 shellcode 的验证
- 实验环境和准备
操作系统: Ubuntu 22.04(64bit)
工具:
- `vim`:用于编写代码。
- `nasm`:汇编器,编译汇编代码。
- `ld`:链接器,生成可执行文件。
- `gef`:GDB 插件,便于调试。
- `gcc`:编译 C 语言代码。
- `execstack`:修改堆栈的执行属性。
- 实验结果分析
1. C 代码实现调用 Shell 的功能——c_shellcode.c
演示如何通过简单的 C 代码实现调用 Shell 的功能。
提供一个使用 `execve` 系统调用启动 `/bin/sh` 的示例代码。
源代码如下&