精华刷题集_pwn
文章平均质量分 82
痛定思痛,鉴于自己太菜的的,决定从今天开始坚持每日三道题。\加油 \加油 ——每日刷题集
经过这段时间的实践,我认识到一天三篇的程度对我还是太过勉强了,所以我决定之后刷题为辅,并且只在遇到值得一发的题的时候再发博客。——精华刷题集_pwn
进击的萝卜君
我在海边捡垃圾
展开
-
题集之三+新生考核wp
最后的最后,新生考核赛已经完事儿了,租的服务器暂时闲置了,但是比赛的pwn题还在上面跑着。至少还能跑一周吧,都是一些比较新手向的题目,感兴趣的可以连上去看看。题目以及源码放资源里嘞,复现环境看下面就这样吧,诸君武运亨通共勉。原创 2024-03-31 23:32:49 · 875 阅读 · 2 评论 -
第二周 pwn的wp
可以看到,0x400519处显示 sp指针定位错误,这是由于IDA在反汇编时将retn当做函数返回导致的,实际的函数返回在0x40051c处。第一处的retn其实是通过retn进行函数调用,我们的溢出点就在这里,所以我们才可以在挟持程序流的同时泄露栈位置。 由于第一次写SROP稍微介绍下原理,SROP就是利用系统中断到恢复时会在用户空间中保存和恢复上下文,并且由于内核和信号处理程序是相互分离的,为进程恢复时不会检查该。 仅开启栈不可执行保护,一次read,一次write,可泄露栈地址。原创 2024-03-24 20:44:46 · 410 阅读 · 1 评论 -
奇怪,为什么他的一次溢出可以同时做到泄露栈地址和挟持程序流啊?(这应该算是特例?浅讲一下原理)
这是一道SROP类型题目,刚开始不知道怎么下手,看了这位师傅@的wp之后感到很震惊,仔细研究一下发现其实原理很简单,只要看一下题目的汇编代码就很好懂。发觉自己应该多看一眼汇编才可能对漏洞利用的原理多一分理解,思来想去决定特此额外记录一份。原创 2024-03-19 12:16:37 · 723 阅读 · 1 评论 -
反思:泄露canary之后一定要记得处理掉多余的东西————[2021 鹤城杯]littleof
这是一道libc类型的题目,应该是不难的,月余之前遇到。当时思路什么的都理清楚了,脚本也写出来了,结果死活获取不到shell…最后又重写了一遍才跑成功了。今天又想起来这件事儿,重新捋了一遍。终于是让我找到了原因!现在把这个原因记录下来,惊醒自己千万要注重细节,不要再犯这种错误。原创 2024-02-28 20:58:39 · 755 阅读 · 0 评论 -
day7——libc之gdb调试
并且在随后进行s1与buf字符串的比较,比较结果影响v5的值,如果我们能够溢出到v5的位置,将其值修改为一个不为0的数,那么程序将会自动执行print_flag函数。另外就是,为了debug掌握了调试方法,所以本篇将使用调试的方法取得想要的值。之后即可进行.got表泄露,随后接收返回的地址查表计算system函数及binsh字符串所在位置,并进行利用即可。很有意思的一道题,只要溢出一下就可以了,只要溢出就会有答案。这道题让我debug了整整两天,必须记下来,以警醒自己,写脚本不规范,debug两行泪。原创 2023-12-06 23:44:58 · 79 阅读 · 1 评论 -
day6——ret2libc的终章
然后找到puts函数的plt地址以及got地址,用来进行got表泄露。首先,这类题目需要程序中加载有libc模块,并且没有对此进行限制,比如关闭输入输出流,让你没法进行got表泄露。讲一下我目前可以看到的自身的不足吧,我没见过开启PIE保护的这类题目,感觉这类题目应该会很不一样。随后接受程序发来的got表后六位的地址信息,将该地址减去puts函数在libc中的相对基址的偏移,得到基址的绝对地址。当然,以上三个是我这段时间使用的工具,分别是用来进行查找gadgets片段、调试、以及对比查找libc库 的。原创 2023-12-03 13:16:08 · 41 阅读 · 1 评论 -
day5——system($0)
所以,无论是用哪种方式,最终达到的目的都是通过shell来执行特定的命令。但需要注意的是,在某些情况下,我怀疑ret那句话不能加的原因就是在这里,但是我不理解因为加上那句话之后payload的长度刚好满足0x38,很明显没有超过…这是因为两者都会调用系统的shell来执行参数中指定的命令。做这道题的时候他那个read限制读入的长度给我整麻了,虽然这里没啥影响,但是后面还是要注意一下。但是没有‘/bin/sh’字符串,不过在上面名为tips的函数中发现了$0的机器码。哎呀,昨天居然忘了发了,今天先发一下吧。原创 2023-12-01 13:45:49 · 66 阅读 · 1 评论 -
day2-4 3日刷题笔记
写这一道题花费了我三天的时间(虽然有点水分),本来想要一天三题的我被迫三天一题(悲…)。后面的话,看情况补一下吧,如果实在不行的话就算了,这三天努力的收获还是可以的,我感觉我已经很清晰的了解到ret2ilbc的原理并可加以运用了。(*v*我三天的时间(虽然有点水分),本来想要一天三题的我被迫三天一题(悲…)。后面的话,看情况补一下吧,如果实在不行的话就算了,这三天努力的收获还是可以的,我感觉我已经很清晰的了解到ret2ilbc的原理并可加以运用了。(*v*可以去这上面搜一下libc。原创 2023-11-29 20:21:12 · 26 阅读 · 1 评论 -
每日三题——day1
全称是position-independent-executable,中文解释为地址无关可执行文件,该技术是一 个针对代码段(.text)、数据段(.data)、未初始化全局变量段(.bss)等固定地址的一个 防护技术,如果程序开启了PIE保护的话,在每次加载程序时都变换加载地址。 PIE保护只会变更基址,相对位置还是不变的。同时还提供了system,又在data数据中找到了 /bin/sh。绕过方法是将泄露的地址加上偏移量算出shellcode的基址。类型的题,学到了PIE保护的一般绕过方法。原创 2023-11-26 18:42:25 · 28 阅读 · 1 评论