WAFとしてModSecurityを使用してチャレンジWebサイトをテストしようとしています。 '
ユーザーエージェントで、MySQLからエラーが発生しました。
SQL構文にエラーがあります。 MySQLサーバーのバージョンに対応するマニュアルで、1行目の '' '') '付近で使用する正しい構文を確認してください
今私はこのヘッダーでそれを悪用しようとしています:
User-Agent: brick') order by 15 --+
結果は次のとおりです。
SQL構文にエラーがあります。 MySQLサーバーのバージョンに対応するマニュアルで、1行目で '') 'の近くで使用する正しい構文を確認してください
sQLインジェクションに対して脆弱な別の入力も見つけたので、悪用される方が簡単かもしれません...
' order by 15 --+
私はこの例のように注入しようとしました、そしてそれは結果を動かします
Unknown column '15' in 'order clause'
など.
しかし私が試したときorder by 2
私はこの結果を得ました:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by 2 -- ', '', '', '', '5', 'Lbs', '', 'Mozilla/5.0')' at line 1
活用する方法についてのアイデアはありますか?
表示されるエラーは、modsecurityからではなく、MySQLからのものです。サーバーが作成したSQLステートメントが無効であることを通知します。
たとえば、SQLクエリは次のように構成されている可能性があります。
UPDATE clients SET useragent='$useragent'
あなたの例では、これは
UPDATE clients SET useragent='brick') order by 15 --+'
括弧があるため、これは明らかに無効です。
これを利用するには、正確なクエリを知るか、クエリを推測していくつかの異なる値を試す必要があります。