缓充区溢出是怎么回事,黑客是如何利用它入侵个人电脑的?
什么是缓冲区溢出
单的说就是程序对接受的输入数据没有进行有效的检测导致错误,后果可能造成程序崩溃或者执行攻击者的命令,详细的资料可以看unsecret.org的漏洞利用栏目 。
缓冲区溢出的概念
堆栈溢出(又称缓冲区溢出)攻击是最常用的黑客技术之一。我们知道,UNIX本身以及其上的许多应用程序都是用C语言编写的,C语言不检查缓冲区的边界。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区。这称作“堆栈溢出或缓冲溢出”。
一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误。但是,如果输入的数据是经过“黑客”精心设计的,覆盖堆栈的数据恰恰是黑客的入侵程序代码,黑客就获取了程序的控制权。如果该程序恰好是以root运行的,黑客就获得了root权限,然后他就可以编译黑客程序、留下入侵后门等,实施进一步地攻击。按照这种原理进行的黑客入侵就叫做“堆栈溢出攻击”。
为了便于理解,我们不妨打个比方。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——做适当的检查,看它们是否够大,能否完全装入新的内容——十磅的糖,结果可能造成缓冲区溢出的产生。如果打算被放进新地方的数据不适合,溢得到处都是,该数据也会制造很多麻烦。但是,如果缓冲区仅仅溢出,这只是一个问题。到此时为止,它还没有破坏性。当糖溢出时,柜台被盖住。可以把糖擦掉或用吸尘器吸走,还柜台本来面貌。与之相对的是,当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容。除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。
在丢失的信息里有能够被程序调用的子程序的列表信息,直到缓冲区溢出发生。另外,给那些子程序的信息——参数——也丢失了。这意味着程序不能得到足够的信息从子程序返回,以完成它的任务。就像一个人步行穿过沙漠。如果他依赖于他的足迹走回头路,当沙暴来袭抹去了这些痕迹时,他将迷失在沙漠中。这个问题比程序仅仅迷失方向严重多了。入侵者用精心编写的入侵代码(一种恶意程序)使缓冲区溢出,然后告诉程序依据预设的 *** 处理缓冲区,并且执行。此时的程序已经完全被入侵者操纵了。
入侵者经常改编现有的应用程序运行不同的程序。例如,一个入侵者能启动一个新的程序,发送秘密文件(支票本记录,口令文件,或财产清单)给入侵者的电子邮件。这就好像不仅仅是沙暴吹了脚印,而且后来者也会踩出新的脚印,将我们的迷路者领向不同的地方,他自己一无所知的地方。
缓冲区溢出的处理
你屋子里的门和窗户越少,入侵者进入的方式就越少……
由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。如果你没有源代码,从上面“堆栈溢出攻击”的原理可以看出,要防止此类攻击,我们可以:
1、开放程序时仔细检查溢出情况,不允许数据溢出缓冲区。由于编程和编程语言的原因,这非常困难,而且不适合大量已经在使用的程序;
2、使用检查堆栈溢出的编译器或者在程序中加入某些记号,以便程序运行时确认禁止黑客有意造成的溢出。问题是无法针对已有程序,对新程序来讲,需要修改编译器;
3、经常检查你的操作系统和应用程序提供商的站点,一旦发现他们提供的补丁程序,就马上下载并且应用在系统上,这是更好的 *** 。但是系统管理员总要比攻击者慢一步,如果这个有问题的软件是可选的,甚至是临时的,把它从你的系统中删除。举另外一个例子,你屋子里的门和窗户越少,入侵者进入的方式就越少。
黑客主要先从微软漏洞公布表上或者0days上找到漏洞,再根据漏洞编写溢出程序(好多都自带扫描功能)包括本地提权溢出,远程提权溢出.编好后,先用那个扫描一下有漏洞的主机,然后再用它溢出获得权限,控制目标主机.
Excel Power Pivot:数据分析简单应用实例
作为藏身于触手可及的Excel中的强大的数据分析工具,Power Pivot并不为很多普通上班族所熟知。然而,Power Pivot与Power Query一起,为Microsoft商业智能提供重要支撑。
Pivot Pivot通过利用DAX(Data Analysis Expressions),即数据分析表达式,来深入地进行各种数据分析,挖掘数据见解,然后通过数据透视表或数据透视图形成可视化的分析结果,为直观地洞察数据趋势、优化管理决策提供必要的参考依据。
接下来我们在上篇( Excel Power Pivot:如何在Excel中加载并打开Power Pivot )的基础上,继续探讨Power Pivot的应用。
上篇我们已经将“料品工时”查询添加到了Power Pivot数据模型中。由于“料品工时”中包含了两个阶段(V1、V2)的工时信息,我们希望知道两个阶段标准工时的差异,了解标准工时的变化情况。
那么,我们需要分别建立以下度量值:V1工时、V2工时、V2-V1
进入Power Pivot for Excel, 看到数据区域下方的空白区域就是计算区域,度量值就在此区域建立。如果没有看到计算区域,可以点击“主页”菜单,再点击“查看”功能组中的“计算区域”即可。
建立度量值的操作步骤:
1. 鼠标选择计算区域中的任意单元格,在编辑栏输入下面内容,按回车或点击编辑栏前面的“√”确定:
V1工时:=CALCULATE(SUM([标准工时_S]),'料品工时'[工作簿]="V1")
2. 鼠标选择计算区域中的任意空白单元格,在编辑栏输入下面内容,按回车或点击编辑栏前面的“√”确定:
V2工时:=CALCULATE(SUM([标准工时_S]),'料品工时'[工作簿]="V2")
3. 鼠标选择计算区域中的任意空白单元格,在编辑栏输入下面内容,按回车或点击编辑栏前面的“√”确定:
V2-V1:=[V2工时]-[V1工时]
4. 选择“主页”选项卡中的“数据透视表”,弹出“创建数据透视表”对话框,点击确定。
5. 在右边的数据透视表字段中,勾选查询“料品工时”中的字段“成品大类”、“车缝组件”、“V1工时”、“V2工时”、“V2-V1”,则表头字段会自动添加到行区域,度量值字段会自动添加到值区域。也可以依次将各个字段拖动到相应区域。这样就得到了两个阶段各产品标准工时的对比列表,如图8所示。
有些伙伴可能会问,如果不在Power Pivot中建立度量值,而是直接使用普通的数据透视表也可以得到V1、V2两个阶段的工时。如图9右边的数据透视表。
但是,直接使用普通的数据透视表难以对“V1工时”、“V2工时”进行进一步的计算,以便更清晰地了解两者的差异。而Power Pivot中的度量值,可以被其他函数引用,方便进行更灵活、更深入的数据分析。
求问学习如何分析进出服务器的TCP/IP数据包
完全依赖于你的觉悟,数据包监测既是一个重要的管理工具,也可以成为一项邪恶的黑客技 术。事实上,它两者皆是,一个好的数据包监测软件通常可以在 *** 管理和黑客技术工具包中同时找到。黑客可以用数据包监测软件监听互联网,并且追踪一些敏感数据的交换如登录对话和财经交 易。 *** 管理员可以用数据包监测软件检测错误布线,损坏的数据包和其它 *** 问题。在本文中,我们覆盖了开始进行数据包监测需知的所有内容,而没有涉及太多阴暗面。通过 一个更流行工具软件的实例,你将学习到在TCP/IP网上四处监听的基本技术。文中阐述较为 详细,以帮助你理解在查看数据包时确实能看到什么,并且介绍了IP欺骗技术。当然,我们 也提供了一个更多 *** 资源的列表以满足你所有监听的需要。一、什么是数据包监测?数据包监测可以被认为是一根窃听 *** 线在计算机- *** 中的等价物。当某人在“监听” *** 时,他们实际上是在阅读和解释 *** 上传送的数据包。如果你在互联网上,正通过其它计算机发送数据。发送一封电子邮件或请求下载一个网页都 会使数据通过你和数据目的地之间的许多计算机。这些你传输信息时经过的计算机都能够看 到你发送的数据。数据包监测工具允许某人截获数据并且查看它。 互联网和大多数数据 *** 一样,通过从一个主机发送信息数据包到另一个主机来工作。每个 数据包包含有数据本身和帧头,帧头包含数据包的信息如它的目的地和来源。数据包的数据 部分包含发送到 *** 的信息——它可能是电子邮件,网页,注册信息包括密码,电子商务信 息包括信用卡号码,和其它一切 *** 上流动的东西。基于TCP/IP协议的互联网采用的体系结构是以太网,它的特点是把所有的数据包在 *** 中广 播。 *** 为大多数计算机提供的接口是一个内置的以太网卡(也叫做网卡或NIC)。这些接口卡 默认提取出目标地址和自己的网卡地址一致的数据包而过滤掉所有其它的数据包。然而,以 太网卡典型地具有一个“混合模式”选项,能够关掉过滤功能而查看经过它的所有数据包。 这个混合模式选项恰好被数据包监测程序利用来实现它们的监听功能。防火墙完全不能阻止数据包被监测。虚拟个人 *** (VPN)和加密技术也不能阻止数据包被监测 ,但能使它的危害小一点。要知道许多密码在 *** 上传输时是不加密的,有时即使已经加密 ,也不能挫败一个数据包监测工具侵入系统的企图。一个寻找登录序列和监听加密口令的入 侵者并不需要破译口令为自己所用,而只需要依赖未经授权的加密版。对于需要高度安全的系统,一个和数据包监测技术妥协的保护密码的更好措施是执行“使用 一次即更改”的密码方案——所以即使是一个不道德的黑客可能监测了登录序列,密码在下 一次试验时就不起作用了。二、用什么监测实际上有几百种可用的数据包监测程序,许多结合起来破译和扫描特定类型的数据并被专门 设计为黑客的工具。我们在这里不讨论任何寻找密码或信用卡号的工具,但它们确实存在。 这类工具经常有内置的协议分析程序,它能够帮助翻译不同 *** 协议的数据包,而不是提供 原始的数字数据。一个最古老也最成功的数据包和 *** 分析产品是由WildPackets (以前的AG 组)出品的Ether Peek。 EtherPeek已经存在了10年,堪称互联网时代真正的恐龙。他们提供Windows版 和Mac intosh版,每个都具有 *** 管理员-导向的价格。这个工具软件开始只是一个 *** 分析器型的 数据包监测软件,经过这些年的发展已经成为一个真正的 *** 管理工具并具有网站监视和分 析等新的功能。在他们的网站有一个演示版,想要试验的人可以去下载。另一个能够监视 *** 活动捕获和分析数据包的程序是TamoSoft的CommView。这个流行的监测 程序显示 *** 连接和IP统计数字,能够检查单独的数据包,通过对IP协议TCP, UDP,和 ICMP 的完全分析解码到更低层。完全访问原始数据也只需要花费一个非常友好的价格9(或者 是以更低的价格获得个人许可证,它只能捕获发送到你的PC的数据包)。TamiSoft的网站同 样提供一个可以下载的演示版。如果你运行微软的Windows NT Server,将不必买任何东西——它有一个内置的数据包监测程 序叫做 *** 监视器。要访问它,进入 *** 控制面板,选择服务标签,点击添加并选择 *** 监 视工具和 *** 。一旦它已经安装你就可以从程序菜单下的管理工具中运行 *** 监视器。三、如何监测好了,现在你的手头至少有一个流行的数据包监测软件的测试版了,我们要开始研究事情的 真相了,看一看我们实际上能从这些数据包中学到什么。本文将以Tamisoft的CommView为例 。但同样的概念和功能在其它的数据包监测产品中也很容易适用。开始工作以前,我们需要打开监测功能,在CommView中通过从下拉菜单中选择 *** 适配器, 然后按下开始捕获按钮,或从文件菜单中选择开始捕获。如果发生 *** 阻塞,你应该立即看 到一些行为。CommView和大多数数据包监测软件一样,有一个显示IP *** 信息的屏幕和一个显示数据包数 据的屏幕。在默认方式下你将看到IP统计页。你应该能够在你的浏览器中输入一个URL,或检 查你的e-mail,看这个屏幕接收通讯两端的IP地址数据。除了两端的IP地址,你应该看到端口号,发送和接受的数据包数,对话的方向(谁发送之一 个数据包),两个主机间对话的次数,和有效的主机名。CommView能和可选择的SmartWhoIs 模块相结合,所以在IP列表中右击IP号将提供一个查找信息返回关于这个IP号的所有已知的 注册信息。如果你用popmail型的帐号查收电子邮件,将在IP列表中看到一条线,端口号为1 10,标准popmail端口。你访问任意网站都会在端口80产生一条线,参见图A。 查明某些数据包来自于哪儿是数据包监测程序最普通的应用之一。通过运行一个程序如Smar tWhoIs,你能够把数据包监测程序所给出的鉴定结果——IP和以太网地址扩展到潜在的更有 用的信息,如谁管理一个IP地址指向的域。一个IP地址和以太网地址对于要追踪一个无赖用 户来说没有太多作用,但他们的域管理员可能非常重要。在CommView中点击数据包标签可以在它们经过时看到实际的数据包。这样的视图意义很含糊 ,而且如果你惧怕十六进制,这不是适合你的地方。有一个数据包列表,其中每个数据包都 有一个独一无二的数据包编号。在列表视图中你也可以看到数据包的协议(如TCP/IP),MA C (以太网)地址,IP地址和端口号。在CommView数据包窗口中间的窗格中你可以看到在列表中选择的无论什么数据包的原始数据 。既有数据包数据的十六进制表示也有一个清楚的文本翻译。底部的窗格显示了IP数据包的 解码信息,包括数据包在IP, TCP, UDP, 和 ICMP层的完整分析,参见图B。如果你正在和这些信息打交道,那么你不是在进行繁重的 *** 故障排除工作,就是在四处窥 探。翻译十六进制代码不是这篇文章讨论的范围,但应用正确的工具,数据包可以被解开而 看到其内容。当然这些并不是用一个数据包检测软件所能做的一切——你也可以复制数据包,为捕获数据 包建立规则和过滤器,以成打不同的方式获得各种统计数字和日志。功能更加强大的工具不 仅限于可以查看,记录和分析发送和交换数据包,利用它们不费多少功夫就可以设想出一些狡猾的应用程序。四、IP欺骗和更多资源一个完全不友好的数据包监测应用程序是一种IP欺骗技术。这时,一个不道德的用户不仅查 看经过的数据包,而且修改它们以获得另一台计算机的身份。当一个数据包监测程序在两台正在通讯的计算机段内时,一个黑客就能监听出一端的身份。 然后通过找到一个信任端口的IP地址并修改数据包头使数据包看起来好象来自于那个端口达 到攻击连接的目的。这类活动通常伴随着一个对伪造地址的拒绝服务攻击,所以它的数据包 不会被入侵干扰。关于数据包监测和IP欺骗技术的信息成吨,我们仅仅描述了对TCP/IP数据包操作的一些表面 知识。在开始数据包监测以前更好深入了解TCP/IP和 *** ——这样做更有意义。这里是一个 为那些想要进一步研究这个问题的人们提供的附加的资源列表。 ZDNet"s Computer Shopper Network Utilities
Packetstorm"s packet sniffer section with over 100 sniffing programs
Wild Packets, makers of EtherPeekEtherPeekTamoSoft, makers of CommView
An overview of the TCP/IP Protocol Suite 最后一句警告——小心你监测的场所。在你家里的PC上运行一个数据包监测程序学习TCP/IP ,或者是在你控制的局域网运行以解决故障是一回事,在别人的 *** 上偷偷地安装却是另一 回事。机敏的 *** 管理员在集中注意力时会发现监测他们 *** 的人,并且他们通常不会很高兴。
黑客入门
具体说一下,掌握的技术
1.熟练掌握 C语言,汇编语言
基本上黑客新手都要学到disassemble(反汇编),就是通过一个程序运行的汇编套路来分析其源代码。并用c语言进行测试。汇编要掌握到(stack,protected mode,data segment,ESP,EBP...),C语言(bit-field, stdcall...)
2.计算机原理
分析程序数据没有十进制,只有2进制和16进制(就是0101 0010或0xFF...),要懂得基本运算。还有big/little-endian等基本术语,会用WinHex/UltraEdit或VS的dempbin分析程序。
3. *** :TCP/IP(TCP,UDP,ICMP,DNS,IP等许多协议),会截取数据包,还有分析frame,结合telnet/ftp/c语言的socket等命令进行 *** 打劫!这部分最难最枯燥,建议看understanding TCP/IP这本书
4.系统的认知!了解Windows内部API,sockets编程,IP proxy(IPv6更好也学),真正的黑客是几乎漏不出马脚的!
这些就是基础,然后熟练掌握各种操作流程,可以强行进行telnet,或进行TCP hijack,或夺取远程sid等。。。还有很多要学,根本数不完。
推荐你看一下几本书(我看过许多书,走过弯路,这是整理后的更优选择)
1.Assembly language step-by-step
掌握汇编语言,和CPU运行机制,内存模式等
2.the C programming language
C语言的灵魂 ***
3.(C++可以了解一下)C++ from ground up或C++ premier
C++在底层其实代替不了C
4.Understanding TCP/IP
TCP/IP *** 的精髓,最黑客的前提!
这些都是技术,接下来再看专门的黑客辅导书
1.No Scrach.Hacking the art of exploiting
太经典了,C+汇编+TCP/IP 叫你很多黑客 ***
2.Hacking assembly
详解程序反汇编,跟汇编关系很大,3.Hacking Exposed
一些黑客实例,巩固一下实力。
(知道的不是很多)
黑客攻击web,窃取信息(或破解加密流通数据)的手段有哪些,请列举并简要说明原理
SQL注入(工具注入和手工注入),暴库,xss,旁注,ddos攻击,cc攻击
0条大神的评论