sql >> データベース >  >> RDS >> Mysql

PHP MySQLインジェクションの例をテストするにはどうすればよいですか?

    最も一般的な例の1つは、次のクエリです。

    ' or '1'='1
    

    これをユーザー名とパスワードとしてサニタイズされていないログイン入力に入力すると、クエリは次のように変化します。

    Original: SELECT * FROM USERS WHERE USER='' AND PASS='';
    Modified: SELECT * FROM USERS WHERE USER='' or '1'='1' AND PASS='' or '1'='1';
    

    これにより、1は常に1に等しくなるため、探しているものがすべて真になります。この方法の問題は、特定のユーザーを選択できないことです。そのためには、他の例に見られるように、コメントアウトしてANDステートメントを無視するようにする必要があります。



    1. Webアプリケーションでのタイムゾーンの処理

    2. あるデータベースから含まれているテーブルをコピーして、別のデータベーステーブルに挿入したい

    3. MySQLの日付形式DD/MM / YYYYクエリを選択しますか?

    4. LIKE演算子がSQLiteでどのように機能するか