タグ

PHPとsecurityに関するcanadieのブックマーク (3)

  • 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が出てきたことで、ブラウザを開いたままの状態でインタ

  • 良く知られたPHPの脆弱性…

    (Last Updated On: 2018年8月13日)また新しいsafe_modeをバイパスできる脆弱性を利用した攻撃方法を見つけた人がいるようです。safe_modeをバイパスできる脆弱性なので大きな問題とは思いませんが、 CVSS Severity: 7.0 (High) となっていますね…. 具体的には This issue is due to an input validation error in the “error_log()” function that does not properly validate the destination parameter, which could be exploited by malicious users to bypass the safe mode feature by supplying a “php://” wrappe

    良く知られたPHPの脆弱性…
  • おさかなラボ - クロスサイトリクエストフォージェリ対策

    過去の議論はこちら 一般的に言われている対策と実際の有効性についてはこちら 一般にCSRFはセッションの利用に伴う脆弱性なのだから、予測不能な文字列を生成してhiddenとセッション内(PHPセッションの場合$_SESSION内)に入れておき、完了画面でこの2つを照会する方法が簡便で堅牢だと考えられる。(要はセッションを使ったワンタイムトークン方式)。 この対策だけでも充分だが、hiddenを横取りされた場合に発生する脆弱性に備え、Cookieでも比較を行う。 実際のコード // 確認画面 session_start(); (認証など略) $uniq_id = md5(uniqid(rand(),1)); // 推測不可能な文字列を生成 $_SESSION['uniq_id'] = $uniq_id; // セッションに保存 setcookie('uniq_id',

  • 1