1

Web サイトの侵入テスト中に (はい、合法的に)、SQL インジェクションがポップアップしましたが、現在それを使用する方法がわかりません。クエリ文字列は次のようになり、挿入ポイントは値の後の最初の _ になります。

query = 'SELECT  item.a 
           FROM favitem item 
          WHERE ( item.a =?) AND (item.b=? )', values = [123456789_, 987654321]

シンプルな

, 1] UNION SELECT banner FROM v$version WHERE banner LIKE 'Oracle%'; -- 

値を返しませんが、成功したことを示します。まったく一致する可能性が低いランダムな文字列であっても、「%」が含まれている場合は常に成功します。それが示すときLIKE 'Oracle'(なし%)、それはエラーを返します。これが常に成功する理由は%何ですか?

4

1 に答える 1

2

インジェクションを見つけることは 1 つのことですが、コミュニティにそのエクスプロイトを作成するよう依頼することは別のことです。

ですから、見つけたら報告してください。それがペンテストの目的です。

于 2013-08-05T09:52:24.037 に答える