免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1028 | 回复: 4
打印 上一主题 下一主题

自由飞翔Linux讲座之学习心得(一定要看哦) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-02-25 17:39 |只看该作者 |倒序浏览
工作很紧张所以没有把想法组织的有逻辑性。
但我还是想大家说:
        一个人思想决定这个人的行为,一个人的行为决定这个人的成就。
                                        --meshuode

希望大家通过下边的一些话体会体会。:)
--------------------------------------------------------------------
警告:
*在好的老师也不能把偷懒的学生教会,学习是自己的事情不要依靠老师。
*最好的例子是世界上富豪排名时没有哪个老师榜上有名的。:)
--------------------------------------------------------------------
{你为什么学习计算机?}
这个问题看似简单,但却是很多计算机爱好者的致命弱点。
很多人把宝贵的时间和精力浪费在这山与那山之间的路上。
{你认为学到什么层次才算学明白?}
{你想学习什么?}
1.有目标,出手才更有力。
2.计算机什么都能做,而你却不是什么都能学。
3.软硬相容。不是不求甚解,但要有一个度。
4.学原理精髓,用细枝末节。学以至用,用精所学。
5.学习二进制的规则永远不是高手。高手是制定和突破规则的人。

=
===
==
=====
====
=========
===========
          

论坛徽章:
0
2 [报告]
发表于 2004-02-25 17:46 |只看该作者

自由飞翔Linux讲座之学习心得(一定要看哦)

1/资料---阅读---实验
2/讲解回答---排除问题-----经验
3/讨论---灵活使用---研究原理---加强改进运用

今天很抱歉不能及时发资料,在晚些时候补上。
以后会在这个贴上发表。

论坛徽章:
0
3 [报告]
发表于 2005-02-28 22:03 |只看该作者

自由飞翔Linux讲座之学习心得(一定要看哦)

续帖间隔了一年,这时间好象是有点长.\
本来当初是要传一些资料的.但现在看来没有必要了.
现在,网上有够多很丰富的了.
在这里我希望我给出的一些路线能帮助大家走一些捷径.

(我个人比较推崇oreilly出的书籍)
这是在oreilly网站上给出以oreilly出的书籍为基础的学习路线:
http://www.oreilly.com.cn/guide/guide_linux.php

在有一些补充的如下:

网络:《tcp/ip祥解》(共三卷),建议在管理的角度只看卷一就可以.
       《用TCP/IP进行网际互联》(共三卷).
       以上两部书籍都是经典中的经典,当然在加上rfc文档.(tcp/ip祥解的作者
       我的偶像,可惜!天妒英才!:  大家有机会读读他的其他巨作.)
       推荐再加上一个CCNA。(为什么呢?就是它可以让你从宏观上认识到你上边学的tcp/ip协议栈在       网络里到底起的是什么作用,另外,这方面的资料国内很全。)
系统管理:perl/bash编程,我个人推荐学习perl。(管理为什么学编程?别问我,你看看各大公司招系统         管理是的条件就知道了。主要是系统的自动化。至于,书籍我推荐当然是oreilly出的“骆驼书        ”。为什么?你看了就知道了。)
内核:(现在很多人对这方面赶兴趣!好事!)
       《C专家编程》(一本关于C语言高级编程内容,在这里列出来当然也和内核有关。)
       《操作系统设计与实现》(第二版)
        《computer system a programmer`s perspective》(怎么说呢!对这书的评价就是“计算机扛       鼎之作”一点不假,想明白为什么吗?:)你看了就知道)
       我认为之上的两本书就是内核攻略,当然还有其他一些辅助资料。


我列出一些大家比较感兴趣的方面。虽说是捷径,但还是古人说的好:“书山有路,...”。
你知道的,什么才是真正的捷径。!

希望大家和我交流。QQ:410835558

论坛徽章:
0
4 [报告]
发表于 2005-03-01 14:47 |只看该作者

自由飞翔Linux讲座之学习心得(一定要看哦)

大家有些人对关于缓冲区溢出攻击问题比较模糊。
我想当你知道什么是缓冲区,怎么样溢出,缓冲区溢出后做什么?
这些道理你懂了以后,就会知道缓冲区溢出是不是限制特定的语言或是
应用程序的BUG了.

像典型C语言的缓冲区溢出例子[1],大部分使用strcpy()函数[2],为什么?
因为这个函数有BUG,不检查越界问题[3]。
所以,导缓冲区溢出攻击.针对这个例子,什么是缓冲区?缓冲区是调用这个
函数时候的堆栈(为临时变量分配空间)空间.怎么样溢出?由于不
检查越界问题,用原字符串(长的)复制给目标字符串(短的),
这样导致了原字符串(长的)覆盖了预先分配给目标字符串(短的)空间以后
的空间内容,当然,是用特定的值(一个跳转地址)覆盖了特定的位置(eip取值
的地方).缓冲区溢出后做什么?然后跳(上边溢出的结果)到事先准备的一段通
常叫做"shellcode"的代码段上执行.这个"shellcode"的作用可以和任何应
用程序一样,但是,这是理想的状态.实际由于受到空间的限制,通常"shellcode"比较小.

同样是perl的话,这个缓冲区溢出攻击问题比较少,因为,perl核心VM对越界问
题提供很好检查.

结合上边的说明,你可以考虑一下,如果有一个应用程序使用了C语言编写,并且,使用了
像strcpy()函数(不检查越界问题),然后由用户输入源字符串!
那我们认为这个程序的存在缓冲区溢出攻击问题。因为,一些恶意的用户可能精心布置一个
字符串作为源字符串输入给程序,那将导致程序被缓冲区溢出攻击!

上述还说明一个问题,就是"越界问题"基本是导致缓冲区溢出攻击一大诱因.
任何语言只要对"越界问题"检查比较松散的话,那这个语言容易遭受缓冲区溢出攻击。
但是,我们也要知道缓冲区溢出攻击其实是利用了语言,函数或者程序的BUG。
如果,你的程序不存在这样的BUG,那缓冲区溢出攻击是不可能产生的。



[1]
#include <stdio.h>;
#include <string.h>;
char src[] =
"jjjjjjjjjj==ADDR";
int main (void)
{
   char dest[8];
   strcpy (dest, src);
}
这个程序只是为了说明缓冲区溢出例子,我并没有实际测试过是否可以使用。
src字符串的组成可以包含"shellcode+溢出后用的跳转地址",这个src字符
串的长度在相对的条件下是固定的。还有"shellcode"和"跳转地址"是根据不同的语言,程序,系统等的不同而变化的,当然,这些内容到底是什么也就是
研究缓冲区溢出攻击的人,所研究的主要内容。
[2]char *_Cdecl strcpy (char *dest, const char *src);
这个是strcpy()的原型声明,这个函数声明在string.h这个头文件里边。
作用是把const char *src所指向的字符串,符值给char *dest所指向的地址空间。
[3]strcpy()不检查char *src所指向的字符串的长度是否超出
预留给char *dest所指向的地址空间。
[4]通常,我们把一个针对某BUG缓冲区溢出攻击的应用程序叫做"exploit"。

+++++++++++++++++++++++++++++++++++++++++++++
*强烈建议:
*如果你是对缓冲区溢出感兴趣的爱好者,才初步接触并感到很多困惑。
*推荐一本或许可以帮你解惑的书籍:《漏洞发掘的艺术》水电水利出版社
*定价:25元。
+++++++++++++++++++++++++++++++++++++++++++++

论坛徽章:
0
5 [报告]
发表于 2005-03-01 14:50 |只看该作者

自由飞翔Linux讲座之学习心得(一定要看哦)

原帖由 "jinbsd" 发表:
续帖间隔了一年,这时间好象是有点长.\
本来当初是要传一些资料的.但现在看来没有必要了.
现在,网上有够多很丰富的了.
在这里我希望我给出的一些路线能帮助大家走一些捷径.

(我个人比较推崇oreilly出的书籍)
..........


Thank you,I'm reading 《TCP/IP Protocol *》
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP