タグ

securityとPHPに関するagxのブックマーク (13)

  • 第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp

    前回はスクリプトインジェクションがなくならない理由を紹介しました。それをふまえて今回はスクリプトインジェクションを防ぐ10のTipsを紹介します。 デフォルト文字エンコーディングを指定 php.iniには、PHPが生成した出力の文字エンコーディングをHTTPヘッダで指定するdefault_charsetオプションがあります。文字エンコーディングは必ずHTTPヘッダレベルで指定しなければなりません。しかし、デフォルト設定ではdefault_charsetが空の状態で、アプリケーションで設定しなければ、HTTPヘッダでは文字エンコーディングが指定されない状態になります。 HTTPヘッダで文字エンコーディングを指定しない場合、スクリプトインジェクションに脆弱になる場合あるので、default_charsetには“⁠UTF-8⁠”を指定することをお勧めします。サイトによってはSJIS、EUC-JP

    第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp
  • Ywcafe.net

    Ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: find a tutor Credit Card Application music videos song lyrics Online classifieds Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy|Do Not Sell or Share My Personal Information

  • PukiWiki 【FrontPage】

    なんだかやけに長い説明ばかり検索に引っかかったので書きました。 Linuxのローカル環境でDockerコンテナ内のXアプリ(GUIアプリ)を利用するには $ xhost localhost + を実行した後に $ docker run --rm --net host -e "DISPLAY" container_image_name x_app_binary_path とすれば良いです。 もっと読む SSHなどよく知られたサービスポートで何も対策せずにいると数えきらないくらいの攻撃リクエストが来ます。不必要なログを増やしてリソースを無駄にし、もし不用意なユーザーやシステムがあると攻撃に成功する場合もあります。 SshguardはC作られており、flex/bisonのパーサールールを足せば拡張できますがカスタム版をメンテナンスするのも面倒です。必要なルールを足してプルリクエストを送ってもマー

    PukiWiki 【FrontPage】
  • Checklist for Securing PHP Configuration | Ayman Hourieh's Blog

    The Apache/PHP/MySQL stack is immensely popular for web application development. Its components are powerful, versatile and Free. Unfortunately however, PHP comes with a default configuration that is not suitable for production mode, and may cause developers to use insecure techniques during the development phase. Inside is a check list of settings that are intended to harden the default PHP insta

    agx
    agx 2006/10/22
    PHPの設定ファイルによってはセキュリティ的によろしくない場合もよくあることなので、そのチェックを行うためのリスト
  • fenrir MOONGIFT

    すべて登録 ファイル検索ソフトウェアにもなる、文字入力型のランチャーソフトウェアです。 すべて登録 プログラムをすぐに起動させられるランチャーは数あれど、登録するのが意外に手間だったりする。初回は頑張って登録するのだが、新しく追加したアプリケーションや、PC入れ替え時には面倒になって止めてしまったりする。 手作業には限界がある。自動ですべて登録してしまえば良い。 今回紹介するフリーウェアはfenrir、デスクトップ検索型ランチャーだ。 fenrirは初回起動時にファイルのリストを作成する。一度作成してしまえば、後は文字を一部入力すると、ヒットしたフォルダ、ファイル、実行ファイル等がリストアップされる。 後はその中からファイルを選んでエンターキーを押せば良い。ごくシンプルな画面で、使い勝手が良い。ファイル名をそれと分かるようにつけておく事で、ファイル検索ソフトウェアとしても利用できる。 後は

    fenrir MOONGIFT
    agx
    agx 2006/10/19
    ブラウザ上でのパスワード管理
  • PHPで安全なセッション管理を実現する方法

    _ 残り容量が数十Mバイトになっていた PCがなんかくそ遅いなーと思ってふと空きディスク容量をみたら、残り数十Mバイトまで減っていた。Folder Size for Windowsで各ディレクトリ単位のディスク使用量をながめてみたところ、 Thunderbirdでimapでアクセスしているアカウントのデータフォルダに、なぜか1GバイトオーバーのINBOXファイルがあった。なにこれ? 削除したけど別に動作には支障はなし。 puttyのlogが無限に追記されたよ……。数Gバイト。 昔ダウンロードしたCD/DVD-ROMのisoイメージファイルが、そこかしこに消されず残ってたよ。10Gバイトオーバー。 あと、細かいテンポラリディレクトリの中身とか消したら、30Gバイトくらい空いた。そこまでやって久しぶりにデフラグを起動したら、表示が真っ赤(ほとんど全部断片化されている)だったので、最適化実行中。

  • PHP Help: Creating a Membership System with PHP and MySQL

    This tutorial deals with the various security issues a PHP developer, or any person who writes web applications, might face. The tutorial is aimed towards beginners, but other people may find some of the information the tutorial contains useful as well. Topics such as SQL injections, cross-site scripting, remote file inclusion attacks and session security are covered. The tutorial also covers how

    agx
    agx 2006/06/24
    会員制ウェブサイトをPHPとMySQLでつくる システムとしては、サインアップ時のユーザー情報はMySQLに格納、パスワードはランダムに生成してから暗号化してデータベースへ
  • Filtering & Escaping Cheat Sheet

    After having two conversation on escaping data for MySQL insertion within 5 minutes of each other in ##php@freenode, I decided to created a cheat sheet on Filtering & Escaping in general. I think what most people are not aware of is that not just outputting to the browser is output. So is querying a database, or calling one of the exec functions, or even using the mail function (not mentioned on t

    agx
    agx 2006/05/25
    PHPでのフィルタリング&エスケープ時のチートシート。データの入力にはじまり、Validation or Filtering の関数が一目で分かるチートシート。Validation or Filtering 後の出力時のエスケープ用関数も載ってます。
  • akiyan.com : 新たなXSS(CSS)脆弱性、EBCSS

    新たなXSS(CSS)脆弱性、EBCSS 2006-03-30 かなりヤバめなXSS的攻撃方法が見つかりました。詳細は以下のリンク先をご覧下さい。 文字コード(SJIS)とHTMLエンコードとCross-Site Scriptingの微妙な関係 文字コードとHTMLエンコードとCross-Site Scriptingの微妙な関係 (EUCの場合、UTF-8の場合) 何がヤバいのかというと、この攻撃方法に対する根的対策がほとんどのサイトで行われていないと思われるからです。 今までCross-Site Scripting脆弱性への対策はHTMLで使われる文字列を実体参照に変換するのが基でした。しかし、マルチバイト文字列の仕様を突いて半端な文字列を送信しクオート文字を無効化(escape)することで、実体参照に変換されていてもスクリプトの実行が可能なケースがあることが判明したのです。 ちなみ

  • PHPのSession Fixation問題

    (Last Updated On: 2006年10月24日)PHPのセッション管理はセッションの固定化(Session Fixation)に脆弱であることは広く知れらていると思っていました。先日、php-users(ja)のMLに「Hardened PHPプロジェクトのStefanさんのパッチにSQLite Sessionモジュール用のセッションセーブハンドラパッチを追加したパッチを公開しました」と投稿しました。しかし、ダウンロード数等から推測するとセッションの固定化のリスクが正しく認識されていないのではないかと思えます。 セッション固定化のリスクを分かりやすく説明するには具体的な攻撃のシナリオを紹介した方がわかり易いのでいくつか説明します。以下の説明はデフォルト状態のPHPインストールでSession Fixation対策を行っていないのPHPアプリケーションに対して可能な攻撃の一例です

    PHPのSession Fixation問題
  • AjaxとPHPを使ったワンタイムパスワード方式のログイン認証:phpspot開発日誌

    JamesDam.com ? AJAX Login System Demo This is an example of a login system that does not require page refreshes, but is still very secure. Ajax+PHPでの画面遷移なしのログイン画面作成サンプルが公開されています。 フォームに、user1, pass1 を入力すると即時認証が行われ、次のようにログイン状態になります。 認証には、Ajaxを使ったワンタイムパスワード方式が使われます。 具体的には、Ajaxでサーバからチャレンジコードを取得し、チャレンジコードとパスワードをmd5でハッシュして、更にその値をサーバに送信し、認証を取ります。 このため、従来の方式よりは安全な認証が可能となります。 Ajaxが出てきたことで、ブラウザを開いたままの状態でインタ

  • [ThinkIT] 第3回:SQLインジェクションの注意点 (1/3)

    データベースを扱う時に考慮しなければならない最後の問題は、おそらくアプリケーションのデータベースに対する認証情報、つまりデータベースアクセスを許可するログイン情報やパスワードをどうやって保持するのか、ということではないでしょうか。ほとんどのアプリケーションではPHPの小さな設定スクリプトを使ってログイン名やパスワードを変数に割り当てています。 このような設定ファイルが、サーバ利用者が自由にアクセスして読めるような状態になっていることが(専用ホストでないなら)よくあります。しかし誰にでも読めるということは、同じシステム上の誰でも、または悪質なスクリプトがそのファイルを読み、データベースログインに必要な情報を盗めてしまうということです。 さらに悪いことに、多くのアプリケーションではこのファイルはウェブ上から閲覧可能なディレクトリに置かれており、.incのようなPHPファイルと認識されない拡張子

  • 高木浩光@自宅の日記 - ぜひ買いたいこの一冊(脆弱性コードレビュー練習用その1), JPCERT/CCの判断力も蝕む サニタイズ脳の恐怖

    ■ ぜひ買いたいこの一冊(脆弱性コードレビュー練習用その1) ジュンク堂店の「PHP」コーナーで一番目に付く位置に飾られていたを読 んでみた。 改訂新版 基礎PHP, 山田祥寛監修、 WINGSプロジェクト田将輝、山葉寿和、斉藤崇、森山絵美、渕幸雄、青島裕、山田奈美)著, インプレス, 2004年10月1日初版発行 2005年12月11日第1版第5刷発行 帯の宣伝文句はこうだ。 PHP5で作るWebアプリケーション 待望の改訂版登場! 最新機能まで踏み込んだ内容と、必要な環境を収録したCD-ROMで、着実に学ぶ 着実に……ですか。 最初の動くサンプルコードはこうなっている(p.72)。 <html> <head><title>hello_world.php</title></head> <body> <?php $var_str="Hello World"; print ($var

    agx
    agx 2006/01/16
    セキュリティについて全く考えていないPHP学習本。
  • 1