黑客初级攻击方法-缓冲区溢出攻击

2019 年 4 月 23 日 安全优佳
点击上方 “安全优佳” 可以订阅哦!

1.C++程序运行时栈分析

网上关于C++程序运行时的栈解析文章有很多,在这里简单介绍一下,方便后续操作的理解与学习。

运行时栈

从网上盗了个图,画的还是比较生动的。。上图中EBP代表栈底指针,ESP代表栈顶指针,EIP代表程序执行的下一个位置,我们可以用一个例子来解释一下这几个东西东西都是干什么的,比如程序

示例程序

首先运行程序,程序运行后,我们定义了两个变量a和b,这时a与b变量的指针被压入栈,a和b变量的语句定义完后,下面改调用方法fun()了,这时候需要把下一条指令的地址提前入栈,就是上面说的EIP,也就是说此时的EIP 等价于图片中的"return 0"语句的地址,这样当方法fun执行完后,就可以继续运行了。

调用方法fun后,EBP从main方法的首地址变更为fun方法的首地址,ESP同理指向EBP,而后开启了fun方法的新栈,fun方法执行完栈顶元素即为EIP,直接执行EIP地址的指令即可完成程序运行。

2.缓冲区溢出攻击原理

上面说了一下C++指令的执行栈,这和本文要说的溢出攻击有什么关系呢?此时提醒大家应该特别注意EIP,因为当方法执行完以后,弹出的数据会交给EIP,也就是下一条要执行的指令,如果EIP的值可以被修改成我们想要执行的指令地址,比如说想要拿到这台机器的ROOT权限,然后你懂的。。

NO ONE IS SAFE

那么问题来了,怎么覆盖EIP??

哦,不小心说出来了,没错,就是覆盖EIP。怎么覆盖?

BUG 程序实例

如上图所示,定义一个16字节空间的buffer数组,那么入栈16字节,strcpy就是把str指针指向的数组空间copy到buffer中,那如果str太多了呢?超过16字节呢?那么也要copy过来(win32),那多了copy到哪里?往高地址copy,为了达到我们的目的,一直让他copy到EIP那里就好了,然后最后修改EIP让它在方法退出以后执行我们想要做的事,这就是缓冲区溢出的攻击原理

安全优佳

http://news.secwk.com

长按识别左侧二维码,关注我们

登录查看更多
0

相关内容

专知会员服务
50+阅读 · 2020年6月14日
【干货书】数值计算C编程,319页pdf,Numerical C
专知会员服务
71+阅读 · 2020年4月7日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
226+阅读 · 2020年3月22日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
78+阅读 · 2020年3月15日
【综述】基于图的对抗式攻击和防御,附22页论文下载
专知会员服务
69+阅读 · 2020年3月5日
【新书】Python中的经典计算机科学问题,224页PDF
专知会员服务
56+阅读 · 2019年12月31日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
你必须知道的六个深度炼丹好习惯
GAN生成式对抗网络
9+阅读 · 2019年5月16日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
AI 玩跳一跳的正确姿势,跳一跳 Auto-Jump 算法详解
Python开发者
5+阅读 · 2018年1月16日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
iOS高级调试&逆向技术
CocoaChina
3+阅读 · 2017年7月30日
Arxiv
38+阅读 · 2020年3月10日
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Arxiv
136+阅读 · 2018年10月8日
Arxiv
9+阅读 · 2018年1月4日
VIP会员
相关VIP内容
专知会员服务
50+阅读 · 2020年6月14日
【干货书】数值计算C编程,319页pdf,Numerical C
专知会员服务
71+阅读 · 2020年4月7日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
226+阅读 · 2020年3月22日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
78+阅读 · 2020年3月15日
【综述】基于图的对抗式攻击和防御,附22页论文下载
专知会员服务
69+阅读 · 2020年3月5日
【新书】Python中的经典计算机科学问题,224页PDF
专知会员服务
56+阅读 · 2019年12月31日
相关资讯
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
你必须知道的六个深度炼丹好习惯
GAN生成式对抗网络
9+阅读 · 2019年5月16日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
AI 玩跳一跳的正确姿势,跳一跳 Auto-Jump 算法详解
Python开发者
5+阅读 · 2018年1月16日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
iOS高级调试&逆向技术
CocoaChina
3+阅读 · 2017年7月30日
相关论文
Arxiv
38+阅读 · 2020年3月10日
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Arxiv
136+阅读 · 2018年10月8日
Arxiv
9+阅读 · 2018年1月4日
Top
微信扫码咨询专知VIP会员