天行健,君子以自强不息;
地势坤,君子以厚德载物;
80后爆nginx 0day漏洞,上传图片可入侵100万服务器
作者:曲文庆 日期:2010-05-21 14:46
国内顶级安全团队80sec于5.20日下午6点发布了一个关于nginx的漏洞通告,由于该漏洞的存在,使用nginx+php组建的网站只要允许上传图片就可能被黑客入侵,直到5.21日凌晨,nginx尚未发布修复该漏洞的补丁;已经有一些网站被黑了,管理员速修复!
根据Netcraft的统计,直到2010年4月,全球一共有1300万台服务器运行着nginx程序;非常保守的估计,其中至少有600万台服务器运行着nginx并启用了php支持;继续保守的估计,其中有1/6,也就是100万台服务器允许用户上传图片。
没错,重申一次,由于nginx有漏洞,这100万台服务器可能通过上传图片的方法被黑客轻易的植入
lighttpd 1.4.26 SSL bug
作者:曲文庆 日期:2010-05-04 21:28
CentOS系统yum升级后,openssl从openssl-0.9.8e-12.el5_4.1升级到openssl-0.9.8e-12.el5_4.6,此时重启lighttpd 1.4.26,报告:
(network.c.529) SSL: error:00000000:lib(0):func(0):reason(0)
启动失败,经查找分析,估计是lighttpd ssl的bug ( http://redmine.lighttpd.net/issues/2157 ) ,根据提示,将 src/network.c 中的第528行更换为:
if (!(SSL_OP_NO_SSLv2 &am
Lighttpd中404返回错误的状态码200的解决办法
作者:曲文庆 日期:2009-11-12 20:12
前端时间,对网站配置了404错误跳转
server.error-handler-404 = "/404/index.php"
当发生404错误的时候,并不是打开ie默认的错误页,而是打开自定义的index.php页面。
按理此时显示页面的http status应该是404,但是返回的http status却是200
查看日志文件,发现日志里记录的也是200状态,而不是404状态。
通过查找发现,这应该是lighttpd的一个bug。
根据问题原因,采取如下两种解决方案:
一、在错误文件头部增加如下代码
<?ph
ubuntu 9.04 安装lighttpd 出错及解决方案
作者:曲文庆 日期:2009-08-12 10:54
Etag和Expire
作者:曲文庆 日期:2009-08-07 10:48
Etag
在HTTP1.1中有介绍,主要的作用就是在(css file, image, javascript file)文件后面添加一个唯一的参数(相当于查询参数字符串),Etag有服务器端生成,并且随着文件的改变而改变,这样浏览器端就会只重新请求获取Etag发生变化的文件,减少浏览器端数据的流量,加快浏览器的反应速度,重要的是减轻服务器端的压力,所以服务器端Etag的实现就比较重要了。
下面分别说下在Apache和Lighttpd中怎样配置Etag
Apache Etag
在Apache中设置Etag的支持比较简单,只用在含有静态文件的目录中建立一个文件.htaccess, 里面加入:
FileETa