vsyscall bypass PIE

系统把几个常用的无参内核调用从内核中映射到用户空间中,相当于一个系统函数接口,所不同的是,当我们每次调用这个接口时,为了保证数据的隔离,我们需要把当前的上下文(寄存器状态等)保存好,然后切换到内核态运行内核函数,然后将内核函数返回的结果放置到对应的寄存器和内存中,再恢复上下文,切换到用户模式。

Read More

64libc泄露

通过泄露libc地址来找到system函数地址实现getshell

Read More

函数调用约定

函数调用约定,是指当一个函数被调用时,函数的参数会被传递给被调用的函数和返回值会被返回给调用函数。函数的调用约定就是描述参数是怎么传递和由谁平衡堆栈的,当然还有返回值。

Read More

hexo+github搭建自己的博客

教你不用买服务器就可以整出自己的博客

Read More

最基本的pwn栈溢出

#32位程序的基本栈溢出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <unistd.h>


void welcome(){
write(1, "Welcome to zsctf!\n", 21);
}

void vuln(){
char buf[80];
printf("What's this:%p?\n", &buf);
read(0, &buf, 0x100u);
}

int main(){
welcome();
vuln();

return 0;
}

Read More