
CTF
文章平均质量分 84
xyzmpv
这个作者很懒,什么都没留下…
展开
-
高版本libc下的off by null
新版额外检查这个chunk size与被free掉的chunk的prev size是否相等,chunk overlap必须要伪造后者,而前者不可控,故一般打法失效。,通过大循环将这三个chunk全部放入同一个large bins。此时由于large bins机制,中间大小的chunk的。均相同,分别指向比自己小/大的chunk,将该chunk取下,同时伪造好。),残留指针为头节点libc指针,此时需要申请到该chunk,再申请一个。的size,再将该chunk的bk取下并写其fd为该chunk(伪造。原创 2022-09-08 10:36:23 · 2047 阅读 · 0 评论 -
2022 Google CTF SEGFAULT LABYRINTH wp
2022 Google CTF SEGFAULT LABYRINTH wp原创 2022-07-04 19:24:22 · 982 阅读 · 0 评论 -
MRCTF Can you extract the firmware 复现
MRCTF Can you extract the firmware 复现...原创 2022-04-29 21:32:46 · 1437 阅读 · 4 评论 -
*CTF babynote 复现
*CTF babynote 复现原创 2022-04-26 22:13:05 · 3146 阅读 · 0 评论 -
Midnight-sun pwnhub复现
Midnight-sun pwnhub复现这题比赛的时候跟队友大眼瞪小眼看了半天,house of orange 和house of force都不能用,莫得什么好的思路… 赛后找到了2019大佬的wp,做了一下复现文章目录Midnight-sun pwnhub复现环境问题程序分析攻击思路expps:环境问题题目本身给了一个启动脚本 LD_LIBRARY_PATH=./lib/ ./lib/ld.so --preload libdl.so.2 ./pwnhub做题的时候抄到脚本里面,结果发现gdb原创 2022-04-07 22:47:48 · 613 阅读 · 0 评论 -
2022 hgame pwn wp
2022 hgame pwn wp本来早就写好了,但是由于复试毕设等等原因拖到今天才发包括了绝大部分题目,除了算法题spfa和bpwn,剩下一些简单题懒得写了orz文章目录2022 hgame pwn wpWeek 1enter_the_pwn_landenter_the_evil_pwn_landoldfashion_orwWeek 2oldfashion_noteechoWeek 3changeable_noteelder_notesized_noteWeek 4vectorWeek 1ent原创 2022-03-27 16:39:21 · 5071 阅读 · 4 评论 -
libc-2.31下的0x7f利用
libc 2.31下malloc_hook-0x23的堆异构应该是不行了,但是附近还有另一个:realloc_hook-0x2b(也就是malloc_hook-0x23),大小还是0x7f(因为都是异构的libc内地址)实际上这个异构的原理就是利用malloc_hook之前的realloc_hook和memalign_hook中已经存在的地址(所以写libc的那帮家伙为什么不去掉hook)...原创 2022-02-14 19:59:34 · 916 阅读 · 0 评论 -
glibc源码阅读
FBI warning:本文仅仅是试图以二进制选手的方式来理解mallo.c中所使用的堆机制,不会对具体操作以及堆块结构作过多叙述,敬请谅解。水平欠佳,有问题也欢迎留言指出。libc-2.23无论大小,第一次申请chunk时各bins对应操作均不会执行,直接使用sysmalloc从top chunk割。之后再malloc才会进入各自bins的操作。 if (__glibc_unlikely (av == NULL)) { void *p = sysmalloc (nb, av)原创 2022-01-12 21:59:19 · 1274 阅读 · 0 评论 -
2021-ciscn-pwn-lonlywolf复现
Lonlywolf国赛题难度可以…先爬了 做的复现…这里使用的exp是nuoye大佬的版本 先膜一波主函数没什么特殊的 add/del/print/edit都有add要求小于0x78(120),而且只保存了当前拿到的chunk地址free有典型的UAFedit正常 没有off by null 遇’\n’停止。print也正常。下面来说说做法这题麻烦的是手里只有一个地址 leak完了不方便攻击 直接攻击又没有地址nuoye大佬的做法是tcache perthread corrup原创 2021-06-06 23:08:24 · 657 阅读 · 0 评论 -
攻防世界-pwn-forgot
简单题…不过一开始没找到重点,浪费时间了。开始定义了一大堆没有用的函数。然后是开始一大堆输出。给了函数地址,不过因为没有PIE所以其实不需要…漏洞点在scanf,明显的溢出,但是这里不是这么做的…下面是一个循环check,根据输入最后决定v5的值 (重点)结束循环后是一行奇怪的代码其实看汇编更好理解很明显,如果我们控制了 [esp+78h] (这是栈上的我们能控制的值)再在栈上合理位置布置好值,就可以通过call eax执行任意函数了事实上 [esp+78h] 就是上面switc原创 2021-01-14 20:29:40 · 526 阅读 · 0 评论 -
2020市赛-pwn-复现
个人独立做的第一道堆…复现市赛题目。main函数长这样按堆做法用到的其实只有make_choice一个。add/del/free/show一应俱全。add 中提供了三种大小:0x20、0x7、0x1000 对应的指针和chunk大小存储在数组gameinfodel函数很奇怪,将chunk free掉之后会将里面的数据全部清空(一般来说这会摧毁bins)而且没有将指针置0,有UAF。有一个pick_num函数 这也是另一个漏洞点所在。有用的是qword_602118=v3这一句。这使原创 2020-09-27 18:33:44 · 283 阅读 · 0 评论 -
2020强网杯wp-pwn-babymessage
题目质量还不错…就是快二十道pwn实在是吓人…一开始看到堆还没有free以为是horse of orange就溜了回头一看40多解… 再仔细一看只是栈溢出…傻了考点也是常规考点,栈迁移 换取足够的写入长度 然后onegadget完事老样子一个菜单leave name 可以往bss段的一个地方写4字节leave message 之前有一个写入长度判断当然正常情况写入长度只可以是0x10重点在leave message里面 有一个栈溢出可以覆盖到saved ebp于是我们可以先在nam原创 2020-08-27 17:24:27 · 754 阅读 · 0 评论 -
Jarvis OJ-Re-Classical Crackme
pwn狗决定作一下死…然后他就去做Re了(入门题,大佬无视即可)题目给了一个CrackMe.exe,第一反应是载入OD进行分析。然鹅…迷惑行为…查了一下,发现可能有壳…(基本操作忘了…)拿DIE和Exeinfope查出来壳版本还不一样…好吧…至少是ConfuserEx无疑了。查了一下,尝试了de4dot、UnConfuserEx结果都没有用…陷入自闭循环。然后最后翻到了dotPeek神器。直接拖进去反编译成功。C#看不懂?问题不大,直接搜索字符串‘注册’定位到这段代码:粗略看了一下,大致原创 2020-07-05 20:20:15 · 266 阅读 · 0 评论 -
“第五空间”wp-misc-run
第一次正式比赛二血。小开心。下载下来是一个run.exe。运行一下没反应…看图表是个docx,7zip打开,果然嵌了一个docx。打开,查十六进制等等基本操作,没发现有什么东西。回去运行分离出来的exe。结果生成了一个文件名‘tif’的文件。查十六进制,很明显是tif文件(明显提示嘛)结尾还有一个run-> njCp1HJBPLVTxcMhUHDPwE7mPW改后缀,打开,是这么个东西查十六进制,查LSB,过stegsolve,都是啥也没。PS打开,发现有两个图层。把那个黑方块取消显原创 2020-06-25 21:31:24 · 443 阅读 · 0 评论 -
2020“第五空间”wp-pwn-twice
这次第五空间总算不是第500空间了…题难度还行。pwn只做了一个twice,不过好歹是正式比赛第一次做出来pwn…放wp吧。老规矩,先checksec一波64位,开了canary和nx。上IDA。main函数主要就是一个循环sub_4007A9是这样的a1就是传入的nCount(初值为0) 。结合主函数的循环,可以知道整个循环只能跑两次。第二次执行完后返回0,就跳出循环了。整个的函数作用大体上就是向s数组中读v3个字节。sub_40076D长这样第一次返回89,第二次返回112。原创 2020-06-25 21:08:42 · 870 阅读 · 0 评论