第一个syscall:与自己进行异或操作(对应xor指令),得到的结果就是0,系统调用号为0的系统调用是read 第二个syscall:给rax赋值为1(对应代码mov rax 1),系统调用号为1的系统调用是write
- read存在栈溢出
- write能泄露数据
1 | rax = 59//对应59号系统调用-> exceve
2 | rdi = ‘/bin/sh’
3 | rsi = 0
4 | rdx = 0
第一个syscall:与自己进行异或操作(对应xor指令),得到的结果就是0,系统调用号为0的系统调用是read 第二个syscall:给rax赋值为1(对应代码mov rax 1),系统调用号为1的系统调用是write
1 | rax = 59//对应59号系统调用-> exceve
2 | rdi = ‘/bin/sh’
3 | rsi = 0
4 | rdx = 0
QQ:3362192260
要拿啥吱一声拿走就行了
有些文章里的部分内容或者有些文章是摘别的作者的。早期的一些可能没留出处。有侵权联系上面那个 qq。
评论