防止本地用户用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经典的给图片加水印程序
Dec 06 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
Jun 27 PHP
浅析十款PHP开发框架的对比
Jul 05 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
PHP接收App端发送文件流的方法
Sep 23 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
Laravel 创建指定表 migrate的例子
Oct 09 PHP
laravel 修改.htaccess文件 重定向public的解决方法
Oct 12 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 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下删除字符串中HTML标签的函数
2008/08/27 PHP
php 删除数组元素
2009/01/16 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
Jquery ui css framework
2010/06/28 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
python基础教程之序列详解
2014/08/29 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
pandas通过索引进行排序的示例
2018/11/16 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
python实现简单图片物体标注工具
2019/03/18 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
《窗前的气球》教学反思
2014/04/07 职场文书
面试感谢信范文
2015/01/22 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python