改变system函数的参数

先运行,发现可以输入两次。再查看防御机制,开启了NX保护,即堆栈不可执行。
cgpwn2(攻防世界新手pwn题)
用ida查看主函数,发现只有一个hello()函数。查看其内容,直接找到运行时看到的"please tell me your name"。第一次输入规定了长度,第二次没有规定,存在漏洞:
cgpwn2(攻防世界新手pwn题)
找到一个后门函数pwn(),存在 call _system语句,但是这个函数的参数"echo hehehe"并没有用。所以需要将参数改为’\bin\sh’命令或’cat flag’命令。
cgpwn2(攻防世界新手pwn题)
构建payload。可以利用第一次写入,把需要用到的命令’cat flag’存储到name的位置,再在_system地址后面加上name的地址,作为_system函数的参数:
cgpwn2(攻防世界新手pwn题)
运行得到flag:
cgpwn2(攻防世界新手pwn题)

相关文章:

  • 2021-11-14
  • 2021-09-21
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-11-16
  • 2021-11-23
  • 2021-04-07
猜你喜欢
  • 2021-08-27
  • 2022-12-23
  • 2021-05-24
  • 2021-06-17
  • 2021-07-07
  • 2021-07-01
  • 2022-12-23
相关资源
相似解决方案