码迷,mamicode.com
首页 > 其他好文 > 详细

一次简单缓冲区溢出过程的记录

时间:2016-04-29 20:23:57      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:linux   执行文件   缓冲区   

  这次缓冲区溢出是在实验楼上实现的。关于步骤的问题,就不说了,给一个实验步骤的地址。

  在这次缓冲区溢出的实验中,出现了以下问题:

  1. 如何知道操作系统是32位的还是64位的?

  2. 当使用地址空间随机化来分配堆和栈的初始地址时,应该如何猜解内存地址?

  3. Linux系统在缓冲区溢出和其它的shell攻击上进行了防范,应该如何突破这个问题?

  4. 实验步骤中给定的shellcode的原理是什么?

  5. 攻击程序中的"\90\90"的数量对程序是否有影响?有的话,有什么影响?

  6. GDB调试时的命令都是什么作用?

  7. GCC编译时的命令作用?

  8. 缓冲区溢出攻击的原理?

  9. 如何在远程登录不知道root密码的电脑上实现该过程?


第一个问题:

  当登录到一台linux主机时,我们可以采用这些方法来查看主机是32位还是64位(此处引用其他博客的内容)。


第二个问题、第三个问题:

  暂时还没学会,希望会的大牛们给与适当的指引。


第四个问题:实验步骤中的shellcode的原理?

  这段shellcode代码的重点在于name数组,name数组中存储了可执行文件的路径:/bin/bash和可执行文件:/bin/bash。execve()函数的执行过程:创建一个子进程,子进程没有环境变量且在"/bin/bash"路径下,执行"/bin/bash"命令。

  但是,这段代码的功能是什么?为什么这样写?希望懂得大神可以解释一下。


第五个问题:exploit.c程序中的"\90"数量有没有影响?

  这个问题的答案可以在实验之后给出,答案就留给想实践的人去寻找了。


第六个问题:GDB调试命令的作用?

  GDB调试命令总结。关于一些不太一样的地方,请参考用户手册。

第七个问题:GCC编译时的命令的作用?

  GCC选项简介

第八个问题:缓冲区溢出的原理?

  在《0day安全:软件漏洞分析技术》一书中有详细解释。之后总结。

第九个问题:如何在远程登录不知道root密码的电脑上实现该过程?

  暂时不会,希望大神指点。

本文出自 “execute” 博客,请务必保留此出处http://executer.blog.51cto.com/10404661/1768933

一次简单缓冲区溢出过程的记录

标签:linux   执行文件   缓冲区   

原文地址:http://executer.blog.51cto.com/10404661/1768933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!