本文目录一览:
怎么处理正在web攻击的电脑
看是属于那种攻击。
1.DoS,即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击。其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。处理方法,对数据包的地址及端口的正确性进行验证,同时进行反向探测。
2.CSRF,即跨站请求伪造,是一种常见的Web攻击,但很多开发者对它很陌生。CSRF也是Web安全中最容易被忽略的一种攻击。处理,应用程序和用户进行交互过程中,特别是账户交易这种核心步骤,强制用户输入验证码,才能完成最终请求。在通常情况下,验证码够很好地遏制CSRF攻击。但增加验证码降低了用户的体验,网站不能给所有的操作都加上验证码。所以只能将验证码作为一种辅助手段,在关键业务点设置验证码。
3.SQL注入,应用程序在向后台数据库传递SQL结构化查询语言)时,攻击者将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。处理,防止系统敏感信息泄露。设置php.ini选项display_errors=off,防止php脚本出错之后,在web页面输出敏感信息错误,让攻击者有机可乘。
4.上传漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。处理,对于Info漏洞攻击,将为常见的就是建立脏词库。
web攻击有哪些?怎么防护?
1、DoS和DDoS攻击(DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击。其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击)
防范:(1) 反欺骗:对数据包的地址及端口的正确性进行验证,同时进行反向探测。(2) 协议栈行为模式分析:每个数据包类型需要符合RFC规定,这就好像每个数据包都要有完整规范的着装,只要不符合规范,就自动识别并将其过滤掉。(3) 特定应用防护:非法流量总是有一些特定特征的,这就好比即便你混进了顾客群中,但你的行为还是会暴露出你的动机,比如老重复问店员同一个问题,老做同样的动作,这样你仍然还是会被发现的。(4) 带宽控制:真实的访问数据过大时,可以限制其最大输出的流量,以减少下游网络系统的压力。
2、CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击,但很多开发者对它很陌生。CSRF也是Web安全中最容易被忽略的一种攻击。
防范:(1) 验证码。应用程序和用户进行交互过程中,特别是账户交易这种核心步骤,强制用户输入验证码,才能完成最终请求。在通常情况下,验证码够很好地遏制CSRF攻击。但增加验证码降低了用户的体验,网站不能给所有的操作都加上验证码。所以只能将验证码作为一种辅助手段,在关键业务点设置验证码。(2) Referer Check。HTTP Referer是header的一部分,当浏览器向web服务器发送请求时,一般会带上Referer信息告诉服务器是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。可以通过检查请求的来源来防御CSRF攻击。正常请求的referer具有一定规律,如在提交表单的referer必定是在该页面发起的请求。所以通过检查http包头referer的值是不是这个页面,来判断是不是CSRF攻击。但在某些情况下如从https跳转到http,浏览器处于安全考虑,不会发送referer,服务器就无法进行check了。若与该网站同域的其他网站有XSS漏洞,那么攻击者可以在其他网站注入恶意脚本,受害者进入了此类同域的网址,也会遭受攻击。出于以上原因,无法完全依赖Referer Check作为防御CSRF的主要手段。但是可以通过Referer Check来监控CSRF攻击的发生。(3) Anti CSRF Token。目前比较完善的解决方案是加入Anti-CSRF-Token,即发送请求时在HTTP 请求中以参数的形式加入一个随机产生的token,并在服务器建立一个拦截器来验证这个token。服务器读取浏览器当前域cookie中这个token值,会进行校验该请求当中的token和cookie当中的token值是否都存在且相等,才认为这是合法的请求。否则认为这次请求是违法的,拒绝该次服务。这种方法相比Referer检查要安全很多,token可以在用户登陆后产生并放于session或cookie中,然后在每次请求时服务器把token从session或cookie中拿出,与本次请求中的token 进行比对。由于token的存在,攻击者无法再构造出一个完整的URL实施CSRF攻击。但在处理多个页面共存问题时,当某个页面消耗掉token后,其他页面的表单保存的还是被消耗掉的那个token,其他页面的表单提交时会出现token错误。
3、XSS(Cross Site Scripting),跨站脚本攻击。为和层叠样式表(Cascading Style Sheets,CSS)区分开,跨站脚本在安全领域叫做“XSS”。
防范:(1) 输入过滤。永远不要相信用户的输入,对用户输入的数据做一定的过滤。如输入的数据是否符合预期的格式,比如日期格式,Email格式,电话号码格式等等。这样可以初步对XSS漏洞进行防御。上面的措施只在web端做了限制,攻击者通抓包工具如Fiddler还是可以绕过前端输入的限制,修改请求注入攻击脚本。因此,后台服务器需要在接收到用户输入的数据后,对特殊危险字符进行过滤或者转义处理,然后再存储到数据库中。(2) 输出编码。服务器端输出到浏览器的数据,可以使用系统的安全函数来进行编码或转义来防范XSS攻击。在PHP中,有htmlentities()和htmlspecialchars()两个函数可以满足安全要求。相应的JavaScript的编码方式可以使用JavascriptEncode。(3) 安全编码。开发需尽量避免Web客户端文档重写、重定向或其他敏感操作,同时要避免使用客户端数据,这些操作需尽量在服务器端使用动态页面来实现。(4) HttpOnly Cookie。预防XSS攻击窃取用户cookie最有效的防御手段。Web应用程序在设置cookie时,将其属性设为HttpOnly,就可以避免该网页的cookie被客户端恶意JavaScript窃取,保护用户cookie信息。(5)WAF(Web Application Firewall),Web应用防火墙,主要的功能是防范诸如网页木马、XSS以及CSRF等常见的Web漏洞攻击。由第三方公司开发,在企业环境中深受欢迎。
4、SQL注入(SQL Injection),应用程序在向后台数据库传递SQL(Structured Query Language,结构化查询语言)时,攻击者将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
防范:(1) 防止系统敏感信息泄露。设置php.ini选项display_errors=off,防止php脚本出错之后,在web页面输出敏感信息错误,让攻击者有机可乘。(2) 数据转义。设置php.ini选项magic_quotes_gpc=on,它会将提交的变量中所有的’(单引号),”(双引号),\(反斜杠),空白字符等都在前面自动加上\。或者采用mysql_real_escape()函数或addslashes()函数进行输入参数的转义。(3) 增加黑名单或者白名单验证。白名单验证一般指,检查用户输入是否是符合预期的类型、长度、数值范围或者其他格式标准。黑名单验证是指,若在用户输入中,包含明显的恶意内容则拒绝该条用户请求。在使用白名单验证时,一般会配合黑名单验证。
5、上传漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。该漏洞允许用户上传任意文件可能会让攻击者注入危险内容或恶意代码,并在服务器上运行。
防范: (1)检查服务器是否判断了上传文件类型及后缀。 (2) 定义上传文件类型白名单,即只允许白名单里面类型的文件上传。 (3) 文件上传目录禁止执行脚本解析,避免攻击者进行二次攻击。 Info漏洞 Info漏洞就是CGI把输入的参数原样输出到页面,攻击者通过修改输入参数而达到欺骗用户的目的。
计算机的脆弱性有哪些?
计算机脆弱性无处不在,对其进行评估的最终目的是要指导系统管理员在“提供服务”和“保证安全”这两者之间找到平衡。
人们在享受网络带来的种种方便、快捷服务的同时,也不得不面临来自网络的种种威胁——黑客入侵、计算机病毒等。其实,早在主机终端时代,黑客攻击和计算机病毒就已经出现,然而网络为它们提供了更多的攻击对象、更新的攻击方式,从而也使得它们危害性更大。
近年来,随着互联网的迅速发展,黑客、病毒攻击事件越来越多。根据CNNIC历年的“中国互联网络发展状况统计报告”,我国上网计算机数量已经从1997年的29.9万台猛增到2002年的1,254万台。在过去一年内确定被入侵过的用户计算机比例也从2000年的11.65%上升到2002年的63.3%。另外,根据CERT/CC的统计,2002年报告的安全事件(security incident)的数量达到82,094件,远远高于2001年的52,658件和2000年的21,756件。
之所以会有如此众多的攻击行为,一方面是由于互联网的应用范围越来越广,另一方面也由于简单易用的黑客工具越来越多,然而最主要、最根本的原因还是计算机系统存在可以被渗透(exploit)的脆弱性(vulnerability),——或者称作安全漏洞(security hole)。计算机脆弱性是系统的一组特性,恶意的主体(攻击者或者攻击程序)能够利用这组特性,通过已授权的手段和方式获取对资源的未授权访问,或者对系统造成损害。
CERT/CC表示,成功的Web攻击事件中有大约95%都是由于没有对已知的漏洞进行修补。SANS和FBI会定期公布最危险的20个漏洞,大多数通过互联网对计算机系统进行的入侵都可以归结为没有对这20个漏洞进行修补,比如:曾经造成很大影响的红色代码(Code Red)和尼姆达(Nimda)蠕虫病毒。因此,对网络上的计算机以及由若干主机组成的局域网进行脆弱性评估就显得尤为重要。
在网络安全领域,脆弱性评估和入侵检测系统、防火墙、病毒检测构成网络安全四要素。脆弱性评估是对目标系统进行脆弱性分析,这里的系统可以是一个服务,也可以是一个网络上的计算机,还可以是整个计算机网络。它是从黑客攻击技术和对黑客的防范技术发展而来的。
对于特定的服务而言,脆弱性评估和软件设计阶段以及软件测试阶段的故障分析有些类似,但又不完全一样。在软件设计阶段,主要目的是要努力避免产生渗透变迁(造成标记颜色改变的变迁);在软件测试阶段,主要目的是要找出可能存在的渗透变迁;而脆弱性评估主要是检验目标软件是否具有已知的渗透变迁。尽管这三个阶段的主要目的不同,但可以使用类似的模型方法。
计算机系统的脆弱性评估经历了从手动评估到自动评估的阶段,目前正在由局部评估向整体评估发展,由基于规则的评估方法向基于模型的评估方法发展,由单机评估向分布式评估发展。对于一个运行了若干服务的网络上的计算机而言,脆弱性评估不仅要检验各个服务是否具有已知的渗透变迁,还要检验不同的服务在同一个主机上运行时会不会产生新的渗透变迁。这就好像是在测试一个安装了众多服务的计算机主机,不但要保证其上独立的服务没有差错,还要保证服务之间的关系不会产生新的差错。
计算机脆弱性可以说是无处不在。由于互联网在最初设计时并没有考虑安全问题,在互联网上的计算机要保证信息的完整性、可用性和保密性就比较困难。同时,网络上的计算机总要提供某些服务才能够与其它计算机相互通信,然而复杂的软件系统不可能没有瑕疵,导致计算机系统和计算机网络的脆弱性不可能完全消除,所以脆弱性评估的最终目的不是完全消除脆弱性,而是提供出一份安全解决方案,帮助系统管理员在“提供服务”和“保证安全”之间找到平衡。