タグ: WordPress

Uncaught Error: Call to undefined function get_user_attribute()

Uncaught Error: Call to undefined function get_user_attribute()

で困っている方向けの情報です。以下の様なエラーでWordpressのJetPackの管理ページなどが使えなくなります。

[Mon Dec 05 10:05:51.204342 2016] [php7:error] [pid 1928] [client XX.XX.XX.XX:58566] PHP Fatal error:  Uncaught Error: Call to undefined function get_user_attribute() in /path/to/wp/wp-content/plugins/jetpack/modules/after-the-deadline.php:34

もっと読む

ブログのHTTPS化によりコメントなどがリセットされました

このブログのURLをhttpからhttpsに変更しました。これにより、幾つかの情報1が参照できなくなるので記載しておきます。

  • Facebookのコメント
  • FacebookのLikeやブックマークなど共有

ブログをWordPressに移行してから設定されたURLは自動的にhttpsにリダイレクトされます。

このブログでは移行前に「仕方ないので諦める」ことにしたのですが、サイトのhttps化を検討されている方はこれらの情報が直接参照できなくなる点に注意が必要です。

ブログをhttps化する際にFAQ的な箇所でハマってしまいました。詳しくは WordPress + HTTPS + リバースプロキシ = このページにアクセスする権限がありません を参照してください。


  1. 大量のコメントスパムに対応しきれないので、このブログではFacebook APIを利用したコメントシステムに変更しています。WordPress純正のコメントの場合、HTTPS化しても参照できなくなることはありません。 

WordPress + HTTPS + リバースプロキシ = このページにアクセスする権限がありません。

リバースプロキシ環境で結構ハマったのでブログにします。結論から書くと、WordPressのドキュメント

Note: FORCE_SSL_ADMIN should be set before wp-settings.php is required.

wp-settings.phpを読み込む前にFORCE_SSL_ADMINは定義しなければならない、と書いてありますがSSL関係の設定は全てこれの前に書かないと動作しません。

もっと読む

WordPressのGoogle Authenticatorを無効にする一番簡単な方法

このブログでは二段階認証にGoogle認証システム(スマホアプリ)とGoogle Authenticator(WordPressプラグイン)を使っています。携帯の修理でGoogle認証アプリを入れ忘れていたので、またブログにアクセスできなくなりました。前回はデータベースを直接操作してGoogle Authenticatorプラグインを無効にしたのですが、もっと簡単な方法があったので紹介します。

もっと読む

今すぐできる、WordPressサイトへの2要素認証導入

このブログもWordPressです。パスワードの辞書攻撃、ブルートフォース攻撃を思われるアクセスが大量にあります。WordPressへの2要素認証導入はプラグインのインストールだけでできます。

開発者向けの2要素認証導入もブログに書いています。開発者の方は早めに自分のサイト/サービスに2要素認証を導入することをお勧めします。

 

もっと読む

今すぐできる、Webサイトへの2要素認証導入

Google、Facebook、Amazon(AWS)、Githubなど、大手Webサービス会社が2要素認証を取り入れてしばらく経っています。自分のWebサイトでも2要素認証を導入したい!と思ったことは無いですか?

簡単に可能です!

パスワード認証だけではもう安全とは言えません。ぜひ2要素認証を自分のサービス/プロダクトに導入してください。

もっと読む

PHPMailerコマンドインジェクション – WordPress, Mantis, WebCalendar, Group-Office, Joomla, etc

個人的には影響ないですがいろいろなアプリケーションで使われているPHPMailerと言うクラスにコマンドインジェクションの脆弱性があったようです。リンク先を見ればescapeshellarg()かescapeshellcmd()でエスケープすべき個所がエスケープされていない事が分かります。

どの位危険か?と言うと簡単にサーバを乗っ取られる(不正なプロセスを実行される等。プロキシ、SPAMメール中継、SSHアカウントクラック、DoS、etc)くらい危険です。対処が必要な方は早く対処すべきです。

以下はfull-disclosureのメールです。

PHPMailer is a widely deployed utility class used in PHP application to
handle emails sent through sendmail, PHP mailto() or SMTP. It is used in PHP applications such as WordPress, Mantis, WebCalendar, Group-Office and Joomla. The last official release happened on July 11, 2005.

If you have configured PHPMailer to use sendmail it has a remote command execution vulnerability due to a lack of input validation. sendmail isqueried through the popen function which is called with a string constructed from non-escaped user input.

http://larholm.com/2007/06/11/phpmailer-0day-remote-execution/

Cheers
Thor Larholm

追記:調査を行っていないので何となくですが、ファイルインクルードバグよりコマンドインジェクションバグの方が悪用される確率が高いような気がしています。脆弱性的にはファイルインクルードバグの方が強力ですが、攻撃用コードを別ホストに配置するのが面倒なのか(?)コマンドインジェクションの方が悪用されているような気がします。
# ファイルインクルードバグには攻撃用コードを
# 直接挿入できる場合もあります。