数据与程序的分水岭:DEP 发表于: 2022-06-27 分类于: 0day安全 浏览: [TOC]DEP 机制的保护原理 溢出攻击的根源在于计算机未明确区分数据和代码,DEP(数据执行保护,Data Execution Prevention)的基本原理就是将数据所在页面标识为不可执行。
亡羊补牢:SafeSEH 发表于: 2022-06-09 分类于: 0day安全 浏览: [TOC]SafeSEH 对异常处理的保护原理 SafeSEH的原理 在程序调用异常处理函数前,对要调用的异常处理函数进行一系列的有效性校验,当发现异常处理函数不可靠时终止异常处理函数的调用。SafeSEH 需要操作系统和编译器的双重支持,二者缺一都会降低 SafeSEH 的保护能力。
栈溢出 发表于: 2022-06-05 分类于: 0day安全 浏览: [toc]基础知识 二进制文件概述 PE文件格式 PE(Portable Executable)是 Win32 平台下的可执行文件(如:"*.exe","*.dll"),PE文件规定了所有信息(二进制机器代码、字符串、菜单、图标、位图、字体等)在可执行文件中如何组织。
线程的同步互斥 发表于: 2022-05-10 分类于: 操作系统 浏览: [toc]《操作系统》同步互斥 引起同步互斥问题的原因 当下人们需要让进程在短时间内同时完成不止一件事情,每个线程处理各自独立的任务。线程是进程的更小分支,每一线程完成进程的一部分任务,但系统并不给线程分配任何资源,它共享创建它的进程所拥有的资源。但是当一个线程修改变量时,其它线程在读取这个变量时可能读取到不一致的值,无法区分到底是读取了修改前的值,还是修改后的值,导致了程序执行结果无法复现,所以就引入了同步互斥,来解决进程内的资源分配问题。
栈中的守护天使:GS 发表于: 2022-05-06 分类于: 0day安全 浏览: [toc]GS 安全编译选项的保护原理 实现版本 针对缓冲区溢出时覆盖函数返回地址这一特征,微软在vs2003(vs 7.0)及以后的版本中,默认启用了 GS 编译选项。Project→project Properties→Configuration Properties→C/C++→Code Generation→Buffer Security Check 中设置GS。
汇编指令巧记 发表于: 2022-05-06 分类于: 经验交流 浏览: [TOC]寄存器全称 AH&AL=AX(accumulator):累加寄存器BH&BL=BX(base):基址寄存器CH&CL=CX(count):计数寄存器
其它类型的软件漏洞 发表于: 2022-05-06 分类于: 0day安全 浏览: [TOC]格式化漏洞 printf 中的缺陷 printf 的参数:格式控制符和待输出的数据列表1 2 3 4 5 6 7 #include "stdio.h" main() { int a=44,b=77; printf("a=%d,b=%d\n",a,b); printf("a=%d,b=%d\n"); }对于上述的代码,第二个 printf 缺少了待输出的数据列表,它运行后会输出什么呢?
形形色色的内存攻击技术 发表于: 2022-04-23 分类于: 0day安全 浏览: [toc]狙击 Windows 异常处理机制 S.E.H 概述 S.E.H 即异常处理结构体(Structure Exception Handler),它包含两个DWORD指针:S.E.H链表指针和异常处理函数句柄。
堆溢出 发表于: 2022-04-15 分类于: 0day安全 浏览: 如果你不了解堆的话,请先看我的上一篇博文《堆的工作原理》,然后再来学习堆溢出,结合食用,更易理解。[TOC]堆溢出利用(上)—— DWORD SHOOT 链表“拆卸”中的问题 堆管理系统三类操作:堆块分配、堆块释放、堆块合并。
linux命令行 发表于: 2022-04-10 分类于: 学习笔记 浏览: [toc]apt 软件包管理服务 apt命令负责安装,更新,删除和管理基于Ubuntu和Debian的系统的软件包。安装软件包 1 2 sudo apt install [package name1] [package-name2] [package-name3]卸载软件包 这是使用apt命令从我们的系统中删除程序或服务的语法。