私たちはクラスのラボに取り組んでいます。私が紛失しているものは見つからないようです。SQLインジェクションのトラブル
WHERE (name = ’$user’ OR email = ’$user’) AND pass = ’$pass’");
たちは、基本的に想定している、それを利用するために:私たちは、私は嘘を信じているSQLインジェクションの脆弱性を見つけることになっている
$sel1 = mysql_query ("SELECT ID, name, locale, lastlogin, gender,
FROM USERS_TABLE
WHERE (name = ’$user’ OR email = ’$user’) AND pass = ’$pass’");
$chk = mysql_fetch_array($sel1);
if (found one record)
then {allow the user to login}
:次のコードは、ユーザーを認証するためにSQLクエリをありますかなり一般的なユーザー名とパスワード形式でWebサイトの管理者プロファイルにログインしてください。与えられた情報は、プロフィール名がadminであることを知っていることです。そして、私たちは、ウェブサイト上のユーザー名入力だけを利用することになっています。グルジアWeidmanでハッキングには、次の資料Security Idiotsと書籍侵入テストAハンズオンはじめのうちのセクションを読んだ後
。 -
とのより多くのバリエーション
- 管理者OR 1--
- 管理者':これらは私が試した事のいくつかでありますこの。私の理解は、「 ''」でそのセクションを完成させる管理者プロファイルを選択してから、その行のコードの残りを強制的に強制終了させることです。しかし、私が試したことは何も働いていないようです。
このラボでは、この攻撃を有効にする特別な構成の仮想マシンがあることにも注意してください。
私は正しい軌道にいるか、SQLインジェクション攻撃の背後にあるロジックを理解していません。私は必ずしも私が探しているコードが何であるかを探しているわけではないが、私は間違った方向に向かっていて何かが足りないと心配している。
ご迷惑をおかけして申し訳ありません。そして、私は何かを詳しく説明してくれるでしょう。 ありがとうございます。
'admin 'を試してください) - '質問のsqlが正しいことも確かですか?'性別、FROM USERS_TABLE'は' FROM'の前にコンマを入れてはいけません –
残念ながら、そのユーザー名のエントリにはサイコロもありません。そして私はもともとラボの指示書からそのコードをコピーしました。実際にはファイルそのものではないので、指示に誤りがあった可能性があります。ファイルの場所が指定されていません。これは悪用に影響を及ぼしますか?いくつかの学生がDropbox提出に従ってそれを完了したので、コードは操作可能でなければなりません。したがって、ファイル内に想像しているカンマがないと思われる場合は、それは存在しません。 – Codey
'FROM'の前にカンマがあると、SQLエラーです。しかし、コードが正しく動作していると確信しているので、それは単にタイプミスです。 –