'OR 1=1
は、何があってもクエリを成功させる試みです
/*
クエリの残りの部分が無視されるように、複数行のコメントを開始しようとする試みです。
例は
ですSELECT userid
FROM users
WHERE username = ''OR 1=1/*'
AND password = ''
AND domain = ''
ご覧のとおり、'
をエスケープせずにusernameフィールドに入力したかどうかを確認できます。 ユーザーがクエリで渡したクレデンシャルに関係なく、システム内のすべてのユーザーIDが返され、攻撃者へのアクセスが許可される可能性があります(adminが最初のユーザーの場合はadminアクセスの可能性があります)。 /*
が原因で、クエリの残りの部分がコメントアウトされることにも気付くでしょう。 実際の'
を含む 。
データベースに値が表示されているという事実は、その値が回避され、特定の攻撃が成功しなかったことを意味します。ただし、他の試みが行われたかどうかを調査する必要があります。