Nginx越界读取缓存漏洞 CVE-2017-7529】的更多相关文章

1.漏洞描述 Nginx在反向代理站点的时候,通常会将一些文件进行缓存,特别是静态文件.缓存的部分存储在文件中,每个缓存文件包括"文件头"+"HTTP返回包头"+"HTTP返回包体".如果二次请求命中了该缓存文件,则Nginx会直接将该文件中的"HTTP返回包体"返回给用户. 如果我的请求中包含Range头,Nginx将会根据我指定的start和end位置,返回指定长度的内容.而如果我构造了两个负的位置,如(-600, -92…
漏洞参考 https://blog.csdn.net/qq_29647709/article/details/85076309 漏洞原因 Nginx在反向代理站点的时候,通常会将一些文件进行缓存,特别是静态文件.缓存的部分存储在文件中,每个缓存文件包括"文件头"+"HTTP返回包头"+"HTTP返回包体".如果二次请求命中了该缓存文件,则Nginx会直接将该文件中的"HTTP返回包体"返回给用户.如果我的请求中包含Range头…
2017年7月11日,为了修复整数溢出漏洞(CVE-2017-7529), Nginx官方发布了nginx-1.12.1 stable和nginx-1.13.3 mainline版本,并且提供了官方patch. 当使用Nginx并且开启缓存功能时,攻击者可以构造特定header头字段,能越界读取到缓存文件的文件头信息.文件头信息中可能会包含Nginx代理站点的真实IP,造成敏感信息泄露. 另外,一些第三方模块可能会因此导致拒绝服务或者当前进程的内存泄漏,但Nginx官方暂未发现这样的第三方模块.…
漏洞版本: nginx 1.3.15 nginx 1.5.x 漏洞描述: CVE ID:CVE-2014-0133 Nginx是HTTP及反向代理服务器,同时也用作邮件代理服务器,由Igor Sysoev编写. nginx SPDY实现存在基于堆的缓冲区溢出,允许攻击者利用漏洞提交特殊的请求使应用程序崩溃或执行任意代码. <* 参考 http://mailman.nginx.org/pipermail/nginx-announce/2014/000135.htmlhttp://sebug.net…
web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输出内容给客户端,而不是向源服务器再次发送请求.Web缓存降低了内容源Web服务器,数据库的负载,减少了网络延迟,提高了用户访问的响应速度,增强了用户体验. web缓存服务器中,最著名的要数Squid Cache(简称为Squid),Squid是一个流浪的自由软件的代理服务器和Web缓存服务器.---…
0×00 背景 网站为了实现加速访问,会将用户访问过的页面存入缓存来减小数据库查询的开销.而Thinkphp5框架的缓存漏洞使得在缓存中注入代码成为可能.(漏洞详情见参考资料) 本文将会详细讲解: 1. 如何判断缓存漏洞存在的可能性 2. 如何利用Thinkphp5的框架漏洞结合网站的一些配置实现前台getshell 希望可以给予读者一些关于漏洞应用的启发. 0×01 环境 测试环境 1.某基于Thinkphp5.0.10搭建的论坛类测试网站 2.apache2 3.php5.6及以上版本,相关…
Nginx静态资源 Nginx可以处理静态资源 非Web服务器可以运行处理而生成的文件,即服务器只需要从硬盘或者缓存中读取然后直接给客户端响应即可. 常见的静态资源 # 浏览器渲染: html文件,样式表CSS,JS脚本--浏览器需要读取样式格式和脚本,然后去渲染的. # 图片文件: GIF.PNG.JPEG # 视频文件: MP4.FLV.AVI.MPEG # 其它文件: ISO.PDF.TXT.EXE Nginx作为网站服务器,如何高效的处理静态资源,就需要让nginx速度变快,可以从以下几…
在日常运维工作中,运维人员会时常使用到nginx的反向代理,负载均衡以及缓存等功能来优化web服务性能. 废话不多说,下面对测试环境下的nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)搭建过程做一记录: 一.后端的Real Server的准备 两台RS服务器(192.168.1.104/192.168.1.105)要事先配置好nginx.并且nginx访问均是用ip访问即可,方便实验效果! 二.nginx代理服务器192.168.1.103(假设外网ip是111.112.114.…
以静态缓存为例. 修改 file.php line:11 去掉 path 参数(方便),加上缓存时间参数: public function cacheData($k,$v = '',$cacheTime = 0){ //文件名 $filename = $this->_dir.$k.'.'.self::EXT; ..... line:25 把缓存时间设置为 11 位的数字,如果不满 11 位,则在时间前面补 0.再把缓存时间和缓存内容进行拼接: $cacheTime = sprintf('%011…
之前写过一篇如何配置nginx缓存及手动清除缓存的文章: http://www.cnblogs.com/Eivll0m/p/4921829.html 但如果有大量缓存需要清理,手动一条条清理就比较慢了,所以写了个小脚本进行清理,脚本如下: #!/usr/bin/env python # -*- coding: UTF-8 -*- # data:2015-12-08 # author:eivll0m # 脚本用途:清除nginx静态资源缓存 # 使用方法:将要清除缓存的url粘贴到/app/adm…