2021金砖-pwn
本文最后更新于:2023年10月15日 晚上
pmagic1
1 |
|
pwn2
delete
函数中存在UAF,且create
函数中可以创建较大的chunk,所以获取libc地址很简单,但是程序禁用了execve
系统调用,所以需要使用orw
获取flag
1 |
|
pwn3
启动脚本分析
1 |
|
1 |
|
分析
这里注册了一个设备
chardev
,并且会在/dev
目录下创建名为chardev0的设备
当我们对打开的/dev/chardev的文件句柄进行ioctl操作时会执行这个函数
可以看到内核中的地址都是可读可写可执行的,而在chardev_ioctl
函数中,存在任意地址写入,而且每次开启内核中的地址都不变,那么可以修改chardev_ioctl
函数中else
部分的代码为commit_creds(prepare_kernel_cred(0))
,然后正常返回,之后在用户态调用system("/bin/sh");
就可以查看flag
文件了
1 |
|
2021金砖-pwn
https://rot-will.github.io/page/wp/2021金砖-pwn/