-
实验1 现代C++编程初体验
实验1: task.cpp 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 #include <algorithm> 5 using namespace std; 6 7 template<typename T> 8 v -
实验二
实验一 源代码 #include<stdio.h> #include<stdlib.h> #include<time.h> #define N 5 #define N1 397 #define N2 476 #define N3 21 int main(){ int cnt; int random_ -
实验2
任务1: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 5 #define N 5 6 #define N1 397 7 #define N2 476 8 #define N3 21 9 10 int main(){ -
作业2
实验任务1 源代码 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 #define N 5 6 #define N1 397 7 #define N2 476 8 #define N3 21 9 10 int main( -
实验2
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 5 #define N 5 6 #define N1 397 7 #define N2 476 8 #define N3 21 9 10 int main() { 11 -
20222316 2024-2025-1 《网络与系统攻防技术》实验一实验报告
一、实验内容 缓冲区溢出定义: 缓冲区溢出是一种程序错误,在这种情况下,数据被写入到内存中的缓冲区时超过了该缓冲区所能容纳的最大容量。当超过缓冲区的边界时,额外的数据会溢出到相邻的内存位置中,覆盖掉其他数据或指令,导致程序行为异常或系统安全漏洞。 缓冲区溢出的原因: 编程错误:开发者在编写代码时没有 -
实验2
任务1 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 #define N 5 6 #define N1 397 7 #define N2 476 8 #define N3 21 9 10 int main(){ 11 -
20222311 2024-2025-1 《网络与系统攻防技术》实验一实验报告
20222311 2024-2025-1 《网络与系统攻防技术》实验一实验报告 1.实验内容 本次实验主要内容为 BOF 注入攻击,任务如下: 掌握反汇编及其指令 修改程序的机器指令,从而实现 BOF 注入攻击 注入一段 Shellcode,以实现 BOF 注入攻击 2.实验过程 任务 1:修改可执 -
实验一,现代C++编程初体验
一、实验目的 体验C++的标准库,算法库用法。数据表示,分支循环,函数和标准库等,编程解决简单基础问题。 二、实验准备 第二章C++语言简单设计 第三章函数 第九章 函数模板 三、实验内容 1. 实验任务1 代码: 1 #include<iostream> 2 #include<string> 3 -
20222409 2024-2025-1 《网络与系统攻防技术》实验一实验报告
1.实验内容 1.1逆向工程与汇编基础: 掌握了汇编指令(如NOP、JMP等)在控制程序流中的作用。 学会使用objdump反汇编可执行文件,并通过十六进制编辑器修改机器码以改变程序执行流程。 1.2缓冲区溢出(Buffer Overflow)原理: 了解堆栈结构和返回地址覆盖,理解如何通过超长输入 -
20222318 2024-2025-1 《网络与系统攻防技术》实验一实验报告
一.实验内容 (一)本周学习内容 本周学习了缓冲区溢出的相关原理,包括简单的汇编代码、缓冲区溢出本质、堆栈的工作原理、Shellcode的编写等等。 (二)实验涉及知识点 (1)Linux基本操作: ①熟悉Linux环境:能够在Linux系统中进行基本的文件操作、目录导航,如cd等。 ②常用指令理解 -
20222307 2024-2025-1 《网络与系统攻防技术》实验一实验报告
1. 实验内容 1.1本周学习内容 进程内存管理 在Linux系统中,当OS可执行程序被加载到内存后,其内存布局主要包括三个关键段: * .text段:包含程序的指令,这些指令是只读的,用于指导CPU执行操作。 * .data段:存储静态初始化数据,这些数据是可写的,程序在运行时可以直接访问和修改。 -
实验二
实验二任务一源代码#include <stdio.h>#include <stdlib.h> #include <time.h> #define N 5 #define N1 397 #define N2 476 #define N3 21 int main(){ int cnt; int rand -
20222418 2024-2025-1 《网络与系统攻防技术》实验一实验报告
1.实验内容 本周课程内容为缓冲区溢出和shellcode: 2.实验过程 (1)直接修改程序机器指令,改变程序执行流程 ①首先根据网上教程安装好kali虚拟机,更改主机名为heshan;下载目标文件pwn1,将pwn1文件放入共享文件夹并在VMware中设置共享以便使用,并将其重命名为pwn202 -
20222302 2024-2025-1 《网络与系统攻防技术》实验一实验报告
1.实验内容 本周学习内容 1.熟练掌握了栈和堆的概念。 2.掌握了Linux的基本操作,如shell命令和编译器gcc、调试器gdb的使用。 3.掌握了缓冲区溢出的原理。 实验任务 本次实验的对象是一个名为pwn1的linux可执行文件。该程序正常执行流程是:main调用foo函数,foo函数会简 -
实验2
任务1 源代码: 编译 任务2 源代码: 编译 任务3 源代码: 编译 任务4 源代码; 编译 任务5 源代码: 编译 任务6 源代码: 编译 -
实验2
任务1: 源代码: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 #define N 5 6 #define N1 397 7 #define N2 476 8 #define N3 21 9 10 int main( -
20222425 2024-2025-1 《网络与系统攻防技术》实验一实验报告
1.实验内容 本周学习了缓冲区溢出的相关知识点,介绍了包括汇编语言、进程内存管理、函数调用过程等相关知识点。 1.1实践目标 1.手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。 2.利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。 -
20222324 石国力 《网络与系统攻防技术》 实验一
1.1实践目标 本次实践的对象是一个名为pwn1的linux可执行文件。 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell。正常情况下这个代码是不会被运行的。我们实践的目标就是想办法运行 -
实验二
实验一: 源代码: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 #define N 5 5 #define N1 397 6 #define N2 476 7 #define N3 21 8 int main(){ 9