网站受到了XSS攻击,有什么办法?
一.跨站脚本攻击(XSS)
跨站脚本攻击(XSS,Cross-site scripting)是最常见和基本的攻击WEB网站的 *** 。攻击者在网页上发布包含攻击性代码的数据。当浏览者看到此网页时,特定的脚本就会以浏览者用 户的身份和权限来执行。通过XSS可以比较容易地修改用户数据、窃取用户信息,以及造成其它类型的攻击,例如CSRF攻击
常见解决办法:确保输出到HTML页面的数据以HTML的方式被转义
出错的页面的漏洞也可能造成XSS攻击.比如页面/gift/giftList.htm?page=2找不到,出错页面直接把该url原样输出,如果攻击者在url后面加上攻击代码发给受害者,就有可能出现XSS攻击
二. 跨站请求伪造攻击(CSRF)
跨站请求伪造(CSRF,Cross-site request forgery)是另一种常见的攻击。攻击者通过各种 *** 伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据,或者执行特定任务的目的。为了 假冒用户的身份,CSRF攻击常常和XSS攻击配合起来做,但也可以通过其它手段,例如诱使用户点击一个包含攻击的链接
解决的思路有:
1.采用POST请求,增加攻击的难度.用户点击一个链接就可以发起GET类型的请求。而POST请求相对比较难,攻击者往往需要借助javascript才能实现
2.对请求进行认证,确保该请求确实是用户本人填写表单并提交的,而不是第三者伪造的.具体可以在会话中增加token,确保看到信息和提交信息的是同一个人
三.Http Heads攻击
凡是用浏览器查看任何WEB网站,无论你的WEB网站采用何种技术和框架,都用到了HTTP协议.HTTP协议在Response header和content之间,有一个空行,即两组CRLF(0x0D 0A)字符。这个空行标志着headers的结束和content的开始。“聪明”的攻击者可以利用这一点。只要攻击者有办法将任意字符“注入”到 headers中,这种攻击就可以发生
以登陆为例:有这样一个url:
当登录成功以后,需要重定向回page参数所指定的页面。下面是重定向发生时的response headers.
HTTP/1.1 302 Moved Temporarily
Date: Tue, 17 Aug 2010 20:00:29 GMT
Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
Location:
假如把URL修改一下,变成这个样子:
那么重定向发生时的reponse会变成下面的样子:
HTTP/1.1 302 Moved Temporarily
Date: Tue, 17 Aug 2010 20:00:29 GMT
Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
Location: ;CRLF
CRLF
scriptalert('hello')/script
这个页面可能会意外地执行隐藏在URL中的javascript。类似的情况不仅发生在重定向(Location header)上,也有可能发生在其它headers中,如Set-Cookie header。这种攻击如果成功的话,可以做很多事,例如:执行脚本、设置额外的cookie(CRLFSet-Cookie: evil=value)等。
避免这种攻击的 *** ,就是过滤所有的response headers,除去header中出现的非法字符,尤其是CRLF。
服务器一般会限制request headers的大小。例如Apache server默认限制request header为8K。如果超过8K,Aapche Server将会返回400 Bad Request响应:
对于大多数情况,8K是足够大的。假设应用程序把用户输入的某内容保存在cookie中,就有可能超过8K.攻击者把超过8k的header链接发给受害 者,就会被服务器拒绝访问.解决办法就是检查cookie的大小,限制新cookie的总大写,减少因header过大而产生的拒绝访问攻击
四.Cookie攻击
通过Java Script非常容易访问到当前网站的cookie。你可以打开任何网站,然后在浏览器地址栏中输 入:javascript:alert(doucment.cookie),立刻就可以看到当前站点的cookie(如果有的话)。攻击者可以利用这个特 性来取得你的关键信息。例如,和XSS攻击相配合,攻击者在你的浏览器上执行特定的Java Script脚本,取得你的cookie。假设这个网站仅依赖cookie来验证用户身份,那么攻击者就可以假冒你的身份来做一些事情。
现在多数浏览器都支持在cookie上打上HttpOnly的标记,凡有这个标志的cookie就无法通过Java Script来取得,如果能在关键cookie上打上这个标记,就会大大增强cookie的安全性
五.重定向攻击
一种常用的攻击手段是“钓鱼”。钓鱼攻击者,通常会发送给受害者一个合法链接,当链接被点击时,用户被导向一个似是而非的非法网站,从而达到骗取用户信 任、窃取用户资料的目的。为防止这种行为,我们必须对所有的重定向操作进行审核,以避免重定向到一个危险的地方.常见解决方案是白名单,将合法的要重定向 的url加到白名单中,非白名单上的域名重定向时拒之,第二种解决方案是重定向token,在合法的url上加上token,重定向时进行验证.
六.上传文件攻击
1.文件名攻击,上传的文件采用上传之前的文件名,可能造成:客户端和服务端字符码不兼容,导致文件名乱码问题;文件名包含脚本,从而造成攻击.
2.文件后缀攻击.上传的文件的后缀可能是exe可执行程序,js脚本等文件,这些程序可能被执行于受害者的客户端,甚至可能执行于服务器上.因此我们必须过滤文件名后缀,排除那些不被许可的文件名后缀.
3.文件内容攻击.IE6有一个很严重的问题 , 它不信任服务器所发送的content type,而是自动根据文件内容来识别文件的类型,并根据所识别的类型来显示或执行文件.如果上传一个gif文件,在文件末尾放一段js攻击脚本,就有可 能被执行.这种攻击,它的文件名和content type看起来都是合法的gif图片,然而其内容却包含脚本,这样的攻击无法用文件名过滤来排除,而是必须扫描其文件内容,才能识别。
网站总是被攻击,影响SEO效果怎么办
网站被攻击或者被黑的原因很多,大致总结下来会有两种情况,网站被黑客攻击?到底是谁干的?
1、流量攻击或cc、dos攻击,一般是同行嫉妒,想给你排名打掉。
2、篡改网页,增加网页,修改后台
我们先分别对以上两种情况进行分析:
一、流量攻击(cc或dos等)
这种情况就是,不改你网站,我就模拟大量的请求来针对你的网站,就像你在卖菜,我弄几万个人去你摊位前找你谈话,你生意就做不下去了。这里的就是我请求你的网站,你网站单位时间可以应答的次数是有限的,所以这时候你就无暇应对真实客户的访问,导致网站“瘫痪”。
这种情况,一般情况下,是你的同行干的,因为这种攻击是要找具有攻击能力的资源,是要花钱的,对于跟你这个行业不相干的人来说,他得不到利益。所以只有你的同行在你网站瘫痪的时候,他可以多接一些单子,或者是他可以解一口气。
所以,这种情况,不是你的同行,就是你得罪什么人了……
二、黑你的网站,修改你的数据(篡改、添加网页)
这种情况,一般是有利可图的,为了从高权重网站上导出链接,挂黑链,或者是取得网页排名,他会黑你的网站。如果你网站排名不好,他就是给你网页上加了一个黑链,对他网站帮助也不大,所以一般是你网站比较好,他才会这样来攻击你的网站。
常见的有:增加一些非法网页到你网站,用你域名创建二级域名做网站,用你域名后边加端口号创建网站,篡改你的页面,让你页面跳转……这种黑网站的方式比较多,也是最常见的。
那么对于网站主,你怎么防止这种情况发生呢?
之一种情况:用cdn加速等隔离或者缓冲这种攻击
(1)启用cdn加速
(2)把动态网页改为静态网页,减少单次请求资源耗费
(3)升级服务器,迫使攻击升级,如攻击升级赶不上服务器升级则攻击就宣告失败
第二种情况:篡改网站
这种情况略微复杂,我们要先搞清楚原理:网站就好比是一个小孩儿,攻击就好像是流行性感冒;如果出生时候先天免疫缺陷,就更容易感染,你可以通过:(1)放到比较安全的屋子里(2)更更好地照料,对于网站也一样,如果你有一个更好点的服务器,或者服务器的管理者更专业,就能减少这种被黑。另外,不同的是,网站还有一种可能,就是改版重新做。所以建议是:
(1)改版重新做
(2)搬迁到更专业的服务商那里维护
如果网站被攻击了,要怎么处理?
事先你要了解你的网站是如何被攻击的。下面这四种是常规的攻击方式:
1,流量攻击,就是我们常说的DDOS和DOS等攻击,这种攻击属于最常见的流量攻击中的带宽攻击,一般是使用大量数据包淹没一个或多个路由器、服务器和防火墙,使你的网站处于瘫痪状态无法正常打开。但是这种攻击成本都会很高,所以遇到这样的攻击的时候大家不要惊慌,另外可以试试防御系统,这样的话攻击不会主要针对你的网站。
2, CC攻击,也是流量攻击的一种,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就 *** 拥塞,正常的访问被中止。而CC攻击基本上都是针对端口的攻击,以上这两种攻击基本上都属于硬性流量的攻击, 下面说一下针对数据库的安全进行的一些攻击。
3,破坏数据性的攻击,其实这里说的也就不算是硬性的攻击了,这种是拿到网站的管理权限后可以对页面的内容进行修改,这样的入侵对于网站来说是致命性的,不仅搜索引擎会降权,还会丢失大量的用户。降低这样的入侵带来的危害需要经常备份网站数据和网站关键程序,更好打包到本地电脑里;做好关键文件的权限设置;网站更好采用全静态页面,因为静态页面是不容易被黑客攻击的;ftp和后台相关密码不要用弱口令
4,挂马或者挂黑链,这种不会像第二种危害那么大,但是也是不容忽视的,搜索引擎一旦把你的网站视为木马网站就会被封杀甚至还会列入黑名单,所以问题也不可以忽视。
下面是一些简单的解决 *** :
1、修改网站后台的用户名和密码及后台的默认路径。
2、更改数据库名,如果是ACCESS数据库,那文件的扩展名更好不要用mdb,改成ASP的,文件名也可以多几个特殊符号。
3、接着检查一下网站有没有注入漏洞或跨站漏洞,如果有的话就相当打上防注入或防跨站补丁。
4、检查一下网站的上传文件,常见了有欺骗上传漏洞,就对相应的代码进行过滤。
5、尽可能不要暴露网站的后台地址,以免被社会工程学猜解出管理用户和密码。
6、写入一些防挂马代码,让框架代码等挂马无效。
7、禁用FSO权限也是一种比较绝的 *** 。
8、修改网站部分文件夹的读写权限。
9、如果你是自己的服务器,那就不仅要对你的网站程序做一下安全了,而且要对你的服务器做一下安全也是很有必要了!
如果攻击很严重,可以进行 *** 报警,网上有很详细的资料。就不细说了。
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把输入的参数原样输出到页面,攻击者通过修改输入参数而达到欺骗用户的目的。
常见的网站遭攻击方式有哪些
一、网站攻击之一种:破坏数据攻击 这种攻击可能会对造成较大的影响,甚至可能让网站所有者蒙受较大的损失,也是非常卑鄙的一种手段,同时也属于一种 *** 违法行为。以前的一些大型网站发生的用户名和密码被盗取,很可能就是由于这种攻击所致。比较常见的SQL注入就属于这种攻击,专门破坏和攻击数据服务器。有的会把网站上的网页替换掉,还有的会修改网站上的网页,给网站带来很大的困扰。
二、网站攻击第二种:挂马或挂黑链 这种攻击危害程度不是很大,但也不容忽视,一旦你的网站被挂上木马和黑链接,你的网站在打开时将很不正常,不是网页内容被修改,就是网页连带打开很多窗口等,这样的网站都属于被攻击所致。搜索引擎一旦检测数你的网站被挂马,就可能给你的网站降权性惩罚,严重的甚至被K掉。
三、网站攻击第三种: *** 流量 这种攻击就是我们常听说的CC攻击,有两种像是的流量攻击,即带宽攻击和应用攻击,我们平时所将的流量攻击通常指的是带宽攻击,这是攻击网站的一个最常见的手段之一。这种攻击手段一般是采用大量数据包淹没一个或多个路由器、服务器和防火墙, *** 带宽几乎被占用殆尽,使你的网站无法访问,处于瘫痪状态无法正常打开。
四、解决办法
购买网站安全增值服务产品,这样也可抵御大规模的攻击,比如高防CDN可以很好的解决网站被攻击的问题,还可以加快网站的访问速度。最主要的是可以隐藏源服务器IP,从而让攻击者无从下手
网页被DDOS攻击了会怎么样?怎么解决?
防御的 *** :
(1)可以通过花钱像服务器运营商购买更多的流量或带宽即提高网站服务器配置,当黑客的攻击流量小于你服务器拥有的流量,网站还是可以打开,黑客的目的就没达到,如果黑客还对你网站ip发动ddos攻击,他的肉鸡流量也会有损耗。
3
(2)网站服务器只开放80端口,其他所有端口都关闭,即在防火墙上做阻止策略。
4
(3)检查访问者ip是否是真实ip,使用Unicast Reverse-Path-Forwarding等反向路由器查询检查访问者ip是否真实。
0条大神的评论