ホームページ > バックエンド開発 > PHPチュートリアル > ローカルユーザーが fsockopen を使用して DDOS 攻撃を実行できないようにするための対策_PHP チュートリアル

ローカルユーザーが fsockopen を使用して DDOS 攻撃を実行できないようにするための対策_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:23:51
オリジナル
893 人が閲覧しました

理由
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 ポリシー name=私のセキュリティ ポリシー

REM IP フィルター リストを追加します
netsh ipsec static add filterlist name=allow list
netsh ipsec static add filterlist name=deny list

REM Add IP フィルター リストにフィルターします (インターネット アクセスを許可します)
netsh ipsec static add filter filterlist=allow list srcaddr=me dstaddr=any description=dns access protocol=udp Mirrored=yes dstport=53

REM IP フィルター リストにフィルターを追加します (許可されません)他のユーザーのアクセスを許可します)
netsh ipsec static add filter filterlist=deny list srcaddr=any dstaddr=me description=誰でもアクセスできますprotocol=udp Mirrored=yes

REM フィルター追加操作
netsh ipsec static add filteraction name=Yes action=許可
netsh ipsec static add filteraction name=No action=block

REM IPSec ポリシー、フィルター リスト、およびフィルター アクション ルールを指定するリンクを作成します (セキュリティ ポリシーにルールを追加します)
netsh ipsec static add rules name=allowrulepolicy=私のセキュリティ ポリシー filterlist=許可リスト filteraction=can
netsh ipsec 静的追加ルール名=拒否ルール ポリシー=私のセキュリティ ポリシー filterlist=拒否リスト filteraction=cannot

REM アクティブ化してください セキュリティ ポリシー
netsh ipsec 静的設定ポリシー名=私のセキュリティ ポリシー割り当て=y

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324451.html技術記事理由は、PHP スクリプトのソース コードの一部です。次のようにコードをコピーします。 $fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5); { fwrite($fp, $out ); fclose($fp); PHP スクリプトの fsockope...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート