Loading...
这是一道很简单的题目,算是无libc的ret2libc,但是有很多我不理解的小细节还需要加强学习。先检查一下安全措施发现没有开启canary,可以轻松的进行栈溢出。然后我们发现这里存在一个明显的栈溢出漏洞。但是并没有在程序中找到system和/bin/sh等后门,所以我们可以考虑通过DynELF工具进行爆破。这道题其实和pwn-100是几乎一样的,但是是32位程序,就不需要使用gadgets...
这道题对我而言有两个新知识点,中级rop——ret2csu和DynELF工具的使用。同时这道题也做了我非常久,让我心态有点小崩。为啥会做这么久呢,还是因为我对plt,got和动态链接之类的知识认知太过于匮乏。所以从今天开始我放缓刷题,先看完《程序员的自我修养》一书。先来谈谈ret2csu,几乎所有的Linux C程序都会调用libc,这样的程序中总会有一个init函数,比如下面这个(不同的程...
今天的课特别的多,没有多少的空闲时间,原本可以做题的C程课也被写一个愚蠢的排序测试程序占用了。其实今天没有做完这道题,因为服务器维护了,但是我已经总体上完成了这道题,就差连接服务器了,所以就当我做完了这题吧。题解也只能明天再来完善了。我现在对CTF-pwn的大致感觉就是痛并快乐着,同时深深的感到自己的能力仍然不足,总体上来说还是要继续好好学习。虽然pwn这条路可能很难走,但总比做自己没兴趣的...
这道题确实是给我整吐了。其实思路非常简单,就是通过数组越界来达到栈溢出,并且这样可以跨越canary,然后就可以控制程序的执行流程。然后我们可以看到这里有一个叫hackme的函数,这么嚣张,点进去看一下呦呵直接给bash,那我就hack你吧。然后再看一下主函数发现这里有个数组越界,可以进行溢出。然后我们算一下偏移,这里的偏移不能直接用0x70+4来算,为什么不能呢,是因为这个程序的栈帧生成方...
本来呢,是准备做warmup这道题的,但是这道题非常的夸张,我曾经天真的以为,这是一道直接连接服务器就可以拿flag的,结果发现一上来他就给了我一个地址,好嘛,我不会。就跳过了。然后就找了dice_game这题。这是一道相对简单的题目,其实思路和guess_num是一样的,就只要用提供的libc来调用rand函数就行了,但是要注意,要通过来覆盖这里的随机种子,然后对于我们来讲,服务器生成的数...