
二进制安全
文章平均质量分 92
自我修养学习
仅此而已|
这个作者很懒,什么都没留下…
展开
-
简单的整数溢出
文章目录0x01为什么会存在整数溢出0x02 整数溢出原理0x03 整数溢出例子分解一、截断二、有(无)符号数之间的转换三、有(无)符号的四则运算0x03 实战0x04 附录0x05 尾记0x01为什么会存在整数溢出回答这个问题前,我们需要了解下整数在计算机的存储方式。在计算机中,因为二值逻辑,只有开和关(通电、断电)来表示两种状态,这刚好与"0"、"1"相对应,因此在存储单元都是以0和1来.........原创 2020-03-25 22:00:53 · 3480 阅读 · 4 评论 -
初探ROP
文章目录0x01 前言0x02 什么是ROP0x03 为什么要ROP0x04 基本ROPret2shellcode含义从原理中解析ret2shellcode从例子中解析ret2shellcode发现利用点确定利用前提调试扩展点ret2text含义从例子中解析ret2text发现利用点确定利用前提调试ret2syscall含义从例子中解析ret2syscall的方法细说系统调用在ret2syscal......原创 2020-03-16 16:51:57 · 3578 阅读 · 1 评论 -
简单的栈溢出
0x01 前言和我一样,有一些计算机专业的同学可能一直都在不停地码代码,却很少关注程序是怎么执行的,也不会考虑到自己写的代码是否会存在栈溢出漏洞,借此机会我们一起走进栈溢出。0x02 程序是怎么运行的在了解栈溢出之前我们先了解一下程序执行过程程序的执行过程可看作连续的函数调用。当一个函数执行完毕时,程序要回到call指令的下一条指令继续执行,函数调用过程通常使用堆栈实现。#inc......原创 2020-03-14 10:18:56 · 2341 阅读 · 3 评论 -
深入理解GOT表和PLT表
0x01 前言操作系统通常使用动态链接的方法来提高程序运行的效率。在动态链接的情况下,程序加载的时候并不会把链接库中所有函数都一起加载进来,而是程序执行的时候按需加载,如果有函数并没有被调用,那么它就不会在程序生命中被加载进来。这样的设计就能提高程序运行的流畅度,也减少了内存空间。而且现代操作系统不允许修改代码段,只能修改数据段,那么GOT表与PLT表就应运而生。0x02 初探GOT表......原创 2020-03-14 10:42:29 · 4986 阅读 · 1 评论