Pharファイルを利用したコード実行 – POP攻撃
Pharファイルは複数のPHPスクリプトをアーカイブ&パッケージ化して一つのファイルでアプリケーションとして実行する仕組みです。 PharファイルはPHPプログラムその物なのでこれを実行してしまうとPHPで実行できることは何でもできてしまいます。そもそもPharファイルはプログラムなので信頼できないPharファイルを実行したらやりたい放題なのに、なぜPhar…
Linuxのネットワークプリンタに印刷できない
Fedora 33にアップグレードした時にも直したのですが、Fedora 34でも同じように今まで使えていたネットワークプリンタがアップグレード後使えなくなりました。 原因 デフォルトのnsswitch.conf設定だとmDNSを参照しないで名前解決する事が原因。 (さらに…)
ブートしなくなったLinuxの修復
VMwareゲストのFedora 33が起動しなくってしまい直す事にしました。原因は今一つ判っていないのですが、ホストのFeodra 33のカーネルに外れがありシステムが連続してフリーズしたりことがあります。恐らくこれが原因でしょう。 どうせテスト用なので再インストールでも良かったのですが、直せる物は直すということで直しました。 (さらに…)
PostgreSQL 8.2をインストール
訳あってCentOS7にPostgreSQL 8.2をインストールしようとするとコンパイルは出来ても動作しませんでした。8.2はかなり古いPostgreSQLなので仕方ないですが、動作させることは可能でした。 CentOS6ならPostgreSQL 8.2を普通にコンパイルできると思います。 (さらに…)
CSSのエスケープ方法
プログラムからCSSファイルにデータを書き込む場合、エスケープしないと不正なCSSになってしまう場合があります。現在のブラウザはCSSでプログラムを実行する仕様が削除されているのでコード実行脆弱性の問題になりませんが、不正なCSSはセキュリティ問題(クリックジャック等)になる場合もあります。 HTML内のCSSの場合、エスケープしないとJavaScriptの…
特定の処理を行うデータを渡すURLの作り方
Webアプリケーションを作っているとデータの完全性と機密性を保ちつつ「特定の処理を行うデータを渡すURL」を作りたくなる場合があります。 例えば、特定のURLをクリックすると特定ユーザーの連絡先にユーザーを登録する、などです。 (さらに…)