网站防止攻击被攻击怎么处理?求方法!

网站被攻击了怎么办?各类攻击应对方法   网站被攻击,这是很多站长都会遇到的一个问题,如果你没有遇到,那么可能有两种情况,一,你没有竞争对手,互联网上只有你一家是做这个的;二,你的网站做的不好,没有竞争力,影响不了他人。如果不是上述两种情况,只要你的网站做的好,那么就会遭到不同程度的攻击。   那么被攻击的网站有那些反映呢?一般是网站访问不稳定,慢、卡甚至打不开。出现这种情况后,就会影响网站在百度的排名,而且客户访问这样的网站,几秒钟打不开的话,就不会再看了。你不光失去了在百度的排名,而且也失去了好多的客户。   于是,就会有很多人痛骂攻击者,也有的建议加硬防。人人都有所专长,或许站长们对网站建设、网络推广比较熟悉,但对于网站被攻击方面,就不一定了解了,在这里我就一些防攻击方面的知识与大家分享。   攻击:攻击网站一般分为3类,分别为ARP欺骗攻击、CC攻击、DDOS流量攻击。   一、先说ARP欺骗攻击:如果要发起ARP欺骗攻击,首先要与网站为同一个机房、同一个IP段、同一个VLAN的服务器的控制权,采用入侵别的服务器的方式。拿到控制权后利用程序伪装被控制的机器为网关欺骗目标服务器。这种攻击一般在网页中潜入代码或者拦截一些用户名和密码。对付这类攻击比较容易,直接通知机房处理相应的被控制的机器就可以了。   二、CC攻击:相对来说,这种攻击的危害大一些。主机空间都有一个参数 IIS 连接数,当被访问网站超出IIS 连接数时,网站就会出现Service Unavailable 。攻击者就是利用被控制的机器不断地向被攻击网站发送访问请求,迫使IIS 连接数超出限制,当CPU 资源或者带宽资源耗尽,那么网站也就被攻击垮了。对于达到百兆的攻击,防火墙就相当吃力,有时甚至造成防火墙的CPU资源耗尽造成防火墙死机。达到百兆以上,运营商一般都会在上层路由封这个被攻击的IP。   针对CC攻击,一般的租用有防CC攻击软件的空间、VPS或服务器就可以了,或者租用章鱼主机,这种机器对CC攻击防御效果更好。   三、流量攻击:就是DDOS攻击,这种攻击的危害是最大的。原理就是向目标服务器发送大量数据包,占用其带宽。对于流量攻击,单纯地加防火墙没用,必须要有足够的带宽和防火墙配合起来才能防御。如果想防御10G 的流量攻击,那就必须用大约20G 的硬件防火墙加上近20G 的带宽资源。如果单用硬防机器的成本相当高,10G硬防也要上万元一个月。但是,如果用集群防护(章鱼主机)的话,那成本就要低的多了。(关于章鱼主机防攻击请看:/blogger/post_read.asp?BlogID=3878974&PostID=)   好了,关于网站被攻击了怎么办?各类攻击应对方法先说了这里,当然还不够全面,如果你有什么好的方法,欢迎加我QQ,交流。
楼主发言:1次 发图:0张 | 更多
  我有这方面的请求可以问你吗
  可以的。。。他转的我的工资
  打错字了,靠
  困了吗,把眼球按下边的箭头动一动就好了。      第一节  (→_→)(↑_↑)(←_←)(↓_↓)(→_→)(↑_↑)(←_←)(↓_↓)  第二节  (→_←)(←_→)(↑_↓)(↓_↑)(←_→)(→_←)(↓_↑)(↑_↓)
  路过了!!!!!!!!!!1
  对idc商有帮助 我这个站经常cc攻击啊 是不是空间不行啊
  我是做网站安全这块的。有需要联系我ID看能不能帮到你
  X诸恶莫做,众善奉行,莫以善小而不为,莫以恶小而为之。
  @跃龙门0
22:52:35  对idc商有帮助 我这个站经常cc攻击啊 是不是空间不行啊  -----------------------------  您好,你是否因为公司网页被Ddos攻击导致无法打开,或者贵公司APP遭遇骇客攻击导致瘫痪感到烦恼呢?  我是广州网堤信息安全的小冯,我司专业从事基于WEB网站、移动端APP和IP地址的DDOS、DNS、WAF等相关安全防护服务。可以为贵公司排扰解难!有需要请与我联糸。  手机 /微信:
09:25:19  我有这方面的请求可以问你吗  -----------------------------  您好,你是否因为公司网页被Ddos攻击导致无法打开,或者贵公司APP遭遇骇客攻击导致瘫痪感到烦恼呢?  我是广州网堤信息安全的小冯,我司专业从事基于WEB网站、移动端APP和IP地址的DDOS、DNS、WAF等相关安全防护服务。可以为贵公司排扰解难!有需要请与我联糸。  手机 /微信:
请遵守言论规则,不得违反国家法律法规回复(Ctrl+Enter)web网站常见受攻击方式及解决办法_中华文本库
攻击 常见网站防攻击办法:确保输出到 HTML 页面的数据以 HTML 的方式被转义。 ...四、Http Heads 攻击 凡是用浏览器查看任何 WEB 网站,无论你的 WEB 网站采用...
总体说来,容易导致学校 Web 服务器被攻击的主要攻击手段有以下几种: 4 西亚斯...机构内部众多用户和各种应用系统,通过位于外 网接口的防火墙进行了防护和保障,...
web应用常见安全漏洞_互联网_IT/计算机_专业资料。...同样,如果参数未被验证,那么攻击者就可以利用其来...付这些攻击;使用加密手段来应对威胁 2.使用一定的...
WEB网站系统安全解决方案_IT/计算机_专业资料。web网站...在应用系统中 常用的密码技术主要有以下几种: A....当口令以明文方式在网络上传递时,容易被攻击者截取...
网络安全常见攻击方式与防护方 法简介中国移动通信...09年国内众多知名网站的安全漏洞被利用挂马,例如新浪...WEB Server的漏洞 IE等浏览器漏洞内部资料 注意保密...
网站常见漏洞以及解决办法问题 远端 WWW 服务支持 TRACE 请求①开启 Apache 的 ...其二,XST 攻击描述:攻击者将恶意代码嵌入一台已经被控制的主机上的 web 文件,...
Java 常见漏洞及 处理说明 杨博 本文专门介绍针对 java web 程序常见高危安全...Web 程序 中常见的漏洞,XSS 属于被动式且用于客户端的攻击方式,所以容易被忽略...
常见黑客攻击及安全防御手段_互联网_IT/计算机_专业资料。常见黑客攻击及安全防御...Windows 2000登录验证机制可被绕过 攻击的发展趋势 File Server Web Server 混合...
本文重点对常见网站攻击及应对方法进行了分析论述。 关键词:网络安全漏洞 DDOS 木马 SQL 注入 Webshell 计算机系统中的漏洞已经越来越引起人们的重视,而针对这些漏洞...
参数的用户输入可能被保存在一个字符串 变量中并且由 Web 应用程序插入到
标记...常见的变化形式经常是在脚本代码前面加上 &&&,以 & 尝试封闭网站可能在输出中...建站一个月几乎每天都被攻击。。求解决思路
21:42:53 +08:00 · 10699 次点击
建站一个月。。。几乎每天都在被攻击。。。而且道高一丈魔高一丈的。。。攻击方法不断升级。。。
我的架构是nginx php mysql,今天搭上了SSDB,依旧未管用
主要攻击是在搜索页,一开始是单一ip单一词汇刷而已
封了ip以后变成n个ip不停刷
于是我就把搜索使用的词封掉,于是变成n个8-10个词的组合不停的刷,就这也算有规律可循
但是到了今天变成了拿字典来刷,完全无规律组合词多ip不停搜索
一上来我就挂,即使我把搜过的纪录全放到了SSDB,但是还是一刷就挂,一堆新组合词语,mysql瞬间200%,nginx 503。
最后只能放上了验证码,机制是搜索10次填写一次验证码。。。至于这个办法是否管用现在还不知道。。。
有人建议用sphinx,我还没用,貌似文档不太友好,对我这个非技术人员比较头疼。。。
求专业技术大拿提供解决问题思路。。。
第 1 条附言 &·&
22:46:59 +08:00
验证码也挂了。。。。一分钟几十万请求。。。。 无解了。。。。
第 2 条附言 &·&
22:49:39 +08:00
进入听天由命状态..
146 回复 &| &直到
02:08:12 +08:00
& & 21:47:45 +08:00 via iPhone
什么站这么招人嫉妒?
& & 21:49:01 +08:00 via Android
Nginx limit_req limit_conn
& & 21:49:20 +08:00 via iPad
登录以后用自己的搜索,登录之前,所有搜索转百度。注册用邮箱或手机认证。
& & 21:49:33 +08:00
这个事情描述的很劲爆,就像楼主的头像一样, 火!
为什么不弄注册用户才能搜索呢,每小时每用户只能搜3个关键词,再加个注册验证码或手机号注册验证(参考115),妥妥的就解决了啊?楼主没写清楚网站,难道是你之前说的那个字幕站?
& & 21:50:14 +08:00
& & 21:50:15 +08:00
开玩笑吧。。。我垃圾站放一年没人来看
& & 21:51:19 +08:00
@ 这倒是个办法。。。以前没有想到。。。不过似乎和让填验证码也没啥本质区别
& & 21:51:38 +08:00 via Android
还有限制搜索搜索频率,这个让PHP做,频率过高的直接503让他以为成功
& & 21:52:15 +08:00 via Android
& & 21:53:37 +08:00
@ 我有观察过。。。单个ip的访问和普通用户差不多。。。没法对ip做限制
& & 21:55:02 +08:00
限制搜索频率,六维就是这么干的。
加上搜索多少次之后要验证码,google对可疑ip就是这么干的。
& & 21:57:06 +08:00
@ 这种方式还是不友好啊。。。影响用户体验。。。
& & 21:58:13 +08:00
@ 海量IP无法封。。。不好找规律
& & 21:58:36 +08:00
@ 现在是使用的此办法。。。
& & 22:03:25 +08:00
加上验证码基本上可以了,良好的验证码还是比较难破解的,或者说是破解成本升高。
& & 22:05:20 +08:00 via Android
搜索一般是直接post,这种post完全没有cookie没有session,知道这点后,没session上手就post的,返回一个cached的页面,
1. 不要去封什么ip,没意思的,外面ip买买几分钱一个代理,你手动封肯定不是办法
2. 要返回正常页面,使他不能判断是不是你服务器到极限了
几次下来,他就无趣了,ip毕竟要花钱 ,他也是有点成本的
& & 22:05:28 +08:00
攻击图什么呢 要保护费么
& & 22:06:34 +08:00 via Android
如果他升级了,有session了,你要封ip要自动化,参考谷歌,你搜多了他就不让你搜了
& & 22:07:00 +08:00
搜索达到一定频率搜索功能直接启用验证码,不按IP什么的做限制,直接按功能做限制
& & 22:08:56 +08:00
@ 我也想知道,只能理解为竞争对手,我的网站上不去就去他的网站了
& & 22:09:18 +08:00
@ 好吧。。。看来要忍受验证码常态化了。。。
& & 22:12:18 +08:00 via iPad
@ 换IP这种攻击,如果你还要运行什么行为分析代码,服务器早over了,只能堵他是机器人的漏洞。他的客户端就干一个事,换不同ip(断网拨号,或者在VPN里面切换),post查询。你可以这样试一下,在查询页面里加一个隐藏随机码,这个随机码同时放到session里面,获得post后,检查随机码是否等于session里保存的随机码,不等于就404。这用来防止无脑post型,就算他写代码,也必须先get你的网页,解析加入查询内容,然后才能提交,他也需要很多内存。
& & 22:13:50 +08:00
@ 我也发现了。。。记录ip分析啥的完全无用。。。上来直接就挂。。。
& & 22:16:43 +08:00
提到的这个是好办法
我又想到,如果IP确实太多封不完的话,最关键保护方法有两点:
1. 不要让搜索结果页面异常(比如ban IP 或404),或者至少让攻击者很难分辩结果页面是否专门针对攻击设计
2. 即使攻击者发现了结果不对(比如是缓存结果),也不能让他找到为什么结果不对(隐藏识别算法)。就像 @ 说的一样,在页面请求的时候js初始化一个cookie(比如md5(ip)之类的),然后判断没有cookie的请求一律返回cache页面。
& & 22:17:01 +08:00 via iPhone
神马网站这么火啊?
& & 22:19:08 +08:00
小型CC。 改程序就应该能搞定。
& & 22:24:16 +08:00
访问此页面:
出现一些错误
A PHP Error was encountered
Severity: Warning
Message: array_multisort(): Array sizes are inconsistent
Filename: v/main.php
Line Number: 74
& & 22:28:08 +08:00
& & 22:32:59 +08:00
@ 已修正,谢谢
& & 22:41:33 +08:00
shpinx中文不行啊,得用coreseek 不过这货几年没更新了
用coreseek在索引不大的情况下大概是 30ms 每查询
如果你都是简单查询视频名称的话,可以考虑自己先弄一份分词好的映射表,直接丢内存查找
不过话说回来,人家铁了心要搞你,到时候还是会有新花样出来的。
& & 22:50:37 +08:00
刚才瞬间被爆了,验证码也没啥用了,就是海量请求。。。秒挂,然后又秒好,只能听天由命了么。。
& & 23:04:24 +08:00
@ 我只想解决速度问题。。。shpinx能解决每秒几百次的模糊查询么。。。
& & 23:07:05 +08:00
同你程序无关,小小的cc攻击,只有自动封ip最合理
我都是这样处理的
& & 23:09:49 +08:00 via Android
流量攻击无非是求财,逼你做广告啥的。
& & 23:13:44 +08:00
@ 每秒几百次还是妥妥的。sphinx给出数据在mysql中的ID,然后根据ID去MySQL中检索数据。
ID关联的MySQL结果可以缓存到Redis。Hash还是很有效的。
Ps。不要说你的db、web、proxy都在一台服务器上…… - -#
& & 23:17:21 +08:00
@ 想交保护费都不知道去哪儿交啊。。。
& & 23:18:14 +08:00 via iPad
Ci写的。好多地方有漏洞哦
& & 23:18:42 +08:00
@ 小弟不是做技术的- -,再说网站流量还不大,我还没觉得有必要去弄这些。。。
& & 23:19:13 +08:00
上CDN试试?
国内安全宝 360,国外CloudFlare
& & 23:23:26 +08:00
把nginx的请求数量限制。 设置一个mysql不会挂的数值。内核的syn_cookie打开.
& & 23:25:28 +08:00
写一个脚本分析nginx日志, 在crontab上定期运行, 5min or 其他, 发现请求书高的IP用iptables给封掉。基本连续跑一天, 攻击中手上的肉鸡都会被封杀完。 我想你这个小站也不会让攻击中动用几十万肉鸡吧, 如果是这样, 把服务器停了吧。
& & 23:26:25 +08:00
IP阈值你这个要好好思考, 或者可以先上线在动态调整。
& & 23:29:16 +08:00
还有一招,把搜索引擎的页面地址改为随机生成,不停的改。一分钟几十万次,带宽也会被塞满吧,只有静态页面加CDN才扛得住,还要流量足。
& & 23:29:45 +08:00
处理过一个高访问量的集群,架构是这样的 每个矩形是独立服务器:
& & 23:31:40 +08:00
那就给服务器上点配置,redis+sphinx一上,立刻妥妥的。
& & 23:33:09 +08:00
@ 人家就一个单机小站, 你这是要搞集群么。
& & 23:35:43 +08:00
@ 有没有现成的脚本。。。我也想过这种思路。。。自动封连接数高的IP。。。但是不知怎么写
& & 23:39:10 +08:00
这种攻击,就是你把搜索搞定了他还会从其他层面攻击,建议从根本考虑解决。比如放到大一些的云服务商上去,或者找专业服务商解决,不是不知道到哪里交保护费吗?这些渠道可以试试看。
& & 23:39:52 +08:00
@ 好吧。。。明天先搞定sphinx试试。。。
& & 23:41:33 +08:00
@ 随便python perl php写写就好了。。。反正以后你也会用
& & 23:44:26 +08:00
试试安全狗吧, 基于session的302跳.
& & 23:45:13 +08:00
如果内容开放就第三方搜索,如果不开放就注册用户权限控制。
完了加上CDN吧
& & 23:55:45 +08:00
直接索引数据库肯定受不了,推荐 xunsearch/coreseek
& & 23:56:20 +08:00
网站未在国内备案,有什么选择呢。。。
& & 00:03:51 +08:00
简单粗暴——改用百度/google 的站内搜索
& & 00:08:35 +08:00 via Android
都已经趴了 为何还不换谷歌?
& & 00:09:04 +08:00
先关掉站内搜索功能,切换成用百度站内搜索,普通用户可以勉强用,反正开了也会被刷挂掉。
全站用nginx对首页、目录页做一下静态化。
& & 00:10:00 +08:00
@ 主要用户群还是国内用户。。
& & 00:10:43 +08:00
建站一个月,百度至今收录页面&10个。。 该提交的都提交过了
& & 00:12:08 +08:00 via Android
第三方图形/动画验证码
& & 00:17:56 +08:00
只是为了先分流攻击,保证网站不挂。
至于请求有没有效无所谓了。这么大流量的百度站内搜索,还可以帮你刷刷域名的热度呢。
建站一个月就被攻击那么凶残,多大仇才能花那么大的成本打你的网站。
& & 00:29:39 +08:00 via iPhone
…搜索结果页面静态,用一个js生成ip分段cookie去ajax获取结果,然后根据C段设置每255个ip在5秒内只能搜索一次,如果撞了的话所有的255个ip都要输入5次第三方验证码(这个页面是静态的)…
说白了有点像一个信任机制,比如一开始是2,撞cd会掉成负的,负的需要验证码,输入成功一次+1,再撞又会扣,下限为-10…
另外请确保乃的ip识别是只识别真实ip,不处理任何forward…
& & 00:35:43 +08:00
既然只上线一个月,肯定没多少真实用户访问;
换我就直接把搜索功能去掉,然后其他页面做 cache;
粗暴直接有效。
& & 00:41:05 +08:00 via iPhone
ajax无cookie→显示“无搜索结果”(静态,直接一行代码踢走)
ajax中的cookie和ip不符→显示“无搜索结果”(静态,同样踢走)
信任为0以下→显示第三方验证码页面(静态,因为查了session所以这时候其实是跑了一点代码的)
正确输入了验证码→信任+1并像正常一样处理搜索
信任大于0→几率扣除信任并正常显示结果
& & 00:55:28 +08:00
打个广告
如果是合法内容,可以放我们这里试试。#
有 Google PR 7 的站在我们这。
& & 01:40:50 +08:00
这个是典型的打你的搜索链接。查下 cc 攻击防御吧。
& & 01:52:48 +08:00
limit_req+fail2ban,很难么?
动态请求次数超过每秒1次直接自动封ip1小时。
你最起码得有几万个ip才能一波带走服务器。
& & 04:00:26 +08:00
你可以看看我博客右边的搜索
提交 Get 请求,如果关键词没有被缓存,服务器返回 error=1 表示需要 Hash 验证
然后,获得一个 TOKEN,然后客户端在此 TOKEN 后增加[数字],直到这个字符串 SHA1 值的前4位为0
提交 POST 请求,将 TOKEN 与 计算出的[数字]一同提交到服务器,服务器验证正确之后返回搜索内容,并将内容缓存到内存中,下次搜索直接返回。
一个IP地址只能拥有一个 TOKEN ,如果重复获取之前的 TOKEN 将失效。
他一提交搜索请求 CPU 满一个核心,3秒之后计算完成,才进行了一次搜索,他那些代理IP毫无用处,除非他有成千上万台电脑。
然而对用户来说,等待3秒比输入验证码好得多。
详情可以参考这篇文章
你可以测试对我的博客进行批量搜索,我的博客是单核运行的,只有 100MB 可用内存,测试一下需要多大压力才能打挂。
& & 06:14:16 +08:00
为什么攻击你?
& & 07:35:18 +08:00 via Android
我觉得iptable封ip的时候封整个网段会不会更快
& & 08:59:49 +08:00
@ 如何防御DDoS攻击:流量攻击防御生存手册
& & 09:09:56 +08:00
从一开始的CC攻击变成DDoS了咯,那就要改别的措施了
& & 09:21:17 +08:00
跟你什么仇什么怨,,
& & 09:25:00 +08:00
跟你什么仇什么怨
& & 09:27:00 +08:00
@ 很好的思路
& & 09:30:50 +08:00
封ip+花钱硬抗,攻击你也是有成本的。
& & 09:46:58 +08:00
@ 68L的方法很赞啊,攻击者需要付出极大的cpu成本
& & 09:47:12 +08:00
弄个用户注册机制,然后做任务换取积分,搜索一次扣1分,然后一分钟内这个用户这个 ip只能搜索2次
& & 09:51:48 +08:00
@ 好牛叉的站,膜拜
& & 10:02:57 +08:00
我在想楼主到底惹到什么人了。。。
& & 10:04:08 +08:00
我觉得还是写个脚本把所有有异常行为的ip所在的255网段用iptable的方式封掉这样比较快
攻击者的代理服务器也不会无穷无尽的吧
& & 10:06:59 +08:00
这得多大仇?
& & 10:08:28 +08:00
@ 感觉你的博客的搜索体验很差啊
& & 10:09:50 +08:00
搜索不是post请求么 限制每分钟每个ip的请求数量 超过的打入黑名单 参考v2ex
& & 10:15:41 +08:00
想办法找到攻击者,
& & 10:17:36 +08:00
@ 没有做优化,就几十行代码,当时还是用手机写的,现在没有动力改。。。
& & 10:20:06 +08:00
首先攻击者也是有成本的,一是IP地址;二是CPU资源。抵御攻击无非就是用最少的成本尽可能地耗费攻击者的这两种资源。
方法楼上都写了,也就这么些
& & 10:22:58 +08:00
@ 看了下,很不错。不过有个问题想不通:重放怎么解决。把已用的放内存?放数据库?那么CC又来了。
& & 10:42:18 +08:00
个人推荐用最简单的,单IP 1分钟只能搜索一次。
& & 10:51:11 +08:00
@ 有没有国外的类似服务呢。。。未备案网站。。。国内这种服务一概无法使用
& & 10:58:26 +08:00
谷歌出了个新验证机制:
轻量级的ddos工具:fail2ban
DDoS-Deflate
& & 11:08:17 +08:00
什么站这么牛逼,天天攻击,sphinx 替代品可以尝试xunsearch,文档啥的,你应该能懂,操作也简单,搜索速度也还可以。你放个静态页面在那里会不会挂掉,不会的话,可以考虑通过memcached, redis之类的工具,将频频攻击的ip加入到一个黑名单中去,直接不参与搜索,或者结合iptables和脚本去尝试解决,实在不行就先关站吧,流量攻击都不太好解决。个人意见。
& & 11:08:32 +08:00
@ 如果攻击者有成千上万个代理ip,那是可以做到1分钟内用不重复的ip来刷的
我有个新想法,给每个ip在后段生成一个token,搜索的提交用前端javascript来调用api来获取结果,调用api的时候必须使用这个和ip配合的token才能获取到结果,token是一次性的,用完马上就生成新的,前端javascript里的token是动态生成的嵌在html里的
当然攻击者也可以分析html里的javascript来获取到token,那么可以吧javascript里的token的生成千变万化,比如用不同的变量名,token可以用生成函数来获取,这样可以变化多端,用较少的改变就能增加很多攻击者的成本
& & 11:15:24 +08:00
你把攻击过的ip提出来,全部封掉,过段时间应该就清静了
& & 11:23:37 +08:00
丢一个验证码
有用记得金币
& & 11:37:53 +08:00
交保护费没门。趁不能访问去加速乐备个案,然后直接用它的cdn。
& & 11:39:09 +08:00 via Android
@ 放内存咯。
一个 token 也就 5 分钟有效。
算出来的 token 才进内存嘛,这样对方也没办法算那么多来…
而且读一块内存里的哈希表比从数据库里关键字检索要快了不知道多少…
& & 11:40:54 +08:00
当年香港xx,马来西亚xx的时候,都是这一家抗的
& & 11:45:12 +08:00
@ 一个token用5分钟,那可以做的事情太多了。内存速度肯定不是问题,但容量是硬伤。
& & 11:45:23 +08:00
可以先把搜索交给Google。
& · & 584 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.0 · 54ms · UTC 18:58 · PVG 02:58 · LAX 10:58 · JFK 13:58? Do have faith in what you're doing.WEB网站常见受攻击方式及解决办法
我的图书馆
WEB网站常见受攻击方式及解决办法
一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法.一.跨站脚本攻击(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:http://localhost/login?page=http%3A%2F%2Flocalhost%2Findex当登录成功以后,需要重定向回page参数所指定的页面。下面是重定向发生时的response headers.HTTP/1.1 302 Moved TemporarilyDate: Tue, 17 Aug :29 GMTServer: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635Location: http://localhost/index假如把URL修改一下,变成这个样子:http://localhost/login?page=http%3A%2F%2Flocalhost%2Fcheckout%0D%0A%0D%0A%3Cscript%3Ealert%28%27hello%27%29%3C%2Fscript%3E那么重定向发生时的reponse会变成下面的样子:HTTP/1.1 302 Moved TemporarilyDate: Tue, 17 Aug :29 GMTServer: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635Location: http://localhost/checkout&CRLF&&CRLF&&script&alert('hello')&/script&&&&&& 这个页面可能会意外地执行隐藏在URL中的javascript。类似的情况不仅发生在重定向(Location header)上,也有可能发生在其它headers中,如Set-Cookie header。这种攻击如果成功的话,可以做很多事,例如:执行脚本、设置额外的cookie(&CRLF&Set-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图片,然而其内容却包含脚本,这样的攻击无法用文件名过滤来排除,而是必须扫描其文件内容,才能识别。
TA的最新馆藏[转]&[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 网站受到攻击怎么办 的文章

 

随机推荐