bjdctf_2020_babyrop2】的更多相关文章

这道题是一道基本题,正因为它经典,所以需要重点记录一下. 这道题考察格式化字符串泄露canary,然后rop获得libc版本,之后拿到shell.拿到程序之后我们先检查一下保护... 开启了堆栈不可执行和canary保护.接下来ida看一下伪代码吧! main函数中调用了三个函数,我们一个一个点进去看看,先看一下init(). 有点水文章了...第一和函数就是告诉我们说让门尽力泄露libc的版本...来,我们继续看第二个函数! 很明显有一个格式化字符串漏洞,并且format是由我们控制的,这里呢…
bjdctf_2020_babyrop2 附件 步骤: 例行检查,64位程序,开启了NX和canary保护 2. 试运行一下程序,看看大概的情况 提示我们去泄露libc 3. 64位ida载入,从main函数开始看程序 init gift 第9行的printf函数存在格式化字符串漏洞,可以利用这点去泄露canary的值 vuln buf参数存在溢出漏洞,只要绕过了canary就能够利用ret2libc的方法获取shell 利用思路: 利用格式化字符串泄露出canary的值 利用溢出漏洞,将can…
看到程序先例行检查一下 可以看到开启了canary和nx保护,需要注意的是这个acnary 将程序放入ida中shift+f12 没有关键性函数.我们进入main函数中 在main的gift程序里面我们可以看到明显的格式字符串漏洞,printf没有进行限定输入,所以我们可以通过这个程序获取到canary的值 我们进入程序试验一下,发现当第六个偏移的时候出现了61(%6是查看第6个,$p是以指针形式显示) 我们可以设置一下断点,stack查看栈 可以看到df38的位置就是canary的值,所以我们…
[BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希望各位师傅在评论区不吝赐教!非常感谢! [OGeek2019]babyrop /dev/random和/dev/urandom是unix系统提供的产生随机数的设备,先产生一个随机数 输入放到buf里,然后与随机数比较,不等的话程序就结束了,于是将输入的第一个字母弄成'\0',以绕过strncmp 后…