BruceFan's Blog

Stay hungry, stay foolish

0%

unionFS可以把文件系统上的多个目录内容联合挂载到同一个目录下,而目录的物理位置是分开的。先用一个简单的例子体会一下:
1.先创建如下的目录结构

阅读全文 »

runc命令

1.准备一个busybox容器所需文件系统

1
2
3
$ sudo docker pull busybox
$ mkdir rootfs
$ sudo docker export $(sudo docker create busybox) | sudo tar -C rootfs -xvf -
阅读全文 »

Qemu虚拟机与宿主机之间实现文件传输,大概有四类方法:
1.虚拟机与宿主机之间,使用网络来进行文件传输。这个需要先在宿主机上配置网络桥架,在qemu-kvm启动配置网卡就可以实现文件传输。
2.使用9psetup协议实现虚拟机与宿主机之间文件传输。该方法先要宿主机需要在内核中配置了9p选项,qemu在编译时需要支持ATTR/XATTR。
3.通过在Qemu虚拟机中挂载宿主机中的一个文件为硬盘。
4.第四类方法是一种新方法,是用virtio-fs通过FUSE协议进行传输。

阅读全文 »

这道题是湖湘杯2019的一道QEMU pwn,题目下载(提取码: 4wag)。QEMU pwn题目一般是基于QEMU源码进行修改或者添加,在QEMU模拟的PCI设备中引入漏洞,选手需要利用漏洞读取宿主机上的flag文件。
解压文件,查看内容:

阅读全文 »

环境:
Mac: VMware Fusion
VMware: Ubuntu 18.10 x64 4G 开启Intel VT-x/EPT支持 qemu-2.3.0
qemu: Ubuntu 18.04 x64 2G

漏洞分析

阅读全文 »

这是一道Redpwn CTF 2019很简单的溢出题,主要考察ROP exp的编写。
[srnr](https://pan.baidu.com/s/174jiewXQISoHb08Aqisy7Q 提取码: yt2r)
对二进制文件进行逆向分析,可以看到程序先读入了一个数字作为文件描述符,再从文件描述符中读取100000个字符,而buf是rbp-9,只要读超过17个字符就会覆盖到ret:

阅读全文 »

Tcache介绍

tcache是libc2.26之后引入的一种新机制,与fastbin类似,是一个LIFO的单链表,每条链上最多有7个chunk,free的时候先放入tcache,tcache满了再放入fastbin,unsorted bin,libc2.29之前不会检查double free。malloc的时候先去tcache找,其相关结构体如下:

1
2
3
4
5
6
7
8
9
10
typedef struct tcache_entry
{
struct tcache_entry *next;
} tcache_entry;

typedef struct tcache_perthread_struct
{
char counts[TCACHE_MAX_BINS];
tcache_entry *entries[TCACHE_MAX_BINS];
} tcache_perthread_struct;
阅读全文 »

编译Android10.0.0_r2

1.选择aosp_x86_64-eng版本,因为编译成aosp_arm64-eng的启动不了。
2.emulator启动

1
2
3
emulator: ERROR: x86_64 emulation currently requires hardware acceleration!
Please ensure KVM is properly installed and usable.
CPU acceleration status: This user doesn't have permissions to use KVM (/dev/kvm)
阅读全文 »