Kernel PWN从入门到入土-Kernel ROP && Bypass Kaslr and Canary

上一篇KERNEL ROP分析了BYPASS SEMP,这篇来说一下Canary和Kaslr

本篇以强网杯 2018 core为例

QEMU Start

还是先分析一下给的东西然后起qemu,解压一下。

可以看到这次给了vmlinux,之前说过了vmlinux是静态编译的kernel文件,包含着符号表,我们可以拿到gadgets。并没有给出.ko,自己提取。

railgun@Kernel:~/qwb-core/core$ sudo mv ../core.cpio ./rootfs.cpio.gz
railgun@Kernel:~/qwb-core/core$ gunzip ./rootfs.cpio.gz

railgun@Kernel:~/qwb-core/core$ sudo cpio -idmv < rootfs.cpio
·
·
root/flag
core.ko
tmp
init
vmlinux
104379 blocks
Continue reading Kernel PWN从入门到入土-Kernel ROP && Bypass Kaslr and Canary

Kernel PWN从入门到入土-Kernel ROP && Bypass SEMP

本次仍然是以ciscn 2017 babydriver为例

qemu

还是先起一下qemu看看,仍然使用给出的start.sh、bzImage、rootfs.cpio。

可以看到是ok的。

Continue reading Kernel PWN从入门到入土-Kernel ROP && Bypass SEMP

Kernel PWN从入门到入土-Kernel UAF

一些前置知识请点这里

这里以CISCN 2017 babydriver为例

qemu

可以看到没有给出.ko驱动文件,我们自己来提取一下。

railgun@Kernel:~/ciscn_babydriver/core$ mv rootfs.cpio rootfs.cpio.gz
railgun@Kernel:~/ciscn_babydriver/core$ ls
rootfs.cpio.gz
railgun@Kernel:~/ciscn_babydriver/core$ gunzip ./rootfs.cpio.gz
railgun@Kernel:~/ciscn_babydriver/core$ sudo cpio -idmv < rootfs.cpio
.
etc
etc/init.d
etc/passwd
etc/group
.
.
.
tmp
linuxrc
home
home/ctf
5556 blocks
railgun@Kernel:~/ciscn_babydriver/core$ ls
bin etc home init lib linuxrc proc rootfs.cpio sbin sys tmp usr
Continue reading Kernel PWN从入门到入土-Kernel UAF

BUUCTF PWN WRITEUP Part7

护网杯_2018_gettingstart

也算是比较经典的一个pwn了,考察了浮点数在内存中的存储方式:

不难猜出是栈上的变量覆盖,难点在于浮点数转换,这里不赘述,有兴趣可以自己上网查查资料。

Continue reading BUUCTF PWN WRITEUP Part7