1 / 54

黑客大曝光

黑客大曝光. 安 阳 大 学 @ http://www.linzhou.gov.cn/wl/index.html. 第 4 部分  软件攻击. 主要内容: 第 11 章 攻击应用代码 11.1 常见的安防漏洞利用技术 11.2 通用性防范措施 第 12 章 Web 攻击 12.1 攻击 Web 服务器 12.2 针对 Web 应用程序的攻击. 第 4 部分 软件攻击. 案例研究:黑客中的黑客 ……

calum
Download Presentation

黑客大曝光

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 黑客大曝光 安 阳 大 学 @ http://www.linzhou.gov.cn/wl/index.html 黑客攻击与防范

  2. 第4部分 软件攻击 主要内容: 第11章 攻击应用代码 • 11.1 常见的安防漏洞利用技术 • 11.2 通用性防范措施 第12章 Web攻击 • 12.1 攻击Web服务器 • 12.2 针对Web应用程序的攻击 黑客攻击与防范

  3. 黑客攻击与防范

  4. 黑客攻击与防范

  5. 第4部分 软件攻击 • 案例研究:黑客中的黑客…… • Jack在计算机的行业里,总是自己去发现漏洞,但从来不公开自己的发现,今天他接到一个任务:Solaris 平台上的远程9OpenSSH 3.9p1。 •   几分种后,他启动了GrammaTeck公司的CodeSurfer工具开始对OpenSSH的源代码进行检查,并发现了这个软件的323潜在漏洞。随后他用hping2工具构造了一个简单的数据包去攻击发现的一个漏洞,OppenSSH几乎是立刻就死机了。他知道这个任务已经完成了。 黑客攻击与防范

  6. 第11章 攻击应用代码 •  因种种失误而导致的代码级缺陷是几乎所有安防问题的核心。不论是供应商的失误、Web开发人员的失误、配置失误还是用户违反了安防策略,只要是代码级缺陷就会给我们的生活带来或大或小的灾难。我们身边有许多种信息安防产品和信息安防服务,但它们往往只能解决信息安防问题的表面现象而掩盖了问题的核心,如果你们想从根本上解决问题,唯一的办法是了解你们自己的安防漏洞并妥善地处理好它们。 •   这里所说的“最核心的问题”是软件开发人员和系统管理员几乎会在它们拿出来的每一样东西上留下代码缺陷或安防漏洞,可能是一行程序代码,也可能是一条安防策略、还可能是服务器上的一项默认设置。既然这些问题都是人造成的,能够减少和纠正它们的也只有人了;这种认识是讨论代码安防问题时必须具备的基本理念。 黑客攻击与防范

  7. 11.1 常见的安防漏洞利用技术 •   缓冲区溢出漏洞,这个概念很早就出现了,直到20世纪90年代中期利用缓冲区溢出漏洞的攻击手段大量的出现,它才成为一种广为人知的恶劣漏洞。几年后登场的是利用Libc漏洞的攻击手段。再几年后是格式字符漏洞、缓冲区“加减1”溢出漏洞和数据库漏洞。再往后出现了Web的攻击手段。现在人们面对的是整数溢出漏洞。虽说人们在每一种新的漏洞和攻击手段出现之后都开发出了一些可以防止黑客利用它们去搞破坏的产品,但现实却是没有一种产品或服务能解决所有的问题。它们需要从源头——即软/硬件开发人员和系统管理员——加以解决。 黑客攻击与防范

  8. 11.1.1 缓冲区溢出和产品设计缺陷 • 每天这个世界都会因为软/硬件开发人员的种种失误而增加无数的缺陷或漏洞。不管它是商业化软件的代码还是开放源代码项目,这些缺陷都会对其保密性、完整性和可用性造成了巨大的损害。 •   最早出现的关于缓冲区溢出漏洞的分析文章有Mudge在1995年发表的《How to Write Buffer Overflows》和Alephl在1996年发表的《Smashing Stack For Fun And Profit》这两篇文章都虚心地讨论了缓冲区溢出的概念并提供证明代码。 黑客攻击与防范

  9. 堆栈缓冲区溢出 流行度:10 简单度:7 影响力:10 风险率: 9 •   基于堆栈缓冲区溢出是最简单和最恶劣的缓冲区溢出漏洞,他们通常会让黑客得到它们想要得到的一切,它的工作原理是:堆栈是函数在调用其他函数时使用的一段计算机内存。在利用一个缓冲区溢出漏洞去攻击某个系统的时候,黑客的目的是把执行流从函数到函数的正常执行顺序改变为由攻击者安排的另一种执行顺序。堆栈里容纳着数据,其中包括函数的私用变量、函数的参数和一样最危险的东西——函数在执行完毕时将要返回的那条指令的地址。当函数A调用函数B时,CPU需要知道B在结束时将到什么地方去继续执行。这项数据就保存在堆栈里,紧跟在局部变量的后面。攻击者正是利用这一点:他可以按照自己的想法把这个返回地址设置为任意的值。这样他就可以把正常的执行流改变为他想要的任何东西。 黑客攻击与防范

  10. 堆溢出/BSS溢出/数据溢出 流行度:8 简单度:5 影响力:9 风险率:7 •   顾名思义,堆溢出覆盖的是堆而不是堆栈。“堆”是程序在执行时用来分配动态存储空间的一段计算机内存。堆里没有可供覆盖的函数返回地址;堆溢出攻击手段覆盖的是重要的变量或那些包含着地址数据的堆块结构。一旦攻击者设法覆盖了一项带有“Access Allowed”设置的权限,他就可以获得不受限制的访问有关服务或计算机系统的权限。堆栈还有可能让攻击者访问到存放在发生溢出的缓冲区后面的函数指针,如果出现这种情况,攻击者就可以覆盖掉那个函数指针把它指向他自己的代码。因为空闲内存是随机散布在整个内存空间里的,所以发生堆溢出的内存位置要比堆栈溢出难以预料得多。 黑客攻击与防范

  11. 格式字符串攻击 流行度:6 简单度:7 影响力:9 风险率:7 •   格式字符串攻击的基本思路也是通过覆盖某个内存区域让攻击者获得对CPU执行流的控制权。格式字符串攻击利用的是程序没有按正确方法使用的函数——其中尤以向屏幕输出文字内容的Printf()系列函数最引人注意。 •   例:部分程序员习惯使用这个函数的简化格式 Printf (my_name) • Printf函数并不知道程序员没有提供格式字符串,但它需要知道怎样打印那些变量才是正确的,所以他会去扫描整个my_name字符串里有没有诸如“%s”和“%n”之类的格式字符,每发现一个特殊的格式字符,就会从堆栈里检索出一个它认为适当的变量替换掉格式字符串。最坏的情况是攻击者利用精心构造的输入数据在他指定的内存位置写入数据。 黑客攻击与防范

  12. “加减1”错误  流行度:5 简单度:9 影响力:7 风险率:7 •   程序员也是人,所以他们也会犯错误。程序设计工作中“加减1”错误是这个问题的又一个例子,而且是一个经常有人会犯的错误。简单的说“加减1”错误多发生在程序员编写出来的条件语句没有考虑到某些个特例的场合。 • 例:if(id<0 || id>channels_alloc) • 上例本意是“当id小于0或者大于channels_alloc时条件成立,但这个代码忽略了一个特例,如果变量id等于变量channels_alloc时的值该怎么办?如果出现这种特例,攻击者就可以伪装成一位合法的用户完成登陆并获得相应的权限。 黑客攻击与防范

  13. 11.1.2 输入检查攻击 •   输入检查攻击与缓冲区溢出的情况大同小异。究其根源,他们都是因为程序员对来自用户的输入数据检查得不够全面细致而留下的漏洞。这个漏洞轻则会让程序在接受输入数据时发生死机,重则会让某些不应该发生的事情发生,而后果很可能是灾难性的——比如拒绝服务、身份假冒、系统被全面攻陷等。总之,其危害性毫不逊于堆栈溢出。 黑客攻击与防范

  14. 同义异名攻击 流行度:5 简单度:9 影响力:7 风险率:7 •   同义异名处理是把同一个单词的各种各样的字符拼写形式解析为一个标准化的名字或字符的过程,这种处理的结果就是所谓的“标准名”或“完整名”。如果某个Web服务器是在对来自用户的输入数据进行子目录遍历规则检查之后才进行同义异名处理的话,就会给攻击者留下可乘之机。对于下面这个URL地址,绝大数Web服务器的URL分析器都不会予以放行,因为它里面包含的“../”字符序列是公认的问题输入:  http://10.1.1.3/scripts/../../../../winnt/system32/cmd.exe?/c+dir •   但如果把几个关键的斜线字符(/)替换为这个字符的超长UTF-8表示形式(%c0%af)或是这个字符的其它同义异名表示形式,有这个漏洞的IIS4就会因为识别不出它们代表着斜线而允许字目录遍历操作的进行。 黑客攻击与防范

  15. 11.2 通用性防范措施 • 与其他IT领域里的情况一样,任何问题的产生和解决都离不开人、流程和技术这三大要素。本章将介绍一些有助于提高软件安全性的非技术性措施。 黑客攻击与防范

  16. 11.2.1 人:改变企业文化 • 安全意识只是融入软件开发企业本身的企业文化才能得到提高。下面是一些该方面的建议: • 采取缓和的态度,不论你们身处何种企业,在试图改变产品开发流程的时候,千万不要低估因此而产生的影响 • 实行严厉的措施 • 安全意味着质量和效率 • 把安全问题写进企业的规章制度 • 效果、效果、效果,这也是必须给予高度重视的考虑因素。 • 责任,要在企业的组织结构框架内建立一个安全责任模型并遵守之 黑客攻击与防范

  17. 11.2.2 流程:产品开发过程中的安全问题 • 一些机构或专家推荐的最佳实践简要提纲: • 为开发团队指派一名安全监督员 • 教育、教育、教育,从培训开始树立SDL意识 • 建立威胁模型,先判断出哪些因素会对最终产品构成安防威胁、再在产品的开发过程中做出相应的改变以消除那些威胁。 • 代码审查 • 产品安全性测试,包括异常输入测试和穿刺测试 • 审计或产品安全性验收 • 产品的升级和维护 黑客攻击与防范

  18. 11.2.3 技术 • 一些可以帮助开发出更安全的应用程序的技术: • 1.受控执行环境 •   把自己的软件产品迁移到一种受控执行环境——比如Sun公司和微软公司的.NET Framework里去,用这些环境开发出来的代码都采用了先进的内存管理技术,它们将执行在一个受到保护的“沙箱”里,这种沙箱可以大大减少安防漏洞导致安防灾难的可能性。 • 2.输入检查专用库 •   提高软件安全性的终极手段就是对输入数据作全面、细致、严格的检查。 • 3.对软件开发平台进行升级 •   密切关注诸如微软Data Execution Protection 机制之类的新技术发展。 黑客攻击与防范

  19. 11.2.4 推荐阅读材料 • 下面是一些最有价值的该方面的参考读物 • Security Across The Software Dvelopment Lifecyle Task Force,2004年4月发表的一份报告,对本章涉及的许多问题进行了深入的探讨。 • Howard,Leblanc.Writing Secure Code.2nd Edition.Microsoft Press 2002.这本书获得了2003年RSA工业领域创新奖,是软件安防领域的权威著作。 •   对Web应用程序的安全问题感兴趣的,推荐由J.D.Meier等人合写的Building Secure ASP.NET Applications和Improving Web Application Security:Threads and Countermeasures两篇文章。 • Koziol et al.The Shellcoder's Handbook:Discovering and Exploting Security Holes John Wiley&Sons,2004 • Harris et al.Gray Hat Hacking:The Ethical Hacker's Handbook.McGraw-Hill/Osborne,2004 黑客攻击与防范

  20. 11.3 小节 • 软件编程错误是威胁数字世界安全的头号敌人,但这些错误却非常容易犯。只要计算机稍有差错或精神稍不集中,程序员就会在应用程序里留下一个严重的安防缺陷,进而给企业和最终用户造成巨大的损失。我们无力改变人类的集体行为模式,但我们可以通过一个可靠的、可审计的软件开发流程来解决这个问题。 黑客攻击与防范

  21. 黑客攻击与防范

  22. 第12章 Web攻击 • World Wide Web的扩张速度快的惊人。每一种新出现的Web应用程序软件和每一家刚把服务器接入Web的电子商务公司也都有可能成为恶意黑客的攻击目标。Web的巨大成功正使它成为全世界黑客首选攻击目标。一方面是网络的疆界越来越大,另一个方面是防火墙在高级黑客利用“80端口”上的合法通信而发起的攻击面前越来越无能为力,所有这些使事态变得越来越严峻。 黑客攻击与防范

  23. 12.1 攻击Web服务器 • 早期的Web攻击技术利用的基本上都是Web“服务器”软件和相关软件包里的漏洞——而不是利用应用程序逻辑本身,但这种区别现在已经相当模糊了。这一章讨论的重点将放在Web应用程序逻辑本身,对那些与比较流行的Web服务器平台软件组合——如微软的IIS/ASP/ASP.NET、Linux/Apache/MYSOL/PHP、BEA公司的Weblogic、IBM公司的Websphere、J2EE等——有关的安防漏洞将只是简单地介绍一下。这类漏洞通常已广为人知,既容易发现,又容易攻击。只要弄到正确的工具并按已知步骤进行操作,攻击者在几分钟之内就能攻陷一个未经防护的Web服务器。 黑客攻击与防范

  24. Web服务器中的安防漏洞主要分为以下几大类: • 样板文件 • 源代码泄漏 • 资源解析 • 服务器功能扩展模块 • 输入检查 黑客攻击与防范

  25. 12.1.1 样板文件 •   为了让更多的人接受和依赖他们的技术,Web平台的供应上经常发布一些样板脚本和代码演示自己平台一些新奇的用法。这些样板文件往往编写的很仓促,所以经常会有一些严重的缺陷。 •   人们在微软公司的IIS4.0里发现了一个典型的“样板文件”漏洞,它允许攻击者下载ASP代码。这个具体例子里的罪魁祸首是IIS4默认安装的样板文件showcode.asp和codebrews.asp,远程攻击者可以利用这两个文件去查看目标服务器上的其他文件,它只需发出如下所示的URL请求即可: • http://192.168.51.101/msadc/samples/SELECTOR/showcode.asp?source=/../../../../../boot.ini 黑客攻击与防范

  26. 12.1.2 源代码泄漏 •   源代码泄漏漏洞可以让心怀叵测的用户查看到没有防护措施的Web服务器上的应用程序文件源代码。在特定条件下,攻击者甚至可以利用这些漏洞和其他黑客技术查看到重要的系统级文件如/etc/passwd、global.asa等的内容。 •   最经典的源代码泄漏漏洞包括IIS上的“+.htr”漏洞。Apache Tomcat和BEA Weblogic也存在着类似问题,只是这次是在请求Jave Server Pages(JSP)页面的请求尾部追加几个特殊的字符而已。例: • http://www.iisvictim.example/global.asa+.htr • http://www.weblogicserver.example/index.js%70 •   目前,这几家供应商已把这些漏洞补好了,而且还发布了一些临时性的补救措施(如删除showcode.asp和codebrews.asp脚本文件)。 黑客攻击与防范

  27. 12.1.3 资源解析攻击 •   “资源解析”就是把同一资源的不同表示形式解析为它的标准化名称的过程。需要根据资源名来做出安防决定的应用程序很容易受到愚弄而去执行一些“自选”动作,这就是所谓的“资源解析攻击” •   微软IIS软件里的“ASP::$DATA”漏洞是人们在主流Web平台上最早发现的资源解析问题之一。这个漏洞由Paul Ashton首先发表在Bugtraq网站上,它允许攻击者下载到Active Server Page 源代码而不是把他们提交给IIS ASP引擎进行动态渲染。这个漏洞很容易利用,所以在“脚本小子”当中相当时髦。在发现一个ASP页面后,简单的输入下面这样的URL: • http://192.168.51.101/scripts/file.asp::$DATA •   尼姆达蠕虫就是利用该方面的漏洞而进行传播。 黑客攻击与防范

  28. 12.1.4 服务器功能扩展模块 • Web服务器上的问题大都是它的功能扩展模块招来的。这些精干的小代码库为核心HTTP引擎增加了许多方便的功能,其中包括动态代码执行、站点索引、internet Printing Protocol、Web Distributed Authoring and Versioning、Secure Socket Layer 等。这些增模块像流星一样闪亮登场,但很快就默然消失,他们在附加功能与安全性上难以两全。 •   由Daniel Docekal最先发表在Bugtraq网站上的微软WebDAV模块Translate:f漏洞非常有代表性:攻击者利用一个精心构造的输入让Web服务器调用执行了一个有漏洞的增值模块。 •   利用Translate:f漏洞的攻击时这样的:向Web服务器发送一个精心构造的HTTP GET请求,让它返回一个服务器段的可执行脚本或相关的文件类型。这些文件本应该在服务器上被调用执行,不应该被发送到客户端,但那个恶意请求却会让IIS把这类文件的内容直接发送给远程客户而不是调用相应的脚本引擎去执行它。 •   这种恶意HTTP GET 请求的关键之处有两个:一个特殊的HTTP标头,这个标头以Translate:f结尾;一个追加在URL尾部的反斜杠(\)。 黑客攻击与防范

  29. 12.1.5 缓冲区溢出 • 致命的缓冲区溢出攻击代表着黑客技术的巅峰。 • Web服务器软件也是由程序员编写的,自然也就难免因程序员考虑不周、编程不当而造成的缓冲区溢出漏洞,服务器平台上的缓冲区溢出漏洞有很多。 •   “IIS HTR数据块编码”堆溢出漏洞对MicrosoftIIS4.0、5.0和5.1都有影响。攻击者可以利用这个漏洞发出远程拒绝服务攻击或是以IWAM_MACHINENAME用户权限远程执行恶意代码。 •   在IIS的Indexing Service功能扩展模块里也发现了缓冲区溢出漏洞,该漏洞的利用办法是向没有打补丁的服务器发出.ida或.idq请求;曾经肆虐意一时的“红色代码”蠕虫利用的就是这个漏洞。 • CGI程序wwwcount是一个很流行的网络访问量计数器,这个脚本里也存在缓冲区溢出漏洞。这个漏洞能够让一位远程攻击者在本地系统上远程执行任意代码。 黑客攻击与防范

  30. 12.1.6Web服务器漏洞扫描器 •   有好几种自动化的安防攻击能帮助你迅速查处Web服务器软件中层出不穷的各种隐患。被人们称为“Web服务器漏洞扫描器”的这类工具能迅速扫出几十、甚至几百种一直的安防漏洞。 • Nikto • Nikto是Web服务器漏洞扫描器的一种,它对Web服务器进行的测试相当全面,可以扫描出很多种已知的安防漏洞。Nikto工具可以从http://www.cirt.net/code/nikto.shtml站点下载。它的漏洞特征数据库升级得相当频繁,这是它能够对任何一种新发现的安防漏洞做出快速反应。 黑客攻击与防范

  31. 12.1.7Whisker2.0 • Whisker是一个有不少特色功能的Web服务器漏洞扫描器,它的下载地址是 • http://prdownloads.sourceforge.net/whisker-2.0.tR.gz?download 黑客攻击与防范

  32. 12.2 针对Web应用程序的攻击 •   这里所说的“针对Web应用程序的攻击”指的是以各种Web应用程序——即由Web服务器软件调用执行的应用程序——为目标的攻击活动,它们与针对Web服务器软件本身的攻击行为是有区别的。很多针对Web服务器的攻击技术——比如使用畸形的输入数据、破解口令字、窃听会话过程等——也可以用来攻击Web应用程序。这两类攻击活动的主要区别在于攻击目标的不同:“针对Web应用程序的攻击”以某个特定的Web应用软件的程序代码为攻击目标,而这个软件很可能“只此一家,别无分号”;“针对Web服务器的攻击”则是以某一种Web服务器软件的代码做出攻击目标,运行着各种Web服务器的机器可能数不胜数。 黑客攻击与防范

  33. 12.2.1 利用Google搜索引擎去查找有漏洞的Web应用程序12.2.1 利用Google搜索引擎去查找有漏洞的Web应用程序 •   搜索引擎对大量的Web页面和其他资源进行了索引。黑客可以利用这些引擎去发出匿名攻击、寻找容易的手的牺牲品、获得对某个网络发动更强有力的工具所必需的指示。而搜索引擎之所以能够成为一种“危险的”攻击武器,计算机用户们的粗心大意是最主要的原因。 •   用Google去搜索未经保护的/admin、/password、/mail子目录以及它们的内容——在http://www.google.com主页上输入以下关键字进行搜索: • “index of/admin” • “index of/password” • “index of/mail” • “index of/”+banques+filetype:xls • “index of/”+passwd • “index of/”password.txt 黑客攻击与防范

  34.  用GOOGLE去搜索配置不当的口令字提示程序——在http://www.google.com主页上输入以下关键字进行搜索: 用GOOGLE去搜索配置不当的口令字提示程序——在http://www.google.com主页上输入以下关键字进行搜索: • password hint • password hint-email • show password hint-email • filetype:htaccess user •   用Google去搜索网站的MRTG流量分析报告——在http://www.google.com主页上输入以下关键字进行搜索: • inurl:mrtg 黑客攻击与防范

  35.  用Google去搜索安装有FrontPagede IIs/Apache Web服务器——在http://www.google.com主页上输入以下关键字进行搜索。 • administrators.pwd index • authors.pwd index • service.pwd index • allinurl:_vti_bin shtml.exe •   用Google去搜索配置不当的Outlook Web Access服务器——在http://www.google.com主页上输入以下关键字进行搜索: • inurl:exchange inurl:finduser inurl:root 黑客攻击与防范

  36. 12.2.2 网络爬虫:全站点下载 •   “如果给你8个小时去砍一棵树,我会用6个小时去磨斧子”。类似的,一位审慎的攻击者会花上一些时间去熟悉他想要攻击的应用程序。他通常会把目标网站上的全部内容下载到他自己的计算机并去下列地点群找那些“最容易到手的果实”——例如本地路径信息、后端服务器的名字和IP地址、SQL查询字符串中的口令字、有价值的代码注释以及其他敏感数据等: • 静态和动态页面 • 头文件和其他辅助文件 • 源代码 黑客攻击与防范

  37. 全站点下载工具——“网络爬虫” •   对整个网站进行检索时一项枯燥乏味的机械重复工作,最适合用自动化的工具软件来完成。 • Wget • wget是一套自由软件,它可以使用HTTP、HTTPS和FTP等几种常见的因特网协议来检索和下载文件。他是一个非交互的命令工具,因而很容易通过脚本、cron任务以及不带X支持的终端控制台进行调用。Wget工具的下载地址http://wwww.gnu.rog/software/wget.html. • offline Explorer Pro • offline Explorer Pro是一个商业化的Win32软件,攻击者可以利用这个工具把任意个数的Web和FTP站点下载到他的机器上进行离线查看、编辑和浏览。这个工具还支持HTTPS、RTSP和MMS协议。它支持NTLM身份验证。offline Explorer Pro下载地址:http://www.metaproducts.com/mp/mpproducts_Downloads_Current.asp 黑客攻击与防范

  38. 12.2.3 对Web应用程序进行评估 •   从自己未能通过身份验证和能够通过身份验证两种情况出发对目标应用程序的每一个主要组件的工作情况进行研究和评估。有很多站点都允许新用户自由注册,攻击者还可以利用“全站点下载”等种种手段去窃取合法的登陆资料。针对Web应用程序的攻击主要集中在以下几项功能: • 身份验证 • 会话管理 • 数据库操作 • 对输入数据进行的合法/合理性检查 黑客攻击与防范

  39. Web应用程序评估工具 •   想把Web应用程序的缺陷——尤其是那些最致命的缺陷——找出来并加以进行分析是不可能的。介绍几种在针对Web应用程序的攻击活动中比较常用的漏洞扫描工具。 • Achilles • Achilles工具其实是一个代理服务器,他在HTTP会话过程中扮演着“二传手”的作用。Achilles可以截获两个方向的HTTP会话数据并允许其使用者对被截获数据进行修改后在转发出去。它的特色功能包括允许对监听端口和Timeout值进行配置、为便于发动缓冲区一处攻击而另外准备了一个缓冲区、能够在完成对被截获数据的修改后重新计算它们的内容长度等。Achilles工具运行在Win32平台上,下载地址是http://www.digizen-security.com/downloads.html。 黑客攻击与防范

  40. Paros Proxy • Paros Proxy是Proofsecure公司开发的Web应用程序漏洞扫描器。它是用Java编写的,所以需要先从http://jave.sun.com网站下载并安装Java Runtime Engine才能使用。 •   值得关注的特色功能包括:对已知服务器配置错误和常见应用程序缺陷进行扫描、像Achilles工具那样对浏览器会话的请求和响应进行嗅探和分析等。 • WebSleuth • WebSleuth是一个内建在浏览器里的Web应用程序安全测试工具,它的Win32和Linus版本都可以从http://www.cgisecurity.com/websleuth/处下载到。WebSleuth允许使用者在通信过程中实时的对HTTP和HTML请求进行编辑。WebSleuth最有用的功能是它的功能扩展插件,这些插件可以让攻击者轻而易举地对HTTP/Cookie的会话ID进行蛮力攻击、尝试进行各种“SQL注射”攻击或者对http连接的口令进行蛮力攻击。 黑客攻击与防范

  41. WebProxy • WebProxy1.0是一个基于Java2的浏览器安防工具,但也可以用来对网站的安防工作进行审计。在把WebProxy安装为浏览器的一个代理之后,就可以用WebProxy去拦截、修改、记录到日志和转发HTTP和HTTPS请求了。WebProxy的编辑功能不仅能对Cookie进行修改,还能对查询命令的参数、HTTP/HTTPS请求的标头以及POST参数进行分析。 • Form Scalpel • Form Scalpel工具的设计用途是对网站遭到“恶意HTML表单”攻击时的自我恢复能力进行评估。这个工具可以自动提取出给定网页里的表单,在把各表单里的输入字段全都提取出来进行分析。有了这个工具,通过对HTML表单中的GET和POST请求进行精心地构造而发起“畸形输入”攻击就变得非常容易了。Form Scalpel支持HTTP和HTTPS连接,并可以经由代理服务器起作用。Form Scalpel工具需要运行在Win32上,它的下载地址是http://www.securtyfocus.com/tods/2241。 黑客攻击与防范

  42. FSMax • FSMax是一个在脚本里使用的服务器安防漏洞测试工具,其下载地址是http://www.foundstone.com/knowledge/free_tool.html。这个工具以一个文本文件做为输入并根据这个输入对给定服务清进行一系列测试。这个工具的设计用途是用来寻找给定服务器是否存在缓冲区溢出漏洞或是拒绝服务攻击点。 • WASAT • WASAT是一个小巧的GUI工具,它可以对网站的基本身份验证功能和基于表单的Web身份验证机制做安全性评估。WASAT能够用来对目标网站进行各种复杂程度的字典蛮力攻击。它的下载地址是http://www.instisec.com/publico/descargas. 黑客攻击与防范

  43. SPIKE • SPIKE是Immunity Security,Inc.公司开发的一个“侦探”工具包,下载地址是http://www.immunitysec.com/resources-freesoftware.shtml。这里所说的“侦探”指的是把一些随即生成的输入数据馈入某个接口、再通过分析其输出结果而发现潜在安防漏洞的过程。这个工具包里有一个用来破解Web服务器NTLM身份验证口令字的蛮力攻击程序,每秒可以试猜9个单词。 黑客攻击与防范

  44. Web应用程序漏洞扫描器 •   上面介绍的那些工具都只能完成某一项或某几项Web应用程序评估工作,近几年来,商业化Web应用程序漏洞扫描器的市场已经发育的相当成熟了,几种这方面的领先产品: • SPI Dynamics公司的Weblnspect工具和SPI Tookit工具包 •   这套软件主要包括以下几个组件:SecureObjects,这个组件向使用Microsoft Visual Studio开发环境的程序员提供了许多输入检查和错误处理全程;WebInspect for Developers,这个工具可以帮助Web应用程序开发者检查自己编写的代码是否存在已知的安防漏洞;一个以Mercury公司的TestDirector工具为蓝本、以产品的安全性为重点的质量控制模块;一个可以用来对Web应用程序进行多种高级穿刺测试工具包。 • SPI Dynamics公司允许免费下载其工具软件的测试版,以下为试用评价。 黑客攻击与防范

  45. 软件工具包中部分工具/组件清单试用评价: • Cookie Cruncher 包括字符集工具、随机分析工具、预测工具、字符出现频率统计工具等,对Cookie进行分析用的工具全有了, • Encoders/Decoders这组工具可以用15种常见的加密算法对用户提供的字符串进行编码或解码。 • HTTP Editor没有HTTP编辑器的Web应用程序分析工具包就不是一个完备的工具包。这个工具的用途是生成各种“非法”的输入。 • SOAP Editor 类似于HTTP Editor,但采用的是SOAP协议,额外好处是很多格式可以自动生成。 • SPI Fuzzer 一个是使用HTTP协议以自动方式进行“异常输入攻击”的工具,他和手动方式的HTTP Editor工具互为补充。 黑客攻击与防范

  46. SPI Proxy 现在的“二传手攻击”分析工具,对Web通信进行嗅探和剖析。这个工具很像前面介绍的Achilles工具,但在操作简便性、显示效果和控制方面有很多改进。 • SQL Injector 它现在的引擎/攻击手段在数量上还略显不足,但肯定会越来越好。 • Web Brute Web应用程序安全性测试人员的又一个必备工具。这个工具可以测试身份验证环节的低强度“用户名/口令字”组合,弱/用户名/口令字是最常见的漏洞之一。 • Web Discovery 这是一个简单的端口扫描工具,他自带一份常见Web服务的端口分配表,可以帮助你在一个大型网络里迅速找出有漏洞的服务器。在我们进行的测试中,这个扫描工具表现的十分灵活和快速。 黑客攻击与防范

  47. 12.2.4Web应用程序的常见安防漏洞 • Open Web Application Security Project组织对被人们发现的绝大多数重大Web应用程序安防漏洞进行了分类,这一小节对OWASP组织划分的以下几类Web应用程序漏洞进行讨论: • A1:未经检查的输入 • A4:跨站点校本 • A6:内容注射缺陷 黑客攻击与防范

  48. SQL注射 流行度:9 简单度:5 影响力:8 风险率:7 •   “SQL注射”——向某个应用程序输入一个精心构造的Transact SQL查询命令以执行某种正常操作——就是这类攻击手段中最容易的手的一种技术。 •   “SQL注射”攻击活动中,用来构造恶意输入内容的常见字符包括反引号(‘)双下划线(--)和分号(;)等,他们在TransactSQL语言里都有着特殊含义。对于入门级黑客,这种攻击往往能让他们在未经授权的情况下访问到某些敏感的数据;而精通此道的高级黑客甚至能在绕过身份验证机制之后掌握Web服务器或后端SQL系统的控制权。 黑客攻击与防范

  49. “跨站点脚本”攻击 流行度:9 简单度:3 影响力:5 风险率:6 •   即XSS攻击,XSS攻击的目标通常不是Web应用程序本身而是这个程序的另一个用户。比如说,假如用户A把一条包含着恶意代码的消息发布到了新闻组里,当用户B去查看这条消息是,用户B的浏览器将试图揭示并执行那段恶意代码,用户B所使用的那台系统的最高控制权就很可能因此而落入攻击者之手。XSS攻击可导致账户/会话被盗用、Cookie被盗、企业的品牌形象被误导或诋毁等。 黑客攻击与防范

  50. HTTP响应割裂 流行度:3 简单度:3 影响力:6 风险率:4 •   “HTTP响应割裂”这类漏洞的根源和“SQL注射”或“跨站点脚本”一模一样:Web应用程序对输入数据的检查不够仔细,“HTTP响应割裂”在攻击效果上与XSS很相似——致使用户更容易在这种新的“网络欺诈”手法前面上当受骗、因而更容易导致敏感信息泄漏或站点名誉受到损害而已。 •   攻击者把一个恶意链接嵌在一封电子邮件里发送给有漏洞的服务器,而通过那个恶意的链接注射进去的HTTP响应消息可以把受害者重定向到一个恶意网站、设置一个恶意的Cookie和/或毒化受害者的Internet缓存区—当毫不知情的受害者以为点击这个恶意链接会把自己带到eBay或Google等好地方去的时候,却发现自己实际进入的是一个恶意的网站。 黑客攻击与防范

More Related