您的位置:首页 > 运维架构 > Linux

通过一个Linux漏洞学习Linux入门知识

2009-09-02 09:21 495 查看
通过这个案例,我们可以学习Linux中FTP操作、编译程序等常见操作。

在学生返校的大喜日子里,Linux爆出了一个通杀内核版本号在2.6 < 2.6.19的所有32位Linux。

下面展示一下这个漏洞的威力:

首先执行whoami看到当前用户是普通用户yangzhongke,使用gcc编译攻击C程序a.c,然后执行生成的可执行文件a.out,再执行whoami可以看到当前用户已经变成了Linux下的顶级管理员root,这样我们就可以为所欲为了。

注:这里测试使用的服务器是我内部的服务器,大家肯定连不上,想测试的同学可以参照如鹏网的Linux视频教学资料自己用虚拟机搭建一个Linux环境,详见http://www.rupeng.com/forum/forum-22-1.html

背景知识:

1、什么是缓冲区溢出漏洞

缓冲区是内存中存放数据的地方。在程序试图将数据放到机器内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出。而人为的溢出则是有一定企图的,攻击者写一个超过缓冲区长度的字符串,植入到缓冲区,然后再向一个有限空间的缓冲区中植入超长的字符串,这时可能会出现两个结果:一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;另一个结果就是利用这种漏洞可以执行任意指令,甚至可以取得系统root特级权限。

缓冲区是程序运行的时候机器内存中的一个连续块,它保存了给定类型的数据,随着动态分配变量会出现问题。大多时为了不占用太多的内存,一个有动态分配变量的程序在程序运行时才决定给它们分配多少内存。如果程序在动态分配缓冲区放入超长的数据,它就会溢出了。一个缓冲区溢出程序使用这个溢出的数据将汇编语言代码放到机器的内存里,通常是产生root权限的地方。仅仅单个的缓冲区溢出并不是问题的根本所在。但如果溢出送到能够以root权限运行命令的区域,一旦运行这些命令,那可就等于把机器拱手相让了。

详见:http://article.pchome.net/content-135165.html

2、whoami命令:

linux下查看当前运行用户名的命令

3、gcc命令

linux下编译c程序的命令



杨老师演示操作视频下载:http://down1.rupeng.com/download/other/linuxroot.zip

注意:本教程是帮同学们对Linux及网络攻击有感性认识,不是教大家用这些知识去从事违法活动。

如鹏网 http://www.rupeng.com 在校不迷茫,毕业即辉煌
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐