首页
学习
活动
专区
工具
TVP
发布

二进制漏洞研究

二进制漏洞以及linux kernel的学习和研究
专栏成员
39
文章
52820
阅读量
20
订阅数
Stringipc-从内存任意读写到权限提升
传入的new_size为-1时,krealloc分配一个0大小的空间返回一个不为0的错误代码ZERO_SIZE_PTR(0x10),绕过下面的判断你,又因为new_size是无符号整数,此时channel->buf_size=0xffffffffffffffff,后续读和写操作的范围就没有限制,可以对内存任意读写。
De4dCr0w
2020-06-12
1.1K0
Safe-Linking机制分析
打算从glibc 2.32引入Safe-Linking 保护,将堆块头部保存的地址重新计算,具体计算过程如下:
De4dCr0w
2020-06-12
1.3K0
CVE-2018-8897:POP SS 指令异常
相关函数:longjmp, siglongjmp, setjmp 表头文件:#include 函数定义:int sigsetjmp(sigjmp_buf env, int savesigs) 函数说明:sigsetjmp()会保存目前堆栈环境,然后将目前的地址作一个记号, 而在程序其他地方调用siglongjmp()时便会直接跳到这个记号位置,然后还原堆栈,继续程序的执行。 参数env为用来保存目前堆栈环境,一般声明为全局变量 参数savesigs若为非0则代表搁置的信号集合也会一块保存 当sigsetjmp()返回0时代表已经做好记号上,若返回非0则代表由siglongjmp()跳转回来。 返回:若直接调用则为0,若从siglongjmp调用返回则为非0
De4dCr0w
2019-05-21
5940
ISCC2017之pwn1初探格式化漏洞
printf函数在处理参数的时候,每遇到一个%开头的标记,就会根据这个%开头的字符所规定的规则执行,即使没有传入参数,也会认定栈上相应的位置为参数。 每一个格式化字符串的 % 之后可以跟一个十进制的常数再跟一个 $ 符号, 表示格式化指定位置的参数
De4dCr0w
2019-02-27
6830
进程的描述和创建
进程在内核态运行时需要自己的堆栈信息,linux内核为每个进程都提供了一个内核栈。对每个进程,Linux内核都把两个不同的数据结构紧凑的存放在一个单独为进程分配的内存区域中:
De4dCr0w
2019-02-27
8870
linux装载和启动可执行程序的过程
预处理:gcc -E -o hello.cpp hello.c -m32 (源代码)
De4dCr0w
2019-02-27
3K0
system函数的深入理解
在学习Return-to-libc攻击方法时运用到了system函数,很好奇system具体是怎么实现的,所以在这里具体看一下:
De4dCr0w
2019-02-27
1.3K0
Python 2 和Python 3 安全性方面的比较
Python 3是默认开启异常链的,当异常发生的时候,会完整地显示回溯路径和异常细节。而Python 2 默认下是不显示的。
De4dCr0w
2019-02-27
7650
fork系统调用过程分析
fork函数通过系统调用创建一个与原来进程几乎完全相同的进程,一个进程调用fork函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。
De4dCr0w
2019-02-27
2K0
加壳脱壳笔记
UPX、ASPack、Petite、WinUpack(Upack)、Themida
De4dCr0w
2019-02-27
1.5K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档