0%

生成Shellcode以及ASLR作用

ASLR主要影响stack、share library、heap几个部分。
当ASLR=0时,栈和堆的地址都不会改变。
当ASLR=1时,栈的地址变了,堆的地址不变。
当ASLR=2时,栈和堆的地址都变了。

生成shellcode
32位:
print(shellcraft.sh()) 生成的是shell的汇编代码
print(asm(shellcraft.sh())) 生成的是shell的机械码

64位:
context.arch=“amd64”
print(shellcraft.sh()) 生成的是shell的汇编代码
print(asm(shellcraft.sh())) 生成的是shell的机械码

gcc -fno-stack-protector -z execstack -no-pie -g -o ret2 ret2.c