【PWN · Stack】
文章平均质量分 78
Stack
Mr_Fmnwon
湖南の大学网络工程童鞋一枚,努力养成看博客写博客的习惯。
展开
-
【PWN · ret2syscall】[Wiki] ret2syscall
虽然网上(包括CSDN)有很多ret2syscall的例题,但大多是Wiki,且摘自官方题解蒟蒻想从自己的“碰南墙“的历程出发,以蒟蒻萌新的视角,述说蒟蒻萌新的新路历程~~原创 2023-05-06 20:04:18 · 1281 阅读 · 0 评论 -
【PWN · ret2syscall】[CISCN 2023 初赛]烧烤摊儿
1、整数溢出增加money2、“购买店铺”到漏洞点3、构造payload:b’/bin/sh\x00’+padding+ret2syscall即可原创 2024-01-31 11:54:17 · 405 阅读 · 0 评论 -
【PWN · ret2shellcode | “jmp esp“】[i春秋]ret2shellcode
回顾ret2shellcode发现还有很多基础的技巧没有掌握。本题算是一个经典地、通过jmp esp将栈上的shellcode进行执行的题目。一、题目重述通过本例,掌握一个基础而常见的技巧:控制执行流到栈上指定位置开始执行。核心是利用了jmp esp 指令。原创 2023-10-04 09:24:42 · 528 阅读 · 0 评论 -
【PWN · ret2shellcode】[HNCTF 2022 Week1]ret2shellcode
ret2shellcode——顾名思义,控制执行流到shellcode在更简单的一类题目ret2text中,我们主要的尝试是修改某个返回地址修改,修改到程序固有的后门函数处,劫持程序控制流以期返回后门。然而,如果程序中并不存在这样的后门函数,那么很朴素的想法是,能不能自己写一段后门函数,然后劫持程序控制流返回执行这段恶意代码呢?依此,主要的过程如下:(1)构造shellcode通过溢出放到程序某片存储空间上——为了能够执行这段代码,所存储的区域需要有可执行的权限。原创 2023-04-25 11:53:14 · 2438 阅读 · 5 评论 -
【PWN · ret2shellcode | jmp rsp | jmp rsi】[广东省大学生攻防大赛 2022]jmp_rsp
ret2shellcode,一般是往某个wx属性的地方写上shellcode,再尝试进行控制流劫持,跳转到shellcode处。一、题目概述题目并不难,没有套多少壳子,一眼漏洞。关注寄存器残留的值利用rsp和栈可写可执行,能够做很多事情。原创 2024-03-05 09:19:54 · 623 阅读 · 0 评论 -
【PWN · ret2text】[CISCN 2019华北]PWN1
依旧是简单的ret2text。原创 2023-04-21 08:45:23 · 496 阅读 · 0 评论 -
【PWN · ret2text & 格式化字符串漏洞 | NX | Canary | PIE】[深育杯 2021]find_flag
Canary、PIE开启,如何进行绕过呢?【PWN · ret2text | PIE 】[NISACTF 2022]ezpie_Mr_Fmnwon的博客-CSDN博客【PWN · ret2libc | Canary】[2021 鹤城杯]littleof_Mr_Fmnwon的博客-CSDN博客而本题也无外乎这两个要点,然而还是让本蒟蒻感到头疼QAQ(一点睡,六点半起,一整个学期伤身体,ICU里喝小米)本题是遇到的第一道保护全开的题目,各种保护让人头大,对各种漏洞的综合利用也有更高的要求,加油!原创 2023-06-09 09:15:15 · 1677 阅读 · 4 评论 -
【PWN · ret2text | ‘/bin/sh‘写在bss段】[HNCTF 2022 Week1]ezr0p32
比较简单,也比较老套,所以更应该记住。原创 2023-06-10 11:02:22 · 826 阅读 · 0 评论 -
【PWN · ret2text】——[CTFHub]ret2text
经典的ret2text流程。原创 2023-04-20 17:33:38 · 1241 阅读 · 0 评论 -
【PWN · ret2text | PIE 】[NISACTF 2022]ezpie
所接触的PIE保护的第一题,也非常简单。随着刷题的深入,各种保护的开启肯定是免不了的,对此多做总结,总是好的。原创 2023-05-31 08:47:21 · 1602 阅读 · 1 评论 -
【PWN · ret2text | RISC-V异构】[2023 羊城杯]login
我们context.arch经常是'i386'和'amd64',突然遇到RISC-V架构的题目,一是本地运行不了(环境没配),二是IDA无法反汇编。苦恼。一、食用工具于是找啊找。找到cutter——一款risc-v的反汇编反编译工具,然而太shi了,反编译的c代码看不了一点,全是错的。GhidraGhidra 是美国国家安全局(RSA)开源发布的软件逆向工程框架,涵盖了反汇编、反编译等工具。该工具2019年3月开源。与之对标的有windows平台下的IDA Pro和linux平台下的radare2等。原创 2023-09-03 14:59:00 · 664 阅读 · 0 评论 -
【PWN · ret2text】[BJDCTF 2020]babystack
作为pwn新手,尽可能在刷题中,记录、学习一些通用的知识点,因此wp是少不了的。本题是一道简单的ret2text。原创 2023-04-20 00:39:38 · 727 阅读 · 0 评论 -
【PWN · IntegerOverflow & ret2text】[BJDCTF 2020]babystack2.0
整数溢出漏洞——对于有/无符号数,长/短位宽转换时机器码的变换策略所指。整数溢出一般与其他堆栈溢出相结合,然而其中的内容其实远不止这些,还需要深层次刷题,进一步掌握了解整数溢出。原创 2023-05-27 01:19:05 · 891 阅读 · 0 评论 -
【PWN · ret2text | 伪rand()】[HDCTF 2023]pwnner
一道简单的ret2text,加上一些伪随机的知识,对于本蒟蒻萌新来说,比较新,值得记录。伪随机数以及ctypes库的使用!原创 2023-07-26 20:48:42 · 446 阅读 · 0 评论 -
【PWN · ret2libc】[BJDCTF 2020]babyrop
简单而纯粹的ret2libc,更推荐上面那篇博客哦~相当于在这题基础上又加了一些保护,算是plus版前些日子为了准备期末考,长时间没有进行CTF-PWN的学习。而ret2libc一直都是不太熟练地点。多刷多总结。加油!原创 2023-07-24 09:57:18 · 169 阅读 · 0 评论 -
【PWN · ret2libc | Canary】[2021 鹤城杯]littleof
Canary作为经典且基本的栈保护措施,在后期的题目中必然是基本标配。作为新手小白,最初这几次接触有点难受,but多做总结嘛。——ret2libc也依旧不熟练,做总结也是意料之中的事情。不断总结,不断求学。原创 2023-06-08 00:38:06 · 770 阅读 · 7 评论 -
【PWN · ret2libc】[CISCN 2019东北]PWN2
持续巩固ret2libc的做题范式/基本套路能力,同时也发现,reverse与pwn密不可分的联系。【PWN · ret2libc】[2021 鹤城杯]babyof_Mr_Fmnwon的博客-CSDN博客这篇博客ret2libc的细节比较多,且这两个题目完全相似。原创 2023-06-02 00:00:33 · 607 阅读 · 5 评论 -
【PWN · ret2libc】[SWPUCTF 2021 新生赛]whitegive_pwn
和【PWN · ret2libc】[2021 鹤城杯]babyof_Mr_Fmnwon的博客-CSDN博客一样,是一道非常典型(指攻破过程)的ret2libc题目。通过泄露got表、libc偏移等,构造system('/bin/sh')由于exp的思路在上面那篇博客讲的很清楚了,这里就不过多赘述,直接上exp。这一次对于ret有点理解了:gets/puts都放在return后,除了函数本身的调用返回外,还有调用函数处被返回(此时caller作为callee)所以可以填写返回地址,控制执行流。原创 2023-05-31 00:55:23 · 506 阅读 · 0 评论 -
【PWN · ret2libc】[2021 鹤城杯]babyof
64位Linux和32位Linux确乎有着关于参数传递上的不同,然而无论哪种,关于ret2libc这一题型。如果仅仅是wiki上的三道题目,那还是远远不够的。故尝试通过本题,总结ret2libc的一般过程。过程包括通过puts/write来泄露got表中的puts/write的真实地址->计算libc的基址->libc基址+任意库函数相对于libc的偏移量=任意函数真实地址->libc基址+libc中'/bin/sh'偏移量='/bin/sh'地址,如此构造system('/bin/sh')原创 2023-05-30 23:45:05 · 1571 阅读 · 4 评论 -
【PWN · ret2libc】[NISACTF 2022]ezstack
通过查看ELF文件信息,确定攻击方法,实现ret2libc1类型的攻击简单的ret2libc1类型题目。原创 2023-05-27 09:00:42 · 1014 阅读 · 2 评论 -
【PWN · ret2libc】ret2libc2
经过ret2libc1的洗礼,我们对ret2libc的做题模范有了基本的范式,然而实际的题目远没有如此直白和简单。本题就遇到了一个问题:"/bin/sh"字符串在程序中并不存在,怎么办?其实很简单:没有我们就自己输入。因为具体的原理在ret2libc1中已经很详细地讲述了,所以本篇博客主要复现解题过程。从最基本理解原理的ret2libc1,到有点花头的ret2libc2,值得展望的是,比赛的题目,远远难于此。但千里之行始于足下,掌握好这些基础的,掌握好这些原理,才能慢慢深入进阶。原创 2023-05-08 23:46:55 · 493 阅读 · 0 评论 -
【PWN · ret2libc】ret2libc1
当函数运行到调用库函数时,程序将访问对应函数的plt表项,plt表项存着代码,代码分为两部分:第一部分,跳转到对应的got表。第二部分,查找函数的真实地址,修改got表内容。 got表项存着一个地址。然而这个地址并不一开始就是libc中函数的真实地址。 一开始,got表项中地址指向plt代码的第二部分。后来,因运行plt第二部分代码段,got表内容被修改为真实函数地址。依据以上,我们可以......分享几个实用的干货小技巧,不用IDA解决此题原创 2023-05-08 00:34:22 · 912 阅读 · 0 评论