不正アクセス、通常のテストでは、抜け穴の比較的簡単なはずです、あなたは唯一のソフトウェア剣でスキャンする必要があるなど、不正アクセスの脆弱性を得ることが可能です。
しかし、それを引き起こすもの、と私魏(夏)魏(BI)の道(BI)に聞いてください。
次のコードのすべては、私はそれを自分で書いた、見苦しいがあるかもしれないので、上のエラーをコーディングして、私はあなたが私を修正することができます願っています。
説明する脆弱性
以下に、これはログインボックス、login.phpです
通常のテストでは、私たちはしばしば、それが問題の検証コードだならば、我々は通常アクセスできないコンテンツに直接アクセスすることができるようになり、直接キーファイルの一部にアクセスしよう
ここでは、index.phpページへの直接アクセスを持っています
私たちは、直接にアクセスするには、唯一の着陸の場合には、コンテンツにアクセスすることができます
次に、我々は、コードが書かれている方法を見て
PS:通常のプロジェクトでは、このように書かれていないかもしれないが、ここでは理解を容易にするために、それはすべてのコードの速記となり、原理は同じです
login.php
logins.php
index.phpを
PS:含むデータベース操作関数についてfun.php
私たちは、コードのこの部分を理解することができると信じて
コードのlogin.phpのランディングページ、我々はそれがコンテンツ渡さlogins.phpであることを見ることができる唯一の一つの形態フォーム、
まず、アカウントのパスワードを超えるパスを受けたアカウントのパスワードが記入されているかどうかを確認した後、データベースクエリに、現在、セッションを設定した場合、成功した着陸に戻り、セッションのページにジャンプするコンテンツlogins.php、そうでない場合、それは着陸に失敗返します。
次に、主な関心事は、ここでは、index.phpのファイルのコードである不正アクセスによって引き起こされる私たちの最も重要な部分であります
ここで私は、クエリは、デフォルトで1に設定されている場合は、私たちの操作を容易にuidをします
ここでは明らかに、それは、すべてのテストを実施するSQLクエリを指示した後、あなたがページの内容を表示することができなかったことを知ることができます
簡単な修理
成功裏に着陸するときので、私たちは、セッションは、SQLクエリせずに、直接出て、存在しない場合、我々は直接、値を決定するために、セッションの始めに増加させることができ、セッションを、設定します。
次のようにコードが変更された後
この場合には効果があります
これは、不正なアクセスを防ぐことができます
広げます
ここで書いたコードは、セッションの値を決定する必要がありますが、クッキーを判断できない場合は、言及することで、クッキーの値は、よく知られているクライアントに保存され、それが偽造することができます。
クラシックの場合は、お読みください - 「MLM駅の古典的なケースをクッキー改ざん背景に
いいえ公共のデビュー記事ません:意図しないたわごと(wuxinmengyi)
これは、レコード赤チーム学習、校長ノート、公衆の個人的な成長の数であります
スキャンコードへの懸念