02 2016 档案
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载。 这道压轴的题也是名副其实,很有分量。这也是自己第二次做C++类型的PWN。含有两个漏洞,缺一不可,一个漏洞将指定位置覆盖为对象虚表的地址,另外一个漏洞用来堆溢出(DW-Shoot)。 第一个漏洞所在位置: 第二个漏洞所在位置:如果连续对一种食物编
阅读全文
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载。 最近有了点时间,把ZCTF的pwn总结了下,就差最后一个pwn500,另找时间总结。 文件打包:http://files.cnblogs.com/files/wangaohui/attach.zip Pwn100 很明显栈溢出,但是有canary
阅读全文
摘要:在逆向一些x64的代码时,会发现有一小段汇编代码理解不了,这个时候回想,要是能单独执行这一小段汇编就好了。现在我就介绍一个我的解决方法:很小汇编一段代码,但是不好理解,我就把它单独写成了一个函数,供c语言调用,这样下来执行个几次,就大概知道意思了。 当然了,完全可以设置rip/rdi/rsi/rdx/rcx/r8/r9等寄存器为想要的值后执行即可,这是另外的一种方法。 ...
阅读全文
摘要:(以前为给同学分享写的点东西,很基础。)现在的比赛中堆溢出非常常见,对于glibc下malloc的理解也要深入一些。 malloc_chunk的对齐属性 在glibc中,malloc_chunk以 2*sizeof(size_t)对齐,在32位系统中以8字节对齐,在64位系统中一般以16字节对齐。M
阅读全文
摘要:很久很久前写的。越来越意识到作为一名科班出身的学生的重要性。 自己在使用IDA时,发现F5产生类似的这种代码。 其中有一句,v5 <= -141920797,我在想为什么是负数。如果把-141920797化为16进制,如下图: 为什么不是比较的无符号数0xab3f35e3? 看一下对应的汇编代码,如
阅读全文
摘要:Crackhash 这个题目是我为月赛出的,完全仿照自mma 1st simple_hash。 这道题目比较有意思的地方在于在32位的程序中模拟了64位的算术运算。 题目的思路很清晰。要求输入全为数字,然后对输入的数字求hash值并判断是否正确。如下图: 所以关键的部分就在于cacl_hash这个函
阅读全文
摘要:自从上一次ZCTF做了一道ARM64的逆向题目后,我决定记录下利用qemu搭建ARM64的环境的过程,以后肯定会遇到更多ARM平台下的Reverse和PWN。 一 安装QEMU 我要模拟的是64位的ARM环境,所以需要使用的是qemu-system-aarch64。在kali下,使用apt-get
阅读全文