
PWN
文章平均质量分 88
壊壊的诱惑你
这个作者很懒,什么都没留下…
展开
-
CTF中的PWN——srand()/rand()漏洞(栈溢出)
摘要: 本以为自己栈溢出学的不错了,挑战了一下攻防世界的PWN高手进阶,发现栈溢出还是有很多相关的漏洞,今天总结一下srand()函数的漏洞。srand()/rand(): 简单介绍一下这两个函数:rand()函数是使用线性同余法做的,它并不是真的随机数,因为其周期特别长,所以在一定范围内可以看成随机的。 srand()为初始化随机数发生器,用于设置rand...原创 2019-11-16 14:08:56 · 5354 阅读 · 0 评论 -
CTF中的PWN——绕NX防护2(泄露libc + 栈溢出)
前言: 继续PWN的学习,今天整理一下绕过NX,同时libc本地不存在需要通过相应函数泄露地址的方式进行进行溢出。本题工具介绍: LibcSearcher 一个基于libc_database写的python库,可以通过泄露的函数实际地址查找对应的libc版本。from LibcSearcher import *#第二个参数,为已泄露的实际地址,或最后12...原创 2019-10-23 13:35:05 · 1954 阅读 · 0 评论 -
CTF中的PWN——绕canary防护2(64bit + 格式化字符串漏洞leak canary + 栈溢出)
前言: 前文绕canary防护1中程序时32位的,这篇文章中pwn的程序是64位的,都是利用格式化字符串漏洞leak canary的值,然后直接栈溢出即可,只是位数不同,利用格式化字符串漏洞泄露金丝雀值也略微不同。题目:Mary_Morton-攻防世界 检查软件的详细信息: 64的金丝雀与NX,拖入IDA64查看: 当输入等于2时存在格式化字符串漏...原创 2019-10-15 00:08:04 · 2335 阅读 · 0 评论 -
CTF中的PWN——绕canary防护3(puts带出canary 泄露函数地址计算基地址)
前言: 想要学好pwn,首先要看懂wp。此题断断续续占用了我两三天,原谅我太菜了。此题为攻防世界的babystack。金丝雀前文叙述过,此处不再阐述,绕过的首选办法就是想办法得到canary的值,因为程序每次load的时候canary都不同,但是一个进程中的所有方法的金丝雀的值都相同。得到canry的值后构造payload即可。题目:babystack-攻防世界 file及...原创 2019-10-14 17:31:36 · 2592 阅读 · 1 评论 -
CTF中的PWN——无安全防护(栈溢出)
前言 今天心情不错,人最大的敌人真的就是自己!!! 好久没学PWN和逆向了,今天写一篇关于CTF中PWN的文章回忆一下。本文主要讲的是利用栈溢出的基础PWN,分别有使用shellcode类型、满足函数条件类型及使用软件自带system函数类型,其中自带system函数的类型软件因为传参方式不同进而分为32bit与64bit的软件。满足函数条件类型 很low的命名...原创 2019-09-20 22:35:13 · 2765 阅读 · 0 评论 -
CTF中的PWN——绕NX防护1(本地libc 栈溢出)
进阶到防护篇了,首先学一下NX防护的基础题目。NX防护 NX是数据与程序的分水岭,栈溢出核心思想是通过局部变量覆盖函数返回地址来修改EIP和注入 Shellcode,在函数返回时跳到Shellcode去执行。要防止这种攻击,最有效的办法就是让攻击者注入的Shellcode无法执行,这就是数据执行保护(Data Execution Prevention, DEP)安全机制的初衷...原创 2019-09-29 14:18:08 · 5032 阅读 · 2 评论 -
CTF中的PWN——绕canary防护1(32bit 格式化字符串漏洞leak canary 栈溢出)
前言: 金丝雀: canary就像哨兵一样,值由程序运行时随机产生。在函数返回之前,程序检测这个值以确认栈未被破坏,达到避免攻击的目的。程序会使用fs:x来进行保护,这个地址指向了一个我们无法看到的随机值,并且fs是一个由内核维护的结构。如果金丝雀(canary)的值被修改了,栈溢出发生了,保存的指令指针可能也被修改了,因此不能安全返回,函数会调用__stack_chk_f...原创 2019-09-29 15:56:53 · 1521 阅读 · 0 评论 -
PLT表和GOT表
前言 我们在做pwn题目的时候,经常会用到这两个表,如果对这两个表了解的不是特别深刻的话,会对你的泄露造成一定影响,故我们在这里着重介绍一下这两个表。 GOT是一个存储外部库函数的表 PLT则是由代码片段组成的,每个代码片段都跳转到GOT表中的一个具体的函数调用例子 我们通过例子来了解一下这两个表会出现在什么地方。 我们可以观察到read@...转载 2019-10-08 16:10:53 · 536 阅读 · 0 评论