私は Web の脆弱性に関する大学の研究を行っており、これらの脆弱性のいくつか、特に SQL インジェクションを実際に実証する必要があります。PHP と JSP の 2 つのアプリケーションを開発しましたが、いずれも複数のクエリを受け入れずDROP TABLE
、SQL インジェクション スクリプトから実行する必要があります。
mysql_query()
したがって、複数のクエリをエスケープすることは既に知っていStatement.execute()
ます。また、ASP.NET でまだ試していません。しかし、ASP.NET は、最も単純なクエリ構文でそれを可能にする唯一の Web 言語でしょうか? Likemysql_query()
は PHP の最も単純な構文であり、st.execute()
JSP の最も単純な構文です。つまり、多くの Web アプリケーションがこの構文を使用しています。
JSP
String query = "SELECT * from user; DROP TABLE user;-- ";
st = con.createStatement();
st.execute(query);
PHP
mysql_query("SELECT * from user; DROP TABLE user;-- ");
編集:私はあまり明確ではありませんでした.私は脆弱なログインアプリケーションを作成してDROP
おり、クエリのようにSQLインジェクションを含むテーブルが必要です:
"SELECT * FROM user where user ='".$_POST['user']."' AND pass = md5('".$_POST['pass']."')";
ユーザー フィールドに '; を渡します。DROP TABLE ユーザー; -- '、私の質問は、次のような特定の関数を使用せずにそれを行うことができる Web 言語はmysqli_multi_query()
どれですか?