防止本地用户用fsockopen DDOS攻击对策


Posted in PHP onNovember 02, 2011

原因
php脚本部分源码:

$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5); 
if($fp){ 
fwrite($fp, $out); 
fclose($fp);

php脚本中的 fsockopen 函数,对外部地址,通过UDP发送大量的数据包,攻击对方。

应对
可通过 php.ini ,禁用 fsockopen 函数,及使用Windows 2003的 安全策略 屏蔽本机的UDP端口。

禁用函数
查找到 disable_functions ,添加需禁用的函数名,如下例:

passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen

重启IIS后生效。

屏蔽UDP端口
将以下着色文本复制到记事本,另存为 banudp.bat 或任意名,双击运行即可。

REM 添加安全策略,名称
netsh ipsec static add policy name=我的安全策略

REM 添加 IP筛选器列表
netsh ipsec static add filterlist name=允许列表
netsh ipsec static add filterlist name=拒绝列表

REM 添加筛选器到IP筛选器列表(允许上网)
netsh ipsec static add filter filterlist=允许列表 srcaddr=me dstaddr=any description=dns访问 protocol=udp mirrored=yes dstport=53

REM 添加筛选器到IP筛选器列表(不让别人访问)
netsh ipsec static add filter filterlist=拒绝列表 srcaddr=any dstaddr=me description=别人到我任何访问 protocol=udp mirrored=yes

REM 添加筛选器操作
netsh ipsec static add filteraction name=可以 action=permit
netsh ipsec static add filteraction name=不可以 action=block

REM 创建一个链接指定 IPSec 策略、筛选器列表和筛选器操作的规则(加入规则到我的安全策略)
netsh ipsec static add rule name=允许规则 policy=我的安全策略 filterlist=允许列表 filteraction=可以
netsh ipsec static add rule name=拒绝规则 policy=我的安全策略 filterlist=拒绝列表 filteraction=不可以

REM 激活我的安全策略
netsh ipsec static set policy name=我的安全策略 assign=y

PHP 相关文章推荐
编写PHP的安全策略
Oct 09 PHP
Banner程序
Oct 09 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
May 04 PHP
PHP中的函数嵌套层数限制分析
Jun 13 PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 PHP
php中global和$GLOBALS[]的分析之一
Feb 02 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 #PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
Nov 02 #PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 #PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 #PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
Nov 02 #PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 #PHP
求PHP数组最大值,最小值的代码
Oct 31 #PHP
You might like
SONY ICF-SW07收音机电路分析
2021/03/02 无线电
PHP中路径问题的解决方案
2006/10/09 PHP
php 把数字转换成汉字的代码
2015/07/21 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
2010/12/11 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
详解React中setState回调函数
2018/06/14 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
Python中如何获取类属性的列表
2016/12/26 Python
使用Python实现画一个中国地图
2019/11/23 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
院领导写的就业推荐信
2014/03/09 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
不同意离婚代理词
2015/05/23 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
原生Js 实现的简单无缝滚动轮播图的示例代码
2021/05/10 Javascript
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python