随笔分类 - 快乐学习pwn
对于CTF赛事之中二进制pwn方向的修炼之路
摘要:[ZJCTF 2019]Login 并且存在后门函数 此时我们可以通过动态调试查看rax所处位置! from pwn import * context(log_level='debug',os='linux',arch='amd64',endian='little') binary = './log
阅读全文
摘要:libc2.23 采用glibc2.23的源码,故没有libc2.32的Tcache。主要从_int_malloc以及_int_free两个函数进行解读。 Malloc static void * _int_malloc (mstate av, size_t bytes){//参数为指针av,与申请
阅读全文
摘要:ret2dl_resolve _dl_runtime_resolve()通过两个参数在libc中寻找函数地址,而我们更加关注的是第二个参数也就是上面write的0x20,0x20将_dl_runtime_resolve()带到了reloc的位置,reloc中有2个重要信息,一个是函数的got表地址,
阅读全文
摘要:wustctf2020_getshell 现在还有这种简单题吗??? picoctf_2018_buffer overflow 1 没想到还有这么简单的题! 并发现了后门函数! cmcc_simplerop 函数逻辑比较简单。 这里经过调试,发现padding为0x20 寻找一些又用的gadget。
阅读全文
摘要:jarvisoj_level4 简单的ret2libc! from pwn import * from LibcSearcher import * context(log_level='debug',os='linux',arch='i386') r = remote('node4.buuoj.cn
阅读全文
摘要:pwn2_sctf_2016 该题目还是比较简单的! 并且存在int 80中断,但可惜没有/bin/sh字符串!所以还是ret2libc! from pwn import * from LibcSearcher import * context(log_level='debug',os='linux
阅读全文
摘要:[HarekazeCTF2019]baby_rop 该题还是比较简单的,没有什么难点!先探测一波保护! 并且还发现了字符串! 然后我们就可以开始构造payload了! payload = b’a’*(0x10+0x8)+p64(pop_rdi)+p64(bin_sh)+p64(system_addr
阅读全文
摘要:[第五空间2019 决赛]PWN5 该函数漏洞比较明显,进行调试验证! 并且没有开启PIE保护措施,所以我们可以利用任意地址写,写入.bss:0804C044 password该地址处数据即可。 然后密码就被操控了。 [OGeek2019]babyrop 将urandom中一个随机数写入到buf中,
阅读全文
摘要:test_your_nc 这道题很简单!送分题,直接nc就可以! rip 这道题是直接的栈溢出!附上三张图! from pwn import * r = remote(给你的地址,端口) payloda = b'a'*(0xf+0x8)+p64(0x0401186) r.sendlineafter(
阅读全文
摘要:反应釜开关控制 该pwn题目逻辑较为简单。 通过三次栈溢出,可以得到shell函数地址。 发现PIE保护没有开启,其实这里是直接可以栈溢出到shell函数的地址的,不必弄那么复杂! 这道题目的PIE应该是忘记开了,题目原本设计的目的是想让我们使用三次栈溢出来得到shell的。 分界线 这里我感觉应该
阅读全文
摘要:stack2 首先探测一番,是32位,看下保护! ida静态分析一番! 还有个后门函数: 原先先要使用这个后门函数,但是发现远程服务器是没有bash的,所以这个后门函数是没有用的,误导我等! 不过还是先按正常思路来说,这第三个函数是没有检查数据的合法性的。 此时就需要找到真正的偏移量。 from p
阅读全文
摘要:time_formatter Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,目前主要用于工程应用和科学计算等领域。 再补上保护措施! 既然知道了保护措施,我们再来看看函数! C 库函数 si
阅读全文
摘要:warmup 这个是没有附件的,吓了我一条,因为我没有碰见过这样的题目(本人小菜一个)便开始查资料。 漏洞挖掘 有三种方法:白盒代码审计、灰盒逆向工程、黑盒测试。其中黑盒的Fuzz测试是效率最高的一种,能够快速验证大量潜在的安全威胁。 Fuzz测试,也叫做“模糊测试”,是一种挖掘软件安全漏洞、检测软
阅读全文
摘要:0x00 刚开始接触pwn,但是pwn呢!不应该只会做题,应该理解里面的原理,所以我们来看看程序里面究竟蕴含着什么神秘! 0x01 程序的执行就是一种线性的"纸",上面有许多内容。 就是一张"纸",在上面写了很多内容,Stack是栈,Heap是堆,这两个是最为关键的,因为接下来我们利用的就是有关这两
阅读全文
摘要:dice_game 是个压缩包,解压发现有两个文件,应该一个是程序,一个是动态连接库,一看就知道很难。EP上文件是没有加壳的,我们就直接区ida分析它。是个64位的文件。 到这里其实我们也已经有了大致的思路,不过先看看有什么保护措施吧! 此时我想的是直接栈溢出,修改eip值到flag函数的地址,不过
阅读全文
摘要:get_shell 这道题先看看附件,探查一下信息,再用ida打开,就可以发现伪代码其实很简单的: 然后在远程连接这个端口进行攻击了。 并且我们能看到它的大致防护信息,然后来个脚本: 此时就可以进行攻击了。 这样子flag就拿到了。 CGfsb 刚开始先在windows里进行一番静态调试: 大概的知
阅读全文