防止本地用户用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版(1)
Oct 09 PHP
一步一步学习PHP(2)――PHP类型
Feb 15 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
浅析php单例模式
Nov 25 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 PHP
php实现用于删除整个目录的递归函数
Mar 16 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 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
php文件怎么打开 如何执行php文件
2011/12/21 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
vue自定义指令directive实例详解
2018/01/17 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
详解Python当中的字符串和编码
2015/04/25 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
python退出命令是什么?详解python退出方法
2018/12/10 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
python实现超市商品销售管理系统
2019/11/22 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
python 一维二维插值实例
2020/04/22 Python
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
酒店总经理工作职责
2013/12/13 职场文书
好人好事事迹材料
2014/02/12 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
工程进度款催款函
2015/06/24 职场文书
Java实现多线程聊天室
2021/06/26 Java/Android
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python
VUE递归树形实现多级列表
2022/07/15 Vue.js
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript