これら2つのSQLインジェクション手法について知りたいのですが。 SQLデータベースの勉強を終え、先生がSQLインジェクションについて教えてくれたので、このトピックに興味を持つようになりました。これを自動的に行うツールを発見しましたが、脆弱なパラメーターが特定されるステップのみを理解しました。
ありがとうございました
ブールベースのSQLインジェクションは、サーバーが情報を返さない場合に役立ちます。 sqlステートメントがtrueまたはfalseを返すかどうかに基づいて応答が異なると判断できる場合、サーバーが情報を返さなくても、後で情報を取得する方法があります。
たとえば、パスワードフィールドがブールベースのSQLインジェクションに対して脆弱であり、正しいパスワードを入力した場合、 'And 1 = 1-SQLサーバーにログインします。同じことを1 = 2で行うと、無効なパスワードと表示されます。
その攻撃ベクトルにselectステートメントを挿入しようとしても、何も返されません。
これは、ブールベースのSQLインジェクションが役立つ場所です。言う攻撃ベクトルを作成できます
SQL疑似コード:(データベースの最初の列の最初の文字の25より大きいASCII値)
それがあなたをログインさせるならば、あなたは、あなたがそのキャラクターを手に入れるまで、それが55よりも大きい、と言うことができます。次に、完全な列名を取得するまで、2番目の文字で同じことを行うことができます。
すべてのテクニックを駆け抜けることはできませんが、そこにはたくさんのリソースがあります。訓練するための最良の方法は、脆弱なものを回転させることだと思います。次に、sqlmqpを実行し、burpスイートなどを介してトラフィックをプロキシします。次に、ツールが実行していることを正確に確認できます。