内容导读:导航目录:1、一个黑客入侵了我的电脑,让我丢失了大量的文件与应用程序,我改怎么办?如何反击?2、怎样破解黑客的攻击3、如何攻破软件4、如果黑客入侵了我的电脑,我要怎么攻克···?5、黑客入侵的手法包括哪几种.???...……
导航目录:
- 1、一个黑客入侵了我的电脑,让我丢失了大量的文件与应用程序,我改怎么办?如何反击?
- 2、怎样破解黑客的攻击
- 3、如何攻破软件
- 4、如果黑客入侵了我的电脑,我要怎么攻克···?
- 5、黑客入侵的手法包括哪几种.????..````
- 6、如何应对黑客
一个黑客入侵了我的电脑,让我丢失了大量的文件与应用程序,我改怎么办?如何反击?
1. Administrator账号要看好
Administrator账号是系统的管理员账号,在默认情况下系统没有对它设置密码,而其这样的弱口令,很容易被黑客检测并破解,所以为了你的系统安全,请给其账号设置强壮的安全密码。
步骤1.首先在操作系统桌面里,右击“我的电脑”标签,选择“管理”选项,然后在弹出的“计算机管理”对话框内,依次展开左侧“系统管理→本地用户和组→用户”选项,接着在其侧右击“Administrator”横条项,在显示的快捷菜单里,选择“设置密码”选项,然后按照里面相关提示,输入强壮的安全密码即可。
步骤2.设置Administrator用户的权限限制,因为Administrator超级用户拥有的权限太大,万一被黑客破解成功,就会很容易连累到其他账户。所以这里在账户列表右击“Administrator”标签,选择“重命名”选项后,将其名称更改为任意名称,如CCC。然后新建立一个Administrator受限用户,即使以后该用户被攻破,也不会牵连到其他账户。
步骤3.当然最安全的 *** ,莫过于是让其用户永远消失,这样黑客的破解自然也就失去了意义。具体删除 *** 如下:打开“注册表编辑器”对话框,依次展开左侧主件到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users下,并将其下的[000001F4]和HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Administrator键值删除,然后重新启动一下计算机,Administrator超级用户即可消失的无影无踪。
二、关闭不用的端口和共享服务
每一项服务都对应相应的端口,比如众如周知的WWW服务的端口是80端口, *** tp服务是25端口,ftp服务是21端口。在win2000安装中,默认情况下这些服务都是自动开启的。对于个人用户来说有些服务根本都用不上,开启反而会引起黑客的注意,所以我们可以把无用的端口服务关闭掉。
1.关闭无用的端口服务
步骤1.打开“控制面板”对话框,依次进入到“ *** 和Internet连接”→“ *** 连接”窗口。在弹出的“ *** 连接”对话框内,右击“本地连接”标签,选择“属性”选项,在其列表内选择“Internet协议(TCP/IP)标签”后,点击下方“属性”按钮,会弹出“Internet协议(TCP/IP)”对话框。
步骤2.点击“高级”按钮,在显示的高级TCP/IP设置里,将上方标签切换至“选项”标签处,然后在单击里面“属性”按钮,弹出“TCP/IP筛选”对话框。
步骤3.勾选“启用TCP/IP筛选(所有适配器)复选框,如果你想开放112端口,就在TCP端口上选择“只允许”选项,点击“添加”按钮。在弹出的“添加筛选器”对话框内,输入要添加的112端口,UDP端口设置同上,这样黑客要想入侵,必须得从你所允许开放的端口里侵入,其他关闭端口是无法入侵的。
2.关闭共享服务
步骤1.为了能快速关闭驱动器和系统目录共享,这里打开“注册表编辑器”对话框,将其左侧组件依次展开到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters下,然后双击右侧的“Autoshareserver”键值,在弹出的对话框内,将数值数据里的1,更改成0后,单击“确定”按钮,使设置生效。如果右侧键值里没有“Autoshareserver”项,你可以自行建立一个其键值,并且数值数据里与前面一样更改成0。最后再将“Autosharewks”键值,里面的数值数据也更改成0。
步骤2.倘若系统内有共享目录,可在其共享目录上方右击,选择“共享安全”选项后,在将其共享去除。
步骤3. 为了防止黑客利用共享入侵,我们只需家其共享服务关闭即可避免,打开“控制面板”对话框,双击里面“管理工具”标签。在弹出的对话框内,依次展开“服务和应用程序”→“服务”选项,然后从中找到server服务选项双击进入,将里面的启动类型更改为“已禁用”,最后重新启动一下计算机,就可将共享服务关闭了。
怎样破解黑客的攻击
防止黑客的攻击需要对电脑做好防护
.推荐防火墙:风云防火墙
.防黑客功能强大
.推荐杀软:小红伞
性能强悍
.
谢谢采纳
如何攻破软件
如何攻破软件 James A.Whittaker 摘要 本文讨论一系列用于发现软件设计与开发中的缺陷的 *** (所谓的“攻击”)。这些攻击 都是手工、探索性的测试方式,设计和执行都是动态的、几乎不需要额外开销。这些攻击是 经过对上百个真实的软件缺陷进行研究并且抽象出他们的成因和现象之后构造出来的。经过 佛罗里达理工学院软件测试方向的学员两个学期的细化分析,已经归纳了数十个旨在发现缺 陷的攻击策略。这些攻击策略被证明非常受用,已经发现了上百个额外的缺点——都是由这 些攻击策略直接导致的——在短时间内对产品几乎没有任何了解的情况下。本文介绍上述攻 击策略的一个子集并说明他们是如何在已发布产品中发现真实缺陷。 简介 是什么成就了一名优秀的测试人员?是什么样的天赋使他们对bug 如此敏感?这样的 能力是可以传授的吗? 这些问题就是本文的主旨。我相信优秀的测试人员更多是后天造就而不是先天生成的, 事实上,多年下来许多测试人员自己似乎积累了一个攻击策略的标准库。每当他们面临测试 难题时就会重组手头的攻击策略,从而总是能够发现缺陷。尽管这些攻击策略很少被记录下 来,它们确确实实在手工测试和测试传承中扮演着重要的角色。 通过对真实的测试人员和现实缺陷的研究,我们开始着手文档化这一财富。在本文中, 我们探索来自于该项工程的一部分成果。下一个挑战是对这些攻击施行自动化,找到有效使 用的具体策略。 攻击无异于以下三个大类: 输入/输出攻击 数据攻击 运算攻击 每个类型中都有特定类型的攻击,它们导致十分有趣的软件故障。在之后的部分我以具 体的缺陷为例介绍每个大类下的攻击类型。涉及到的bug 都来自于微软公司的产品。我认为 这不该被看作是一种反微软的行为。事实上,它作为软件行业霸主的事实使它自然而然地成 为了“众矢之的”。但不能就这样认为微软的产品相对于其他软件产商有更多的缺陷。本文 中提到的攻击策略几乎成功攻击过许多公司的软件产品,这些产品运行在你可以想到的任何 平台上。我的经验表明,不管开发人员开发的应用产品域是什么、使用的操作系统有什么差 异亦或是否发布源码,他们都在高频度地制造bugs。如果他们是web 开发人员,那就更不 用费心了,因为web 程序本身非常容易崩溃。 输入/输出攻击 针对输入/输出的攻击就是测试人员所说的“黑盒”测试,因为不需要任何有关内部数 据或计算的信息来支持测试执行。事实上,这是测试中最常见的一种,因为阅读源码不仅乏 味、费时,并且通常收益甚微,除非你知道自己到底在寻找什么类型的bug(我们将在接下 来的两部分内容里讨论什么是你应该试图寻找的)。 输入/输出攻击 单一输入攻击 迫使所有的报错信息出现 强制指定默认值 尝试所有可用的字符集 迫使输出区域大小改变 引发显示区域溢出 迫使屏幕刷新问题出现 输入值组合攻击 迫使无效输出出现 找出不能共存的输入值组合 输入序列攻击 迫使无效输出出现 多次重复同样的输入序列 单一输入攻击 这一类攻击是对使用单一输入(从变量输入的角度来说)的行为进行的检查。我们试图 发现在大部分数据都正常工作的情况下由一个单一的输入导致应用崩溃的情况。其实除了单 单从边界值上考虑以外还有很多别的方式来选择输入用例,特别是当你希望找到真正被开发 认可的bug,而不是仅仅作为未定义的需求而忽略掉。 首先给出一些看 似简单但不易施行的 建议: 确保所有的报错信息 都出现一遍。 不能使程序正常 地中止或结束的通常 就是所谓的bug。很多 报错信息仅仅是迫使程序停止来显示一条报错信息,然后接着执行下一条输入或者直到定时 器超时而已。但是,也有其他一些报错信息则是来自于被程序抛出和异常处理器被执行引发 的异常。异常处理器(或中央错误处理线程)因其指针突然改变而数据状态不产生相应变化, 通常会存在问题。异常处理器执行的瞬间,各种各样的数据问题接踵而至:文件未关闭、内 存未释放、数据未初始化。当控制重新回到主线程,很难判断错误处理器是在什么时刻被调 用,又会有怎样的遗留问题在等待粗心大意的开发人员:因为文件没有关闭导致打开文件失 败、在没有初始化前就开始使用数据。如果我们能确保在所有的报错信息都出现过之后系统 依然正常工作,那么也算是为用户省去了不少麻烦(更不用说我们的维护工程师了)。 图1 展示了我的学生在微软 Word 2000 中发现的一个有趣的bug,一条错误提示不知为 何连续出现了两次。这个bug 是在通过单一输入攻击错误处理线程的过程中发现的。 确保软件指定默认值。 开发人员通常不记得在用户输入越界或给参数设置不合理的值时指定默认的值。有时候 强制设立默认值意味着什么也不做——然而正因为想不到,这一举措甚至难倒了优秀的开发 人员。例如,在Word 2000 中,如下对话框中有一个选择框,当不对其做任何修改时再次打 开对话框,该控件将消失。对比左右图片中的对话框。你发现什么控件消失了吗? 有的时候指定默认值需要先改变值的当前设定,然后将其设定为一个不合理的值。这种 连续的转换保证了再转换成其他可用的值前是经过设置默认值。 尝试输入变量的所有可用的字符集。 有的输入问题很简单,特别是当你使用了类似$,%,#,引号等等字符时,这些字符在 许多编程语言中有特殊意义并且作为输入被读入时通常需要特殊处理。如果开发人员未考虑 这种情况,则这些输入可能导致程序的失败。 通过改变输入内容的多少引发输出区域的改变。 聚焦于输出本身是一种发现bug 颇有成效但是极少使用的 *** 。其思想是:先假定一种 表现为bug 的输出或者行为,然后寻找能够导致这种现场产生的输入。以上所述的一个简单 的攻击例子就是通过改变输入值和输入字符串的长度来引发输出区域大小的重新计算。 一个很好的概念性例子是将时钟的时间设置为9:59,然后等待它转到10:00。一开始显 示区域是4 个字符长度而后来是5。反过来,我们设定时间为12:59(5 个字符),然后等待 其转变为1:00(4 个字符)。开发人员通常只会对初始化为空白的情况进行处理而不曾考虑 到显示区域已有数据的情况下如何更新该区域以显示不同长度的数据。 举个例子,PowerPoint 中的“艺术字”功能中有个有趣的bug。假定我们输入下图中的 一个长的字符串。 可以发现因为字符串太长,并不是整个字符串都能显示出来。但这不是问题的关键。点 击确认按钮时触发两个事件。首先,程序计算出需要的输出区域大小,然后将输入的文字填 充进去。现在,我们编辑该字符串,将它改为单个字符。 可以发现尽管现在只有单个字符,字体大小也没有改变,但显示区域大小却没有发生改 变。进一步看。如果再次编辑该字符串为多行的字符串,输出结果更有意思。 我想这部分已经介绍得比较清楚了,我们将进入下一部分。 确保对显示区域的边界的检查。 这是基于输出的另一种攻击思路,与之前的十分类似。然而,不同于之前着力于导致显 示区域内部出错,这次我们将精力集中在显示区域的外部。并且显示区域将不再重新计算显 示边界而仅仅是考虑边界溢出。 再以PowerPoint 为例,我们可以先画一个文本框,然后输入一个带上标的字符串。放 大该字符串的字体使上标的上半部分被截断。这一问题将连同之后的相关问题一起说明。 引发屏幕刷新问题。 这是使用windows 图形用户界面的用户会遇到的主要问题。对开发人员来说,更是一 个大问题:过度的刷新将导致程序变慢,而不刷新又会导致大大小小的问题,小至要求用户 强制刷新,大到导致用户的操作失败。 通常通过在屏幕上添加、删除和移动元素来触发页面刷新。这将导致背景重新绘制,如 果页面不能正确、及时地作出相应,那么这就是通常意义上的bug。其中,尝试变化所移动 的元素的距离是一种较好的方式,可以移动一点点,接着移动一大截,移动一两次,接着移 动很多次。 接着说回上面例子中的带上标的字符串,试着每次用鼠标拖动它移动一些距离,就会发 现令人讨厌的问题,如下图所示。 在Office 2000 中 经常出现的另一个与 屏幕刷新相关的问题 是文本的异常消失。 这一讨厌的问题在 Word 的页面边界附近 出现。 输入值组合攻击 第二类输入/输出 bug 主要针对多个共 同作用或相互影响的输入。例如,一个通过两个参数调用的API,其中一个参数的取值建立 在另一个参数取值的基础上。通常,bug 正是出在值组合上,因为代码的逻辑关系复杂。 找出不能共存的输入值的组合。 那么哪些值的组合是有问题的?这个问题目前还处于积极研究中,但是我们已经找到了 一个特别有效地 *** ,那就是先确定期望获得的输出,然后试着去找到对应的输入值的组合。 尝试产生无效的输出。 这是一种适用于测试人员对问题域十分清楚的有效攻击 *** 。例如,当你在测试一个计 算器并且清楚部分功能点的结果有限制时,试图找到超出范围的结果所对应的输入值组合是 值得的。但是,如果你不熟悉数学,那么这种努力很可能是浪费时间——你甚至可能将一个 不正确的结果当成正确的。 有时候windows 本身会给出提示,告诉你哪些输入是相互关联的。此时,测试人员可 以去测试这些值的范围,并且尝试触犯既定的关系。 输入序列攻击 软件中的输入就像一种正式的语言。单一的输入相当于组成语言的字母,输入的字符串 类似构成语言的句子。其中一些句子应该通过控件和输入区域的启用与禁用被过滤。通过尽 可能多地输入字符串、改变输入的顺序来测试这种问题。 选择导致无效输出的输入序列。 和上文描述这是一种找到问题输入组合的好 *** 一样,这同样是找出有问题的输入序列 的好 *** 。例如,当我们发现了Office 2000 中的一个导致文本消失的问题后,对PowerPoint 幻灯片中标题文本框进行攻击。如下的一组屏幕截图再现了一个特定的输入序列是如何导致 文本消失的。 有趣的是仅仅将文本框旋转180 度并不能发现这个bug。必须按照这样的操作顺序:旋 转180 度后,再旋转10 度(或者更多)。逆向执行以上操作并不能修正这一问题,每当点击 标题外部区域,该标题内容就会消失。 改变输入的顺序之所以善于发现bug 是因为很多操作自身成功执行的同时会遗留很多 问题,它们将导致之后的操作失败。对输入序列进行彻底的检查会暴露出很多这样的问题。 然而有时候,下面这种攻击表明:为了发现bug,根本不需要使用多种多样的输入序列。 多次重复同样的输入序列。 这种方式会对资源造成大规模占用,并且对存储数据空间造成压力,当然也包括发现其 他负面的遗留问题。遗憾的是,大多数应用程序并不清楚自身空间和时间的限制,而许多开 发人员倾向于假定资源总是足够可用的。 在Word 的公式编辑器中可以找到这方面的一个例子,程序本身似乎并不清楚它只能处 理10 层嵌套括号的计算。 数据攻击 数据是软件的命脉;如果你设法破坏了它,那么程序将不得不使用被破坏的数据,这之 后得到的就不是合理的结果。所以理解数据是如何、在何处建立是必要的。 从本质上讲,数据的存储是通过读取输入,然后将其存储在内部或者存储一些内部计算 的结果来实现的。因此,测试正是通过提供输入和执行计算来实现数据在应用程序中的传递。 数据攻击遵循以下简单原则。 数据攻击 变量值攻击 1.存储不正确的数据类型 2.使数据值超过允许的范围 数据单元大小攻击 3.溢出输入缓冲区 4.存储过多的值 5.存储太少的值 数据访问攻击 6.找出同一数据的不同修改方式 变量值攻击 这一类的攻击需要对内部存储的数据对象的数据类型和合法值进行检查。如果有对源码 的权限则这些信息可以轻易得到,但是,通过小小的探索性测试和对错误信息的关注也可以 确定大致的类型信息。 改变输入的数据类型来找出不匹配的类型。 在需要整数的区域输入字符(和类似的攻击)已经被证明十分有效,但随着现代编程语 言对类型检查和类型转换的处理变得容易,我们发现这样的攻击相对之前已经不再那么有 效。 使数据值超过允许的范围。 被存储的变量数据和输入的变量数据一样,这样的攻击方式同样适用。 数据单元大小攻击 第二类数据攻击旨在触发数据结构的溢出和下溢。换句话说。攻击试图打破预先设定的 数据对象的大小限制。 首先要说的就是典型的缓冲区溢出。 溢出输入缓冲区。 此处通过输入长字符串导致输入缓冲区溢出。这是黑客们偏好的攻击方式,因为有时候 应用程序在崩溃之后会继续执行进程。若一名黑客将一段可执行代码附在一个长字符串中输 入,程序很可能执行这段代码。 在Word 2000 中的一个缓冲区溢出问题就是这样一个可被利用的bug。此bug 被发现在 查找/替换功能中,如下所示。有趣的是,“查找”这一字段被合理地加以限制而“替换”没 有。 同一数据结构 存储过多的值。 复杂地数 据结构诸如数 组、矩阵和列表 在测试中不仅 仅要考虑存储 在其中的数值, 还要考虑存储 值的数目。 同一数据结构 存储过少的值。 当数据结 构允许增加和 删除信息时,通 常在做了n-1 次增加的同时穿插着或在其之后做n 次删除操作会导致攻击成功。 数据访问攻击 我的朋友Alan Jorgensen 喜欢用“右手不明左手所为”这句话来形容这一类bug。道理 很简单,但开发人员却常倒在这一类攻击下:在很多程序中通常任何任务都能通过多种途径 完成。对测试人员来说,这意味着同一个函数可以由多个入口来调用,这些入口都必须确保 该函数的初始条件得到满足。 一个极好的例子是我的学生在PowerPoint 中发现的表格数据大小相关的崩溃性bug。创 建表格时更大尺寸被限定为25×25。然而,可以创建一个25×25 的表格,然后为其添加行 和列——导致应用程序崩溃。这就是说,程序一方面不允许26×26 的表格存在而另一方面 却并不清楚这个规则的存在。 运算攻击 运算攻击 操作数攻击 使用非法操作数进行运算 找出非法操作数组合 结果攻击 使运算结果过大 使运算结果过小 功能相互作用攻击 找出共享数据不佳的功能 操作数攻击 这类攻击需要知道在一个或更多内部运算中操作数的数据类型和可用的值。如果有源码 权限则这些信息可以轻易获得。否则,测试人员必须尽更大努力去弄清楚正在进行的运算具 体是什么、使用的是什么数据类型。 触发由非法操作数引起的运算。 有时候输入或存储的数据处于合法的范围之中,但是在某些运算类型中却是非法的。被 0 除就是一个很好的例子。0 是一个合法的整数,但作为除法运算的除数却是非法的。 找出不能共存的操作数的组合。 涉及到一个以上操作数的运算不仅受制于上面的攻击,同时存在操作数冲突的可能性。 结果攻击 第二类运算攻击旨在造成存储运算结果的数据对象的溢出和下溢。 试图造成运算结果过大而存储失败。 就算是简单如y=x+1 这样的运算在数值边界上也常出问题。如果x 和y 都是2 比特的 整数并且x 的值为32768,则这一运算将失败,因为结果将会造成存储溢出。 试图造成运算结果过小而存储失败。 和上文相同,不同的是使用y=x-1 并且使x 的值为-32767。 功能相互作用攻击 文章中讨论的这最后一类攻击或许算是所有种类的鼻祖,可以用来区分测试菜鸟和专业 人员:功能的相互作用。问题没有什么新意:不同的应用程序功能共享同一数据空间。两种 功能的相互作用导致应用程序失败,不是因为对数据处理的设定不同,就是因为产生了不良 副作用。 但是哪些功能共享数据并且能够在冲突情况下实现数据转化目前还是测试领域中一个 开放的问题。目前我们正停留在不断地尝试阶段。下面这个例子足以说明情况。 这个例子给出了在Word 2000 中的同一页面上合并脚注和双列时出现的一个出人意料 的结果。问题在于:Word 从注释的引用点计算脚注的页面宽度。所以,若同一页面上存在 两条脚注,一条被处于双列位置的内容所引用,另一条则被处于单列位置的内容所引用,单 列脚注会将双列脚注挤到下一页面。同时被挤掉的还有引用点至页面底部间的文本。 下面的屏幕 截图形象地 说明了问题。 第二列的文 本 去 哪 里 了?连同脚 注一起处在 下一页。你会 任由文档像 这 样 显 示 吗?在找到解决 *** (这意味着你得花时间去整理)前你将不得不忍受这一现状。 结论 简单遍历一遍上面罗列的21种攻击策略可以覆盖应用程序的大部分功能。事实上,施行 一次成功的攻击通常意味着尝试各种可能性,走过很多死胡同。但是仅仅因为部分这一类探 索性 *** 发现不了bug并不意味着它们没有用。首先,这段时间使用应用程序帮助测试人员 熟悉程序的各种功能,从而产生新的攻击思路。其次,测试通过是好的消息!它们表明,产 品是可靠的:尤其当这组测试是上面所说的恶意攻击。如果代码可以承受这样的测试过程, 它几乎可以应对用户作出的任何操作。 另外,永远不要低估了测试时怀揣一个具体目标的作用。我见过太多测试人员把时间浪 费在毫无目的地输入或者随机地调用API试图导致软件出错。实行测试意味着制定明确的目 标——基于会出错的点——然后设计测试用例来实践该目标。这样,每个测试用例都有目的 性并且进度可以被随时控制。 最后,记住,测试应该是有趣的。攻击这一比喻正是对测试的这一特性很好的诠释并且 还为愉快的消遣时光添加了些许作料。狩猎愉快!
如果黑客入侵了我的电脑,我要怎么攻克···?
看到本信息我特意上百度给你回答,因为我刚看到自己的系统墙被关了,首先呢,楼上说的都是口水话,什么重装系统的呀,那都是放屁的,没那么夸张,随便中了点小毒就叫人重装系统,如果黑客入侵了你的电脑(加装有防火墙和打上补丁的机器,一般黑客是攻不进的),假如你没装也没打,你也发现不了别人入侵你. 凡是上网的机器都要有,杀软和防火墙,不然你机器必成肉鸡,当发现有人入侵你的时候应该立刻断掉 *** ,看看防火墙有没被关闭.最应该都是装个好点的防火墙,瑞星,天网的都不错!
黑客入侵的手法包括哪几种.????..````
黑客入侵的手法包括1)瞒天过海 (2)趁火打劫 (3)无中生有 (4)暗渡陈仓 (5)舌里藏刀 (6)顺手牵羊 (7)供尸还魂 (8)调虎离山 (9)抛砖引玉 (10)湿水摸鱼 (11)远交近攻 (12)偷梁换柱 (13)反客为主。黑客常有连环计,防不胜防,不可不小心。
1、瞒天过海,数据驱动攻击
当有些表面看来无害的特殊程序在被发送或复制到 *** 主机上并被执行发起攻击时,就会发生数据驱动攻击。例如:一种数据驱动的攻击可以造成一台主机修改与 *** 安全有关的文件,从而使黑客下一次更容易入侵该系统。
2、趁火打劫,系统文件非法利用
UNIX系统可执行文件的目录,如/bin/who可由所有的用户进行读访问。有些用户可以从可执行文件中得到其版本号,从而结合已公布的资料知道系统会具有什么样的漏洞。如通过Telnet指令操行就可以知道Sendmail的版本号。禁止对可执文件的访问虽不能防止黑客对它们的攻击,但至少可以使这种攻击变得更困难。还有一些弱点是由配置文件、访问控制文件和缺省初始化文件产生的。最出名一个例子是:用来安装SunOS Version 4的软件,它创建了一个/rhosts文件,这个文件允许局域网(因特网)上的任何人,从任何地方取得对该主机的超级用户特权。当然,最初这个文件的设置是为了从网上方便地进行安装,而不需超级用户的允许和检查。智者千虑,必有一失,操作系统设计的漏洞为黑客开户了后门,针对WIN95/WIN NT一系列具体攻击就是很好的实例。
3、无中生有,伪造信息攻击
通过发送伪造的路由信息,构造系统源主机和目标主机的虚假路径,从而使流向目标主机的数据包均经过攻击者的系统主机。这样就给人提供敏感的信息和有用的密码。
4、暗渡陈仓,针对信息协议弱点攻击
IP地址的源路径选项允许IP数据包自己选择一条通往系统目的主机的路径。设想攻击者试图与防火墙后面的一个不可到达主机A连接。他只需要在送出的请求报文中设置IP源路径选项,使报文有一个目的地址指向防火墙,而最终地址是主机A。当报文到达防火墙时被允许通过,因为它指向防火墙而不是主机A。防火墙的IP层处理该报文的源路径被改变,并发送到内部网上,报文就这样到达了不可到达的主机A。
5、笑里藏刀,远端操纵
缺省的登录界面(shell scripts)、配置和客户文件是另个问题区域,它们提供了一个简单的 *** 来配置一个程序的执行环境。这有时会引起远端操纵攻击:在被攻击主机上启动一个可执行程序,该程序显示一个伪造的登录界面。当用户在这个伪装的界面上输入登录信息(用户名、密码等)后,该程序将用户输入的信息传送到攻击者主机,然后关闭界面给出“系统故障”的提示信息,要求用户重新登录。此后才会出现真正的登录界面。在我们能够得到新一代更加完善的操作系统版本之前,类似的攻击仍会发生。防火墙的一个重要作用就是防止非法用户登录到受保护网的主机上。例如可以在进行报文过滤时,禁止外部主机Telnet登录到内部主机上。
6、顺手牵羊,利用系统管理员失误攻击
*** 安全的重要因素之一就是人! 无数历史事实表明:保垒最容易从内攻破。因而人为的失误,如WWW服务器系统的配置差错,普通用户使用户使用权限扩大,这样就给黑客造成了可趁之机。黑客常利用系统管理员的失误,收集攻击信息。如用finger、netstat、arp、mail、grep等命令和一些黑客工具软件。
7、借尸还魂,重新发送(REPLAY)攻击
收集特定的IP数据包;篡改其数据,然后再一一重新发送,欺骗接收的主机。
8、调虎离山,声东击西
对ICMP报文的攻击,尽管比较困难,黑客们有时也使用ICMP报文进行攻击。重定向消息可以改变路由列表,路由器可以根据这些消息建议主机走另一条更好的路径。攻击者可以有效地利用重定向消息把连接转向一个不可靠的主机或路径,或使所有报文通过一个不可靠主机来转发。对付这种威肋的 *** 是对所有ICMP重定向报文进行过滤,有的路由软件可对此进行配置。单纯地抛弃所有重定向报文是不可取的:主机和路由器常常会用到它们,如一个路器发生故障时。
9、抛砖引玉,针对源路径选项的弱点攻击
强制报文通过一个特定的路径到达目的主机。这样的报文可以用来攻陷防火墙和欺骗主机。一个外部攻击者可以传送一个具有内部主机地址的源路径报文。服务器会相信这个报文并对攻击者发回答报文,因为这是IP的源路径选项要求。对付这种攻击更好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。
10、混水摸鱼,以太网广播攻击
将以太网接口置为乱模式(promiscuous),截获局部范围的所有数据包,为我所用。
11、远交近攻,跳跃式攻击
现在许多因特网上的站点使用UNIX操作系统。黑客们会设法先登录到一台UNIX的主机上,通过该操作系统的漏洞来取得系统特权,然后再以此为据点访问其余主机,这被称为跳跃(Island-hopping)。
黑客们在达到目的主机之前往往会这样跳几次。例如一个在美国黑客在进入美联邦调查局的 *** 之前,可能会先登录到亚洲的一台主机上,再从那里登录到加拿大的一台主机,然后再跳到欧洲,最后从法国的一台主机向联邦调查局发起攻击。这样被攻击 *** 即使发现了黑客是从何处向自己发起了攻击,管理人员也很难顺藤摸瓜找回去,更何况黑客在取得某台主机的系统特权后,可以在退出时删掉系统日志,把“藤”割断。你只要能够登录到UNIX系统上,就能相对容易成为超级用户,这使得它同时成为黑客和安全专家们的关注点。
12、偷梁换柱,窃取TCP协议连接
*** 互连协议也存在许多易受攻击的地方。而且互连协议的最初产生本来就是为了更方便信息的交流,因此设计者对安全方面很少甚至不去考虑。针对安全协议的分析成为攻击的最历害一招。
在几乎所有由UNIX实现的协议族中,存在着一个久为人知的漏洞,这个漏沿使得窃取TCP连接成为可能。当TCP连接正在建立时,服务器用一个含有初始序列号的答报文来确认用户请求。这个序列号无特殊要求,只要是唯一的就可以了。客户端收到回答后,再对其确认一次,连接便建立了。TCP协议规范要求每秒更换序列号25万次。但大多数的UNIX系统实际更换频率远小于此数量,而且下一次更换的数字往往是可以预知的。而黑客正是有这种可预知服务器初始序列号的能力使得攻击可以完成。唯一可以防治这种攻击的 *** 是使初始序列号的产生更具有随机性。最安全的解决 *** 是用加密算法产生初始序列号。额外的CPU运算负载对现在的硬件速度来说是可以忽略的。
13、反客为主,夺取系统控制权
在UNIX系统下,太多的文件是只能由超级用户拥有,而很少是可以由某一类用户所有,这使得管理员必须在root下进行各种操作,这种做法并不是很安全的。黑客攻击首要对象就是root,最常受到攻击的目标是超级用户Password。严格来说,UNIX下的用户密码是没有加密的,它只是作为DES算法加密一个常用字符串的密钥。现在出现了许多用来解密的软件工具,它们利用CPU的高速度究尽式搜索密码。攻击一旦成功,黑客就会成为UNIX系统中的皇帝。因此,将系统中的权利进行三权分立,如果设定邮件系统管理员管理,那么邮件系统邮件管理员可以在不具有超级用户特权的情况下很好地管理邮件系统,这会使系统安全很多。
此外,攻击者攻破系统后,常使用金蝉脱壳之计删除系统运行日志,使自己不被系统管理员发现,便以后东山再起。故有用兵之道,以计为首之说,作为 *** 攻击者会竭尽一切可能的 *** ,使用各种计谋来攻击目标系统。这就是所谓的三十六计中的连环计。
如何应对黑客
黑客攻击的类型及拦截方式:
黑客可以采取多种不同的攻击方式部分或全部控制一个网站。一般来说,最常见和最危险的是SQL植入(injection)和跨站点脚本(XSS,cross-site scripting ) 。
SQL植入是一种在 *** 应用程序中植入恶意代码的技术,它利用数据库层面的安全漏洞以达到非法控制数据库目的。这种技术非常强大,它可以操纵网址(查询字符串)或其他任何形式(搜索,登录,电子邮件注册)以植入恶意代码。您可以在 *** 应用安全联盟(英文)中找到一些关于SQL植入的例子。
为避免此类黑客攻击的发生的确有法可循。举例来说,在前端界面和后端数据库之间增加一个“中间层”就是一种很好的做法。在PHP中,PDO(PHP Data Objects)扩展通常与参数(有时被称作placeholder或绑定变量)共同发生作用,而不是直接将用户输入做为命令语句。另一种极为简单的技术 是字符转义,通过这种方式,所有可以直接影响数据库结构的危险字符都可以被转义。例如,参数中每出现一个单引号〔 ‘ 〕必须代之以两个单引号〔 ’ ‘ 〕来形成一个有效的SQL字符串。这只是两种您可以采取的、最常见的用以改进网站安全并避免SQL植入的有效方式。您还可以在网上找到许多其他符合您需求的资源(编程语言,具体的Web应用程序等)。
下面我们要介绍的是跨站点脚本( XSS )技术 。跨站点脚本是一种通过利用 *** 应用程序层面的安全漏洞,在网页中植入恶意代码的技术。当 *** 应用程序处理通过用户输入获得的数据,并且在返回给最终用户前没有任何进一步的检查或验证时,这种攻击就可能发生。您可以在 *** 应用安全联盟(英文)中找到一些跨站点脚本的例子。
有许多办法可以确保 *** 应用程序不被这种技术侵犯。一些简便易行的 *** 包括:
剔除可以 *** 入到表单中的数据输入(例如,PHP中的strip tags功能);
利用数据编码,避免潜在恶意字符的直接植入(例如,PHP中的htmlspecialchars功能);
在数据输入和数据库端之间创建一个“层”,以避免应用程序代码被直接植入恶意字符。
一些有关CMSs安全的资源:
SQL植入和跨站点脚本只不过是黑客用来攻击和利用无辜网站的多种技术中的其中两种。作为一般的安全准则,在 *** 安全问题上特别是在使用第三方软件时,一直保持更新以确保您安装了最新版本的软件是非常重要的。许多围绕大型建站社区建设的 *** 应用程序都提供持续的支持和软件升级。