上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 简单的rop,也就是常常说的ret2text,啥都有。 只需要注意64位传参就可以。 还有记住send 阅读全文
posted @ 2022-06-27 20:46 REPWNER 阅读(5) 评论(0) 推荐(0)
摘要: 这题也是标准的ret2libc,给了libc库但是可以选择不用。 这题是比较难读的。 主函数是这样的,第一个没用。然后fd是给了以一个随机数。这里read把fd赋值给了buf然后buf就是一个随机数,在把buf放进下一个函数。 这里看到buf变成了a1,然后在11行,把a1又给了s这样s就成了随机数 阅读全文
posted @ 2022-06-27 17:12 REPWNER 阅读(7) 评论(0) 推荐(0)
摘要: 时隔一个月后写出的第一道ret2libc。 可以看到它的逻辑就是输入1进入一个漏洞函数。 漏洞函数稍微有一点逆向基础都可以看出这是对大小写还有数字进行的异或,但是有用吗,这不是逆向,所以根本不用去管。看到上面有个strlen函数,果断写'/0'去绕过。 这道题没有给libc版本,恶心,需要靠Libc 阅读全文
posted @ 2022-06-27 15:07 REPWNER 阅读(11) 评论(0) 推荐(0)
摘要: 这里的result=11可以知道是execve的系统调用号配合-asm关键字中的汇编指令,一起达到了getshell的效果. 这里直接可以getshell所以,只要远程运行这个程序就可以了。 阅读全文
posted @ 2022-06-21 19:43 REPWNER 阅读(4) 评论(0) 推荐(0)
摘要: checksec一下 逻辑就是一个栈溢出。但是看看,无system也无/bin/sh,然后发现一个后门函数 那逻辑就可以是溢出,把return address覆盖为这里的判断之后,然后就可以获得flag,但是我写了脚本,打不通,后面看别的师傅的博客,才知道这样会破坏栈堆平衡,无法正常退出程序。然后学 阅读全文
posted @ 2022-05-14 11:59 REPWNER 阅读(17) 评论(0) 推荐(0)
摘要: 基本ROP里最后也是最难的一种攻击方式ret2libc。 我们攻击一个程序,想要获取一个shell,目前简单来说其实就是system一个"/bin/sh"进去。那其实大部分程序会那么好的给你system又给你/bin/sh吗?其实并不会,那我们是不是没有办法得到system("/bin/sh")呢? 阅读全文
posted @ 2022-05-13 21:23 REPWNER 阅读(53) 评论(0) 推荐(0)
摘要: 前面看了ret2text和ret2shellcode,但是都没有真正意义上的ROP,而ret2syscall是真正意义上涉及到了ROP。 首先我们看看什么是ROP。这里我谈谈我对ROP的理解。 ROP的全名是返回导向编程,看到返回就知道一定和ret有关系。看ROP之前我们看看前面的栈溢出,栈溢出进行 阅读全文
posted @ 2022-05-13 18:13 REPWNER 阅读(7) 评论(0) 推荐(0)
摘要: 上篇讲了ret2text这里看看更难一点的ret2shellcode. shellcode就是可以获取shell的一段代码,在ret2shellcode里面这个代码一般不用我们去写,对他很智能它可以自己生成,用pwntools里的shellcraft.sh()语句去生成。那么是不是所有的题目都可以不 阅读全文
posted @ 2022-05-12 10:08 REPWNER 阅读(31) 评论(0) 推荐(0)
摘要: 现在开始记录ROP里的几种攻击方式,首先是最简单的ret2text.他其实可以不用记录,但是他引发的意义其实比本身重要。 这里以一道ret2text为例 这里有一个明显的栈溢出的漏洞,就是gets函数。总所周知,gets函数一个最大的漏洞就是无限输入。那么,为什么无限输入会有栈溢出呢。首先我们要知道 阅读全文
posted @ 2022-05-08 16:16 REPWNER 阅读(22) 评论(0) 推荐(0)
摘要: 记录思路。mmap开了一个空间,查保护的时候有nx,但是有mmap开空间,可读可写。 就可以用shellcraft,但是有一个恶心的判断,导致shellcode送不进去。 我一开始死在了在里面循环硬判断,但是判断一下发现逻辑外面才是重点,要是0,就可以绕开。 点击查看代码 from pwn impo 阅读全文
posted @ 2022-05-01 16:34 REPWNER 阅读(10) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页