摘要:
问题 回答 这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/19attackdefense 这个作业的要求在哪里 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10228 我 阅读全文
摘要:
1.问题描述 通过这一周的实习,主要学习了格式化字符串的漏洞,同时进行了利用含有该漏洞的程序修改任意一块内存的实验。 2.解决过程 2.1 理论知识 2.1.1 栈与格式化字符串 printf的格式控制字符串组成如下: 例如, 上面的这段 C 语言代码运行结果为 The magic number i 阅读全文
摘要:
1.问题描述 通过这一周的实习,主要学习了竞态条件漏洞的运行机理,同时进行了使用竞态条件漏洞重写root权限文件以及获得root权限两个实验,最后讨论了预防竞态条件漏洞的几个措施。 2.解决过程 2.1 理论知识 下面这个代码段属于某个特权程序(Set UID 程序),它使用 Root 权限运行。 阅读全文
摘要:
1.问题描述 通过这一周的学习,我主要了解了linux中关于进程切换的部分,也就是进程调度时机来临时从就绪进程队列中挑选一个进程执行,占用CPU时间。下面通过介绍进行调度的时机和进程切换的过程这两部分知识,以及使用gdb跟踪分析schedule()函数来深入理解linux中的进程切换。 2.解决过程 阅读全文
摘要:
1. 通过man命令学习wait和waitpid函数的用法 wait与waitpid函数头文件与定义 wait函数功能:父进程一旦调用wait函数就立即阻塞自己,由wait分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销 阅读全文
摘要:
1. 问题描述 通过这一周的学习,我学习了linux操作系统可执行程序的工作原理,包括可执行文件的格式、编译、链接、装载等知识,下面将通过介绍理论知识,以及使用gdb跟踪分析一个execve系统调用内核处理函数sys_execve来深入理解这个过程。 2. 解决步骤 2.1 ELF文件简介 目标文件 阅读全文
摘要:
1. 问题描述 通过这一周的学习,我学习了一个特殊的系统调用fork,即进程的创建。操作系统内核实现操作系统的三大管理功能,即进程管理、内存管理和文件系统,其中,操作系统最核心的功能是进程管理。下面来具体介绍进程的描述以及进程的创建过程,并通过gdb跟踪分析进程创建过程。 2. 解决步骤 2.1 进 阅读全文
摘要:
1. 问题描述 通过这一周的学习,我进一步了深入内核系统的调用处理过程,更加完整地理解了系统调用的工作机制。下面通过给MenuOs增加geteuid命令,以及通过gdb跟踪调用time函数的过程,并分析system_call代码对应的工作过程这两方面深入理解系统调用的工作机制。 2. 解决步骤 2. 阅读全文
摘要:
1. 问题描述 通过这一周的学习,我们初步学习了操作系统中一个非常重要的概念——系统调用,同时学习了保证操作系统可以正常运行的法宝,系统调用的三层机制,以及系统调用的实现过程。下面通过使用库函数API和C代码中嵌入汇编代码触发一个系统调用函数来具体阐述这种机制。 2. 解决步骤 2.1 系统调用三层 阅读全文
摘要:
1. 问题描述 通过这一周的学习,我们进一步学习了linux内核源代码的目录结构,并基于linux内核源代码构造了一个简单的操作系统MenuOS,同时通过分析MenuOS的启动过程,使用gdb跟踪调试内核从start_kernel到init进程启动,并分析linux内核启动部分函数的代码,进一步深入 阅读全文