Pwn College Format String Exploits Level 1.0 ~ Level 9.1攻略(未完成)
0x00 事前准备这个模块在Software Exploitation里面可以找到。由于 pwn college 自带 ida 和 gdb 都很难用,所以我们需要用一些小手段把程序给 dump 下来还有文章中的payload用到的一些lambda函数 s = lambda data :p.send(data)sl = lambda data :p.sendline(data)sa = lambda x,data :p.sendafter(x, data)sla = lambda x,data :p.sendlineafter(x, data)r = lambda num=4096 :p.recv(num)rl = lambda num=4096 :p.recvline(num)ru = lambda x ...
菜鳥黑客松2025 PWN 全部題解
0x00 前言家鄉的CTF比賽,本來是來刷個臉熟的,結果打到了第5,沒有前三實在可惜。也有可能國内的大手子們在打L3H沒空理這邊。比較意外的是,這個比賽居然是SU出題的,不過面嚮菜鳥的比賽也不會難道哪裏去。這次的PWN還挺有意思,讓我搞懂了bss段上的fmtstr,同時因爲最近在看pwn college的fmtstr部分,對這方面有了更多的理解 0x01 題解部分ez-canaryChecksec: Arch: amd64-64-littleRELRO: No RELROStack: Canary foundNX: NX enabledPIE: No PIE (0x400000)Stripped: No 程序邏輯如下:利用 13 行的 printf() leak canary:同時程序中存在後門函數ret2text 即可。注意 /flag.txt 中的才是真 flagExp: from pwn import *from ctypes import *from struct import...
H&NCTF 2025
0x00 前言大二最后一次认真打的比赛,还是倒在堆题手下 0x01 题解三步走战略checksec: Arch: amd64-64-littleRELRO: Partial RELROStack: No canary foundNX: NX enabledPIE: PIE enabledStripped: No ida看一眼有沙箱,顺手查了 line CODE JT JF K================================= 0000: 0x20 0x00 0x00 0x00000004 A = arch 0001: 0x15 0x00 0x0a 0xc000003e if (A != ARCH_X86_64) goto 0012 0002: 0x20 0x00 0x00 0x00000000 A = sys_number 0003: 0x35 0x00 0x01 0x40000000 if (A < 0x40000000) goto 0005 0004:...
“轩辕杯”云盾砺剑CTF挑战赛 PWN 部分题解
0x00 前言pwn都挺难的,做完三道就跑去写密码了… 0x01 题解部分libcret2libc即可, libc 大概是2.35吧 from pwn import *from ctypes import *from struct import packcontext.arch='amd64'context.os = 'linux'context.log_level = 'debug'file='/mnt/c/Users/Z2023/Desktop/lllibc'elf=ELF(file)libc=ELF('/mnt/c/Users/Z2023/Desktop/libc6_2.35-0ubuntu3.7_amd64.so')choice = 0x001if choice: port= 25467 xuanyuan= '27.25.151.26' p = remote(xuanyuan,port)else: p =...
ISCC2025校级&区域&决赛 PWN 题解
0x00 前言 小弟的第一次ISCC,校赛阶段已经结束了,简单记录一下做的PWN(3/3),平台比想象中的要烂好多好多…很难想象这是一个国家级的比赛。还有各种PY满天飞,甚至有老哥看到同校的PY队直接在比赛群里骂了起来,这就是_______. 欧也,区域赛ak了 kernel pwn不会 0x01 校级赛题解部分签checksec: Arch: i386-32-littleRELRO: Full RELROStack: Canary foundNX: NX enabledPIE: No PIE (0x8047000)RUNPATH: b'/home/yyh/Desktop/lib32/lib32/'Stripped: No 浅谈附件一发下来就是patch(?)过的,很奇怪,甚至不能直接打开,我当时尝试过给他patch了一个比较低版本的libc和so(2.23),启动之后会报一个这样的错误: version GLIBC_2.34 not...
Unl1nk
0x00 前言:堆学习之路还在继续,上周末打了ACTF,被几道Pwn题吓死了,上来就是IO、内核。唉,所以还是继续慢慢往上爬吧,希望总有一天能解出XCTF联赛的Pwn题 0x01 分析:一道用来熟悉 unlink 的题目,题目是来自[PolarD&N].(https://polarctf.com/#/page/challenges)的**easyhay**。Checksec 一下: Arch: amd64-64-littleRELRO: Partial RELROStack: Canary foundNX: NX enabledPIE: No PIE (0x3ff000)RUNPATH: b'/home/link/glibc-all-in-one/libs/2.23-0ubuntu11.3_amd64/'Stripped: No Patch 过了,值得注意的是没开 pie,这对我们 unlink 攻击起到了关键的作用,ida 启动 以为是unosrted bin...
UCSC CTF 2025高校网络安全联合选拔赛 PWN 题解
0x00 前言:kap0k 23级的第二场获奖的团队赛,最终只贡献了2道PWN,还是靠RE队友带飞了。最后一题堆题的复现拖了很久,总体来说不是什么难题,从这题开始稍微了解了一些unsorted bin的机制和off by one的攻击原理。做出来的两题都是比较简单的,所以可能写得有点粗糙,但最后一题堆题绝对写的很详细! 0x01 题解部分:BoFido-ucscchecksec一下: Arch: amd64-64-littleRELRO: Partial RELROStack: No canary foundNX: NX enabledPIE: No PIE (0x400000)SHSTK: EnabledIBT: EnabledStripped: No Ida就是一个简单的猜随机数。该随机数的生成依赖于种子,也就是说,如果种子一样,生成的随机数序列就一样。使用srand()函数来设定与题目相同的随机数种子,即可做到猜测随机数的效果 from pwn import *from ctypes...
House of Orange
0x00 前言:堆学习之路仍在继续,这次依旧是PolarD&NCTF上的一道堆题,名字是easy_exit,其实House of Orange挺模板的,这里只是简单过一遍,让自己大概理解一下这个模板是怎么运作的。House of Orange本身并不难理解,难理解的是后面的FSOP… 0x01 分析:Checksec 一下: Arch: amd64-64-littleRELRO: Full RELROStack: No canary foundNX: NX enabledPIE: PIE enabledRUNPATH: b'/home/link/glibc-all-in-one/libs/2.23-0ubuntu11.3_amd64/'Stripped: No Ida 启动程序还是很简单的,可以申请两次自定义大小的堆块,然后可以多次申请 0x1000 大小的堆。主要是没有 free 功能,没法正常泄露 libc。这就要用到 house 系列中的 house of orange...
TGCTF2025 PWN 部分题解
0x00 前言杭师大的新生赛,pwn只做了5/10题,我觉得挺难的题目都被师傅们打成最低分了😭,堆题还是没能做出来,希望可以早日破零但是这次也学到不少东西了,例如容错比较高的泄露libc的方法、free掉伪造的chunk时需要注意的细节之类的,再加油吧还有还有,这是我加入kap0k之后第一次获奖的团队赛捏,还是很开心的看看排名啦,最后拿到了小小三等奖。省赛和ISCC要加油 0x01 题解部分1.签到check一下ida启动:有个gets可以溢出,程序中没有binsh和system,所以要打ret2libc from pwn import *from ctypes import *from struct import packcontext.arch='amd64'context.os = 'linux'context.log_level =...
glibc-all-in-one 下载后 Failed to download package 怎么办
0x00 起因在做 LitCTF 2024 heap-2.27 的时候,由于这个题是一个堆题,题目给了 libc 文件,打算先通过 glibc-all-in-one 得到对应的 ld 文件。 strings libc-2.27.so | grep 'ubuntu' 对应 glibc 版本为:2.27-3ubuntu1.6_amd64 0x01 下载失败但是当我正想输入 ./download 2.27-3ubuntu1.6_amd64 来下载时,得到的结果却是: Getting 2.27-3ubuntu1.6_amd64-> Location:https://mirror.tuna.tsinghua.edu.cn/ubuntu/pool/main/g/glibc/libc6_2.27-3ubuntu1.6.deb-> Downloading libc binary packageFailed to download package from...