並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 11 件 / 11件

新着順 人気順

password_verifyの検索結果1 - 11 件 / 11件

  • PHPサーバーサイドプログラミングパーフェクトマスターのCSRF対策に脆弱性

    サマリ PHPサーバーサイドプログラミングパーフェクトマスターには、PHP入門書としては珍しくクロスサイト・リクエストフォージェリ(CSRF)対策についての説明があるが、その方法には問題がある。アルゴリズムとして問題があることに加えて、実装上の問題があり、そのままコピペして用いると脆弱性となる。 はじめに 古庄親方の以下のツイートを見て驚きました。 CSRF用のトークンの作成 $token = password_hash(mt_rand(), PASSWORD_DEFAULT); ってのを書籍で見た………もンのすンげぇなぁ(苦笑 書籍名でググって調べる……評判が悪いので、まぁ、納得っちゃぁ納得。 — がる (@gallu) July 17, 2019 CSRFトークンの生成に、password_hash関数を使うですと? 親方に書籍名を教えていただき、購入したのが、この記事で紹介する「PH

    • パスワードがハッシュ値で保存されているサイトのSQLインジェクションによる認証回避の練習問題解答 - Qiita

      この記事は、以下の問題の想定正解です。まだ問題を読んでいない方は、先に問題を読んでください。 まず、多くの方に記事を読んで頂きありがとうございます。解答もいくつかいただきましたが、その中で、以下のhm323232さんの解答は非常に優れたもので、これに付け加えることはほとんどありません。 しかし、気を取り直して、解答を書きたいと思います。 まず、ログイン処理の中核部分は以下に引用した箇所です。 $sql = "SELECT * FROM users WHERE userid = '$userid'"; $stmt = $pdo->query($sql); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password'])) { echo "ログイン成功:" . htmlspecialchars(

        パスワードがハッシュ値で保存されているサイトのSQLインジェクションによる認証回避の練習問題解答 - Qiita
      • PHPでパスワード比較に==とか===使っちゃだめって知ってた? - Qiita

        PHPerの皆さん、重要な文字列を入力データと保管情報を比較するときに比較演算子("=="とか"===")使ってませんか? これ実は使っちゃだめなので、気をつけましょう。 なぜだめなの? (2020/8/31修正) 関数名をtypoしていたため修正しました。(正)memcmp・(誤)strcmpです。 PHPを含む多くの言語では、文字列を比較する際に内部で memcmp() を使います。 通常の(厳密なセキュリティを必要としない)ケースでは、比較演算子を使うことはまったく問題ありません。 パスワードなど絶対に推測されてはいけない文字列を比較する場合、この関数は脆弱といえます。 memcmp() は内部で1バイトずつ比較検証するため、応答時間をもとに先頭から何文字正解だったか推測できます。 このような攻撃を「タイミング攻撃」といいます。 どうすればいいの? PHPでは、ハッシュ値を用いて文字

          PHPでパスワード比較に==とか===使っちゃだめって知ってた? - Qiita
        • 解明!password_hash関数で生成される文字列の正体 - Innovator Japan Engineers’ Blog

          こんにちは、CTOの山岡(@hiro_y)です。 (この記事は、来る2022年4月9日から開催されるPHPerKaigi 2022に登壇応募したものの選出されなかった題材をブログに書くことで供養しようという試みです。) Webシステムでパスワードを保存するとき、そのままの値(平文)で保存してはいけません。データベースの中身が何かしらのインシデントで漏洩してしまった場合、パスワードの内容が明らかになってしまうからです(漏洩の時点でもっと酷い事態になっていそうではありますが…)。では、どのような対策を行えばよいのでしょうか。 パスワードはハッシュ化しよう 一つ目の対策は、パスワードを秘密鍵を使って暗号化、保存する方法です。 その場合、それぞれの暗号化に共通の秘密鍵を使わないことが大切です。また、初期化ベクトル(IV)としてそれぞれ異なるものを用意、ブロック暗号化モードを利用して暗号化した結果が

            解明!password_hash関数で生成される文字列の正体 - Innovator Japan Engineers’ Blog
          • Ubuntu 20 .04にVNC をインストールして構成 する方法 | DigitalOcean

            はじめに 仮想ネットワークコンピューティング、 すなわちVNC(Virtual Network Computing)は、キーボードとマウスを使用して 、リモートサーバー上のグラフィカルデスクトップ環境と対話できるようにする接続システムです 。これにより、コマンドラインにまだ慣れていないユーザーにとって、リモートサーバー上のファイル、ソフトウェア、および設定の管理が簡単になります。 このガイドでは、Ubuntu 20.04サーバー上にTightVNCを使用してVNCサーバーを設定し、SSHトンネルを介して安全に接続します。次に、ローカルマシンでVNCクライアントプログラムを使用し、グラフィカルデスクトップ環境を介してサーバーと対話します。 前提条件 このチュートリアルを完了する には 、 次のものが必要です。 root以外の管理ユーザー権限とUFWで構成したファイアウォールを備えたUbunt

              Ubuntu 20 .04にVNC をインストールして構成 する方法 | DigitalOcean
            • WindowsマシンをWinAuthでMFAデバイスにする - Qiita

              WindowsマシンにWinAuthをインストールすることで、多要素認証の仮想MFAデバイス(時間ベースのワンタイムパスワード生成器)として利用できるようにする話。社員に配布しているのはWindowsマシンだけなのだけど、BYODの雰囲気がある私有スマホは業務での多要素認証に使わせたくない、という組織を想定しています。 なぜWinAuthを使うのか AWS等ではセキュリティ強化のためにMFA(多要素認証)が利用可能で、認証の第二要素として仮想MFAデバイスが利用できます。これは特定の端末上に構成された、TOTP(時間ベースのワンタイムパスワード)ソフトウェアです。一般には各自のスマートフォン上の多要素認証アプリケーション(例えばGoogle AuthenticatorやMicrosoft Authenticator)が使われるでしょう。 それを避け、Windows端末を多要素認証用のデバイ

                WindowsマシンをWinAuthでMFAデバイスにする - Qiita
              • Auth0でメールアドレスを検証する方法を調べてみた | DevelopersIO

                Auth0では、メールアドレスの検証ができます。これにより、「メールアドレスが未検証のユーザをログインさせない」などが実現できます。 おすすめの方 Auth0でメールアドレスの検証をしたい方 Auth0でメールアドレスを検証する方法を知りたい方 Auth0のメールアドレス検証 本記事での扱い メールアドレス検証方法とは、ユーザ情報のemail_verifiedをtrueにする方法とします。 メールアドレスの検証の方法 2つの種類があります。 ユーザが検証リンクにアクセスして、検証OKにする 管理側のアプリケーションで、検証OKにする Auth0のRulesやActionsを使えば、Universal Loginでサインアップしたとき・ログインしたときに検証メールを送信することもできそうです。 本記事では、下記の5つを紹介します。 ユーザ登録時、Auth0が検証メールを送信する。メール本文の

                  Auth0でメールアドレスを検証する方法を調べてみた | DevelopersIO
                • ChatGPT Plusがソースコードの変更を読み込んで機能仕様書を更新する - GMOインターネットグループ グループ研究開発本部

                  はじめに こんにちは。次世代システム研究室のT.Tです。 GitHubからGPT-4ベースになったGitHub Copilot Xが発表されました。まだ機能リストやデモ画像しか確認できていないですが、コードのサジェスト機能はもちろん、プルリクエストの説明文を生成したりドキュメント内容に基づいて質問への回答を生成する機能等があるようで、開発者の業務をサポートする強力なツールになりそうです。GitHub Copilot Xではシステムを自然言語で表現する機能周りが充実しそうな印象があるので、開発したプログラムをどの程度自然言語で表現できるかを検証してみます。執筆時点でGitHub Copilot Xが入手できていないので、GPT-4をブラウザから利用できるChatGPT Plusを使って擬似的に体験した内容を紹介したいと思います。 1.AIによる開発現場での課題解決アプローチ The Futu

                    ChatGPT Plusがソースコードの変更を読み込んで機能仕様書を更新する - GMOインターネットグループ グループ研究開発本部
                  • How I Found A Vulnerability To Hack iCloud Accounts and How Apple Reacted To It - The Zero Hack

                    This article is about how I found a vulnerability on Apple forgot password endpoint that allowed me to takeover an iCloud account. The vulnerability is completely patched by Apple security team and it no longer works. Apple Security Team rewarded me $18,000 USD as a part of their bounty program but I refused to receive it. Please read the article to know why I refused the bounty. Update 27 March 2

                      How I Found A Vulnerability To Hack iCloud Accounts and How Apple Reacted To It - The Zero Hack
                    • SQLインジェクションによる認証回避の練習問題について考えてみました - Qiita

                      https://qiita.com/ockeghem/items/787f74801a24e1fc6960 上記記事の練習問題についての私の回答 UserID : ' union select '' as id, 'admin' as userid, '$2y$10$Ur8VTGkSgaF808C4krzvhOsLLxDzgHxhrVms6aUsnaLxmay3DV/ra' as password, '' as email; -- ' Password : 何も入力しない passwordカラムに突っ込んでいるハッシュ値はローカルで password_hash('', PASSWORD_BCRYPT) として取得したもので、password_verify()でtrueが返る組み合わせなら別に何でも良いです。 これをuseridをadminとしたカラムと一緒にunionで結合させています。

                        SQLインジェクションによる認証回避の練習問題について考えてみました - Qiita
                      • Create Authentication Login and Registration in CodeIgniter 4

                        As a web developer, you understand that implementing secure and efficient authentication is essential for protecting user data and enabling personalized experiences on your applications. This feature is integral to modern web development, as it supports the security and privacy of user accounts. In this tutorial, we’ll walk you through setting up a registration system and a login system using the

                          Create Authentication Login and Registration in CodeIgniter 4
                        1