环境:
Mac: VMware Fusion
VMware: Ubuntu 18.10 x64 4G 开启Intel VT-x/EPT支持 qemu-2.3.0
qemu: Ubuntu 18.04 x64 2G
x64通用ROP gadget
发表于
Edited on
这是一道Redpwn CTF 2019很简单的溢出题,主要考察ROP exp的编写。
[srnr](https://pan.baidu.com/s/174jiewXQISoHb08Aqisy7Q 提取码: yt2r)
对二进制文件进行逆向分析,可以看到程序先读入了一个数字作为文件描述符,再从文件描述符中读取100000个字符,而buf是rbp-9,只要读超过17个字符就会覆盖到ret:
Tcache利用入门
发表于
Edited on
Tcache介绍
tcache是libc2.26之后引入的一种新机制,与fastbin类似,是一个LIFO的单链表,每条链上最多有7个chunk,free的时候先放入tcache,tcache满了再放入fastbin,unsorted bin,libc2.29之前不会检查double free。malloc的时候先去tcache找,其相关结构体如下:
1 | typedef struct tcache_entry |
复现思科IOS系统远程代码执行漏洞CVE-2017-6736
发表于
Edited on
Syzkaller Fuzz Android Kernel
发表于
Edited on
在Syzkaller官网上有关于如何对Android Kernel进行fuzz的方法,但是按照上面的步骤有很多不清楚的地方。
我的环境如下:
Android设备:Pixel
Android系统:Anroid9.0.0_r33
Android10内核调试
发表于
Edited on
Syzkaller Crash Demo
发表于
Edited on
gcc编译 替换库函数
发表于
Edited on
移植AFL到ARM架构
发表于
Edited on
说是移植AFL,其实是移植android-afl,因为AFL的插桩代码都是汇编写的,原版都是ATT汇编,要直接写ARM汇编有点难度,android-afl里有这部分内容,所以改起来容易一些。但是Android和普通Linux还是有一些区别的,我用的是树莓派3B,Raspberry系统。
Ubuntu读取开发板串口数据
发表于
Edited on
我的stm32l431开发板使用的是CH340 USB转串口芯片,Linux默认有这个驱动程序,将设备插到电脑上后在/dev目录下会多一个ttyUSB0设备,用dmesg查看驱动内核log:
1 | $ dmesg |