扫描网站漏洞是要用专业的扫描工具,下面就是介绍几种工具
成都创新互联专业提供成都多线服务器托管服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买成都多线服务器托管服务,并享受7*24小时金牌售后服务。
1. Nikto
这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目进行全面的测试。其扫描项目和插件经常更新并且可以自动更新。Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下,它也可以支持 LibWhisker的反IDS方法。不过,并非每一次检查都可以找出一个安全问题,虽然多数情况下是这样的。有一些项目是仅提供信息类型的检查,这种检查可以查找一些并不存在安全漏洞的项目,不过Web管理员或安全工程师们并不知道。
2. Paros proxy
这是一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看 HTTP/HTTPS,从而改变cookies和表单字段等项目。它包括一个Web通信记录程序,Web圈套程序,hash 计算器,还有一个可以洞戚测试常见的Web应用程序攻击的扫描器。
3. WebScarab:
它可以分析使用HTTP和HTTPS协议进行通信的应用程序,WebScarab可以用最简单地形式记录它观察的会话,并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程序的运行状态,那么WebScarabi就可以满足你这种需要。不管是帮助开发人员调试其它方面的难题,还是允许安全专业人员识别漏洞,它都是一款不错的工具。
4. WebInspect:
这是一款强大的Web应用程序扫描程序。SPI Dynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。它还可以检查一个Web服务器是否正确配置,并会尝试一些常见的 Web攻击,如参数注入、跨站脚本、目录遍历攻击等等。
5. Whisker/libwhisker :
Libwhisker是一个Perla模块,适合于HTTP测试。它可以针对许多已知的兆岁安全漏洞,测试HTTP服务器,特别是检测危险CGI的存在。 Whisker是一个使用libwhisker的扫描程序。
6. Burpsuite:
这是一个可以用于攻击Web应用程序的集成平台。Burp套件允许一个攻击者将人工的和自动的技术结合起来,以列举、分析、攻击Web应用程序,或利用这些程序的漏洞。各种各样的burp工具协同工作,共享信息,并允许将一种工具发现的漏洞形成另外一种工具的基础。
7. Wikto:
可以说这是一个Web服务器评估工具,它可以检查Web服务器中的漏洞,并提供与Nikto一样的很多功能,但增加了许多有趣的功能部纳猜陵分,如后端 miner和紧密的Google集成。它为MS.NET环境编写,但用户需要注册才能下载其二进制文件和源代码。
8. Acunetix Web Vulnerability Scanner :
这是一款商业级的Web漏洞扫描程序,它可以检查Web应用程序中的漏洞,如SQL注入、跨站脚本攻击、身份验证页上的弱口令长度等。它拥有一个操作方便的图形用户界面,并且能够创建专业级的Web站点安全审核报告。
9. Watchfire AppScan:
这也是一款商业类的Web漏洞扫描程序。AppScan在应用程序的整个开发周期都提供安全测试,从而测试简化了部件测试和开发早期的安全保证。它可以扫描许多常见的漏洞,如跨站脚本攻击、HTTP响应拆分漏洞、参数篡改、隐式字段处理、后门/调试选项、缓冲区溢出等等。
10. N-Stealth:
N-Stealth是一款商业级的Web服务器安全扫描程序。它比一些免费的Web扫描程序,如Whisker/libwhisker、 Nikto等的升级频率更高。还要注意,实际上所有通用的VA工具,如Nessus, ISS Internet Scanner, Retina, SAINT, Sara等都包含Web 扫描部件。N-Stealth主要为Windows平台提供扫描,但并不提供源代码。
不但企业的门户网站被篡改、资料被窃取,而且还成为了病毒与木马的传播者。有些Web管理员采取了一些措施,虽然可以保证门户网站的主页不被篡改,但是却很难避免自己的网站被当作肉鸡,来传播病毒、恶意插件、木马等等。笔者认为,这很大一部分原因是管理员在Web安全防护上太被动。他们只是被动的防御。为了彻底提高Web服务器的安全,笔者认为,Web安全要主动出击。具体的来说,需要做到如下几点。
一、在代码编写时就要进行漏洞测试
现在的企业网站做的越来越复杂、功能越来越强。不过这些都不是凭空而来的,是通过代码堆积起来的。如果这个代码只供企业内部使用,那么不会带来多大的安全隐患。但是如果放在互联网上使用的话,则这些为实现特定功能的代码就有可能成为攻击者的目标。笔者举一个简单的例子。在网页中可以嵌入SQL代码。而攻击者就可以利用这些SQL代码来发动攻击,来获取管理员的密码等等破坏性的动作。有时候访问某些网站还需要有某些特定的控件。用户在安装这些控件时,其实就有可能在安装一个木马(这可能访问者与被访问者都没有意识到)。
为此在为网站某个特定功能编写代码时,就要主动出击。从编码的设计到编写、到测试,都需要认识到是否存在着安全的漏洞。笔者在日常过程中,在这方面对于员工提出了很高的要求。各个员工必须对自己所开发的功能负责。至少现在已知的病毒、木马不能够在你所开发的插件中有机可乘。通过这层层把关,就可以提高代码编写的安全性。
二、对Web服务器进行持续的监控
冰冻三尺、非一日之寒。这就好像人生病一样,都有一个过程。病毒、木马等等在攻击Web服务器时,也需要一个过程。或者说,在攻击取得成功之前,他们会有一些试探性的动作。如对于一个采取了一定安全措施的Web服务器,从攻击开始到取得成果,至少要有半天的时间。如果Web管理员对服务器进行了全天候的监控。在谈基发现有异常行为时,及早的采取措施,将病毒与木马阻挡在门户之外。这种主动出击的方式,就可以大大的提高Web服务器的安全性。
笔者现在维护的Web服务器有好几十个。现在专门有一个小组,来全天候的监控服务器的访问。平均每分钟都可以监测到一些试探性的攻击行为。其中99%以上的攻击行为,由于服务器已经采取了对应的安全措施,都无功而返。不过每天仍然会遇到一些攻击行为。这些攻击行为可能是针对新的漏洞,或者采取了新的攻击方式。在服务器上原先没有采取对应的安全措施。如果没有及时的发现这种行为,那么他们就很有可能最终实现他们的非法目的。相反,现在及早的发现了他们的攻击手段,那么我们就可以在他们采取进一步行动之前,就在服务器上关掉这扇门,补上这个漏洞。
笔者在这里也建议,企业用户在选择互联网Web服务器提供商的时候,除了考虑性能等因素之外,还要评估服务提供商能否提供全天候的监控机制。在Web安全上主动出击,及时发现攻击者的攻击行为。在他们采取进一步攻击措施之前,就他们消除在萌芽状态。
三、设置蜜罐,将攻击者引向错误的方向
在军队中,有时候会给军人一些“伪装”,让敌人分不清真伪。其实在跟病毒、木马打交道时,本身就是一场无硝烟的战争。为此对于Web服务器采取一些伪装,也能够将攻击者引向错误的方向。等到供给者发现自己的目标错误时,管理员已经锁定了攻击者,从而可以及早的采取相应的措施。笔者有时候将这种主动出击的行为叫做蜜罐效应。简单的说,就是设置两个服务器。其中一个是真正的服务器,另外一个是蜜罐。现在需要扰漏做的是,如何将真正的服务器伪装起来,含李谨而将蜜罐推向公众。让攻击者认为蜜罐服务器才是真正的服务器。要做到这一点的话,可能需要从如下几个方面出发。
一是有真有假,难以区分。如果要瞒过攻击者的眼睛,那么蜜罐服务器就不能够做的太假。笔者在做蜜罐服务器的时候,80%以上的内容都是跟真的服务器相同的。只有一些比较机密的信息没有防治在蜜罐服务器上。而且蜜罐服务器所采取的安全措施跟真的服务器事完全相同的。这不但可以提高蜜罐服务器的真实性,而且也可以用来评估真实服务器的安全性。一举两得。
二是需要有意无意的将攻击者引向蜜罐服务器。攻击者在判断一个Web服务器是否值得攻击时,会进行评估。如评估这个网站的流量是否比较高。如果网站的流量不高,那么即使被攻破了,也没有多大的实用价值。攻击者如果没有有利可图的话,不会花这么大的精力在这个网站服务器上面。如果要将攻击者引向这个蜜罐服务器的话,那么就需要提高这个蜜罐服务器的访问量。其实要做到这一点也非常的容易。现在有很多用来交互流量的团队。只要花一点比较小的投资就可以做到这一点。
四、专人对Web服务器的安全性进行测试
俗话说,靠人不如靠自己。在Web服务器的攻防战上,这一个原则也适用。笔者建议,如果企业对于Web服务的安全比较高,如网站服务器上有电子商务交易平台,此时最好设置一个专业的团队。他们充当攻击者的角色,对服务器进行安全性的测试。这个专业团队主要执行如下几个任务。
一是测试Web管理团队对攻击行为的反应速度。如可以采用一些现在比较流行的攻击手段,对自己的Web服务器发动攻击。当然这个时间是随机的。预先Web管理团队并不知道。现在要评估的是,Web管理团队在多少时间之内能够发现这种攻击的行为。这也是考验管理团队全天候跟踪的能力。一般来说,这个时间越短越好。应该将这个时间控制在可控的范围之内。即使攻击最后没有成功,Web管理团队也应该及早的发现攻击的行为。毕竟有没有发现、与最终有没有取得成功,是两个不同的概念。
二是要测试服务器的漏洞是否有补上。毕竟大部分的攻击行为,都是针对服务器现有的漏洞所产生的。现在这个专业团队要做的就是,这些已发现的漏洞是否都已经打上了安全补丁或者采取了对应的安全措施。有时候我们都没有发现的漏洞是无能为力,但是对于这些已经存在的漏洞不能够放过。否则的话,也太便宜那些攻击者了。
一般来说,一个WEB应用包括WEB服务器运行的操作系统、WEB服务器、WEB应用逻辑、数据库几个部分,其中任何一个部分出现安全漏洞,都会导致整个系统的安全性问题。\x0d\x0a对操作系统来说,最关键的操作系统的漏洞,Windows上的RPC漏洞、缓冲区溢出漏洞、安全机制漏洞等等;\x0d\x0a对WEB服务器来说,WEB服务器从早期仅提供对静态HTML和图片进行访问发展到现在对动态请求的支持,早已是非常庞大的系统。\x0d\x0a对应用逻辑来说,根据其实现的语言不同、机制不同、由于编码、框架本身的漏洞或是业务设计时的不完善,都可能导致安全上的问题。\x0d\x0a雹简氏对WEB的安全性测试是一个很大的题目,首先取决于要达到怎样的安全程度。不要期望网站可以达到100%的安全,须知,即使是美国国防部,也不能保证自己的网站100%安全。对于一般的用于实现业务的网站,达到这样的期望是比较合理的:\x0d\x0a1、能够对密码试探工具进行防范;\x0d\x0a2、源散能够防范对cookie攻击等常用攻击手段;\x0d\x0a3、敏感数据保证不用明文传输;\x0d\x0a4、能防范通过文件名猜测和查看HTML文件内容获取重要咐空信息;\x0d\x0a5、能保证在网站收到工具后在给定时间内恢复,重要数据丢失不超过1个小时;