PWN 基础栈溢出ret2text 已有提权函数
32位寄存器4个字节,函数传参只使用栈 基础检查 本例题是PolarD&N的基础入门pwn题 小狗汪汪汪 使用file和checksec 查看elf的位数和安全保护 ┌──(kali㉿kali)-[~/win/Downloads] └─$ file woof woof: ELF 32-bit LSB executable, Intel 80386, version 1 ...
32位寄存器4个字节,函数传参只使用栈 基础检查 本例题是PolarD&N的基础入门pwn题 小狗汪汪汪 使用file和checksec 查看elf的位数和安全保护 ┌──(kali㉿kali)-[~/win/Downloads] └─$ file woof woof: ELF 32-bit LSB executable, Intel 80386, version 1 ...
题目链接:https://ctf.show/challenges#pwn04-65 基础分析 ┌──(kali㉿kali)-[~/win/Downloads] └─$ file ex2 ex2: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld...
系统调用 write mov eax, 0x4 mov ebx, 1 mov ecx, [ "Hello, World!\n" ] mov edx, 13 int 0x80 => write(1, "Hello, World!\n", 13) execve mov eax, 0xb mov ebx, [ "/bin/s...
pwntools生成shellcode from pwn import * context(os="linux", arch='amd64') # 需要设置,否则64位报错 # 32 bit shellcode = shellcraft.sh() shellcode_asm = asm(shellcode) # 64 bit shellcode = shellcraft.amd64.sh(...
作用 使程序崩溃 查看栈内容 (绕过栈保护) 任意地址读写 任意读 printf(“%3$d”, 1,2,3); printf(“%s %s %s”) 当不给参数时,会尝试读取栈上的数据 任意写 int count = 0; printf(“%n”, &count); %n 一次性写入4个字节 %hn 2个字节 %hhn 一个字节 绕过C...
题目来源: PolarCTF pwn what’s your name 基础分析 ┌──(kali㉿kali)-[~/win/Downloads] └─$ file pwn2 pwn2: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-lin...
需要关闭NX、 基础检查 本例题是PolarD&N的中等入门pwn题 getshell ```zsh ┌──(kali㉿kali)-[~/win/Downloads] └─$ file pwn2 pwn2: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, int...
关于64位程序堆栈平衡的处理 堆栈平衡: 当我们在堆栈中进行堆栈的操作的时候, 一定要保证在ret这条指令之前,esp指向的是我们压入栈中的地址, 函数执行到ret执行之前,堆栈栈顶的地址 一定要是call指令的下一个地址。 含义就是 当函数在一步步执行的时候 一直到ret执行之前,堆栈栈顶的地址 一定要是call指令的下一个地址。 也就是说函数执行前一直到函数执行...
判断情况 文本段有 system或者 后门函数是 ret2text 堆栈可执行, bss段可写 ret2shellcode 只有栈溢出 ret2libc RELRO (ReLocation Read-Only) 堆栈地址随机化, 是一种用于加强对 binary 数据段的保护的技术 解决办法:return to plt ASLR (Address Spa...
检查文件 ┌──(kali㉿kali)-[~/win/Downloads] └─$ file play play: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, Bu...