- 博客(8)
- 收藏
- 关注
原创 【6】 缓冲区溢出 一个字节溢出 指针修改内存
在foo函数之中多了一个指针变量p与一个常量a,并且在执行完nstrcpy()函数之后,执行了*p=a的语句,而p与a的位置与ebp的相对关系不变,所以这就给了我们修改任意地址任意值的可能性(有效地址),而在之后通过跟踪_exit()函数,知道它利用jmp指令去跳到一个指针中存放的地址,故而通过修改其jmp的指针中的地址,最终直接jmp到了payload执行shellcode
2019-04-29 23:03:30 1535 2
原创 【5】 缓冲区溢出 格式化字符串 snprintf
主要是利用格式化字符串漏洞来达到溢出目的,并且借用snprintf的特性,即在遇到格式化参数之前会先将正常的字符复制到指定区域中,最终通过字节大小的计算,利用%n向指定地址写入特定的返回地址
2019-04-29 22:47:59 5729
原创 【4】缓冲区溢出 两次tfree产生溢出可能(类似双向链表删除)
出现漏洞的原因,是先为p与q均申请了一段空间,这样它们都得到了对应的指针值,而后释放后,又为p申请了1024的空间,并且可以覆盖到q原本的地址,这样我们利用覆盖的原本的q的空间,构造q的chunk,在之后进行tfree的时候,使得返回地址的内容修改为payload的基址,从而达到溢出目的简而言之就是构造了个位于返回地址的指针指向payload
2019-04-29 22:31:27 2391
原创 【2】 缓冲区溢出 一个字节溢出 覆盖EBP
由于nstrcpy()函数,尽管它表面上对copy的长度进行了限制,但是它不小心在for循环中使形参可以等于输入长度len,这就造成存在溢出一个字节的可能性,而该字节恰好可以覆盖到buf所在函数的(foo函数)所保存的旧的ebp的最低位,从而使得该ebp出现在buf之间,最终在指定位置构造返回地址即成功达到溢出目的
2019-04-29 22:19:56 2784
原创 【1】缓冲区溢出 strcpy
本实验是一个最基本的缓冲区溢出样本,它让我深入浅出的体验了通过缓冲区溢出执行shellcode的感觉,原理基本就是strcpy()函数没有检查copy的长度而导致的溢出
2019-04-29 21:02:16 4577
原创 大小端模式以及两种判断方法
- 大端:高尾端:数据的尾部(低位字节)放在内存的高位地址。- 小端:低尾端:数据的尾部(低位字节)放在内存的地位地址。
2019-04-12 13:55:01 3637 1
原创 SSL简介及其压力测试THC-SSL-DOS工具介绍
安全套接层(Secure Sockets Layer,SSL)协议是一个安全传输、保证数据完整的安全协议,之后的传输层安全(Transport Layer Security,TLS)是SSL的非专有版本。SSL协议结合了对称密码技术和公钥密码技术,提供秘密性、完整性、认证性服务。
2019-04-11 10:55:47 2286
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人