上一页 1 ··· 3 4 5 6 7
摘要: 头一次见这种题。。。 32位程序,开启了堆栈不可执行。 ida看一眼伪代码。main函数跟前有个函数,进去看一眼。 就一个gets函数,干净利落。。。 可以进行溢出。听大佬们说,这种情况,就是特别ida看起来特复杂,就是静态编译的结果。静态编译就不会调用libc中的东西,所以我们也不存在泄露版本利用 阅读全文
posted @ 2020-02-22 21:24 不会修电脑 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: 一道泄露canary+rop常规的题。 这道题让我学习到了,原来canary的最后一位是\x00,又因为是小端存储,所以在内存中我位置是在开头的。 来,下载文件检查一下保护。 开启了canary和nx保护,ida看一眼伪c代码。 一个菜单类型的题,大概就是1是存储数据,2是输出数据,3是退出。put 阅读全文
posted @ 2020-02-20 09:35 不会修电脑 阅读(392) 评论(3) 推荐(0) 编辑
摘要: 此题考整型的有符号无符号的东西。。。 下载文件还是,先检查一下保护。 64位程序,只开启了堆栈不可执行,看一下ida的伪代码。 大概流程就是先让你输入一个数,这个数就是后面read的可以输入的长度,要想进行溢出,就必须有足够的长度,但是有一个校验,不让这个数大于十,我们得想办法绕过这个校验,让我们可 阅读全文
posted @ 2020-02-19 13:57 不会修电脑 阅读(975) 评论(0) 推荐(2) 编辑
摘要: 这道题其实主要考linux下的命令。我们来试一下!!! 可以看到,只要我们在命令之间加上分号,就可以既执行前面的命令,又执行后面的命令。。。 这道题就不看保护了,直接看一下关键的代码。 这里可以看到strcat就是在dest后面拼接buf,只要加个分号,下面就会随便又我们执行命令了。所以这到题理论应 阅读全文
posted @ 2020-02-19 12:47 不会修电脑 阅读(1046) 评论(0) 推荐(1) 编辑
摘要: 这道题是一道基本题,正因为它经典,所以需要重点记录一下。 这道题考察格式化字符串泄露canary,然后rop获得libc版本,之后拿到shell。拿到程序之后我们先检查一下保护。。。 开启了堆栈不可执行和canary保护。接下来ida看一下伪代码吧! main函数中调用了三个函数,我们一个一个点进去 阅读全文
posted @ 2020-02-19 11:53 不会修电脑 阅读(1381) 评论(0) 推荐(0) 编辑
摘要: 这是一道系统调用+rop的题。 先来就检查一下保护。 32位程序,只开启了堆栈不可执行。ida看一下伪代码。 代码也很简洁,就是直接让你溢出。这里ida反汇编显示的v4具体ebp的距离是0x14,再加上0x8也就是0x1c就到返回地址了,但是在实际上,偏移不是这么多。这里我们用pwndbg测试。首先 阅读全文
posted @ 2020-02-19 10:36 不会修电脑 阅读(1627) 评论(1) 推荐(1) 编辑
摘要: 花了好多天,终于把这个题彻底弄懂了。。。自己太菜了 下载文件,首先checksec检查一下保护。 只开启了堆栈不可执行,接下来拖到IDA看一下C的伪代码。 大致先让你输入,然后再次让你输入。 第一次输入的话,会将输入的数据保存到bss段,第二次是向栈中输入数据,并且可以溢出。经过计算,正好可以溢出到 阅读全文
posted @ 2020-02-18 12:26 不会修电脑 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 下载文件,首先checksec检查一下保护,发现只开启了NX 堆栈不可执行。 接下来我们拖进IDA看一下程序的主要流程。 很简洁的程序,可以看到read函数存在栈溢出。 再来看看有什么后门函数可以利用吗? 可以看到这个函数的意思就是读取本地的flag,然后进行输出。 只要我们进行栈溢出,将返回地址覆 阅读全文
posted @ 2020-02-14 13:26 不会修电脑 阅读(758) 评论(0) 推荐(1) 编辑
上一页 1 ··· 3 4 5 6 7