0
テーブル(ユーザー)を削除しようとすると、自分のサイトに対してSQLインジェクションをテストしようとしています。SQLインジェクション/ドロップテーブルが動作していないことを確認しました
私のSQL文字列構文:
String sql = "select * from users where username='" + username + "' and password='" + password + "';";
私は、パスワードフィールドにユーザ名フィールドでjack
と test'; DROP TABLE users; --
を入れて、次のSQL文字列を取得します:
select * from users where username='jack' and password='test'; DROP TABLE users; --';
をして、私はそれを実行します。
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
しかし、それは機能していません、なぜか?
パスワード文字列を閉じない必要がありますか? inectionは 'DROP TABLE'まで綺麗に見えます。 –
@TimBiegeleisen SQLのコメント演算子です。最後の文字は構文エラーを生成しないように彼が使用したと思います。ちなみに、作業していないことによって、エラーが生成されるのですか、それともテーブルの削除だけが実行されていますか? – encryptoferia
@TimBiegeleisenすみません。私はもう一度チェックして、大丈夫に見える、あなたが何を意味しているのか?多分あなたはそのエラーを見逃しますか? –