pwn
Alpha-God
规格严格功夫到家
展开
-
Xftp或XShell安装失败
如果提示你无法定位程序输入点,msvcp110.dll在系统文件夹system32下找不到,这说明,你的system32下要么没有这个dll,要么这个dll的版本与xftp或Xshell的版本不一致。这个时候你就需要下载一个对应版本 的dll,但是要什么版本的呢,我也不知道。只能一个一个试,可以知道的是xftp6,xftp7需要的是32位的。网上好多教程告诉你需要用新下载的替换掉system32下的同名文件,其实大可不必。将msvcp110.dll添加到你软件安装的文件夹即可像我这样就好了。原创 2021-02-20 16:59:43 · 2452 阅读 · 0 评论 -
DynELF和pwn200
在做漏洞利用时,由于 ASLR 的影响,我们在获取某些函数地址的时候,需要一些特殊的操作。一种方法是先泄露出 libc.so 中的某个函数,然后根据函数之间的偏移,计算得到我们需要的函数地址,这种方法的局限性在于我们需要能找到和目标服务器上一样的 libc.so,而有些特殊情况下往往并不能找到。而另一种方法,利用如 pwntools 的 DynELF 模块,对内存进行搜索,直接得到我们需要的函数地址。DynELF是pwntools中专门用来应对无libc情况的漏洞利用模块,其基本代码框架如下。p.原创 2020-11-15 08:14:52 · 188 阅读 · 0 评论 -
pwn1及ROP总结
Babystack 本题,用 checksec 检查二进制,发现开启了 CANARY、NX、以及 RELRO 保护,CANARY 是用 来检测栈溢出的,canary 是一个随机数,存储在栈里。程序通过对比栈里的 canary 值和读 取到的实际 canary 值进行对比,如果不相等,则抛出异常。因此,为了绕过 canary 机制, 我们需要先想泄露 canary 的值,然后利用栈溢出,把这个值放到 payload 中对应的位置里, 这样,程序发现 canary 的值没变,我们就成功绕过。原创 2020-11-08 07:31:29 · 532 阅读 · 0 评论 -
pwn_warmup
这个题没有附件,只好nc服务器:发现给了我们一个类似地址的东西,该怎么利用。猜想flag应该就在这个地址,或者这个地址的附近。这里不得不提到一个方法叫做fuzz(模糊测试):Fuzzing是指通过构造测试输入,对软件进行大量测试来发现软件中的漏洞的一种模糊测试方法。在CTF中,fuzzing可能不常用,但在现实的漏洞挖掘中,fuzzing因其简单高效的优势,成为非常主流的漏洞挖掘方法。所以额,我们要写一个函数,这个函数可以为我们生成很多地址,如果这个地址正确了,flag就会被我拿到d原创 2020-10-31 21:20:01 · 359 阅读 · 0 评论 -
pwn_dice_game
常规操作:checksec dice_game发现文件是64位放入ida中看c的伪代码:这是一个猜数字的题,之前有做过类似的题,目的是覆盖seed,使随机数不再随机产生点开sub_A20()看看随机数怎么构造的:可以看到rand()%6+1线性同余的方式生成随机数,下一步就是想要覆盖掉种子位置上的值看一下种子的位置:buf是我们可以写 入数据的缓冲区,通过read函数写入,这又是经典的栈溢出漏洞0x50-0x10=0x40因为附件解压后有两个文件,其中一个是l原创 2020-10-31 20:44:42 · 269 阅读 · 0 评论