web-dev-qa-db-ja.com

Sqlmap:SQLの予約語をフィルタリングするWebサイトセキュリティのバイパス

私はsqlmapを使用してWebサイトのDBを取得していますが、このサイトには時間ベースのブール型の脆弱性があることがわかりました。しかし、ターゲットはSQLエラーを示しているため、注入エラーであると思いました。

気になったので、--parse-errors一部のSQL予約語がフィルタリングされることを示すオプション。何かのようなもの:

AND became A_N_D, SELECT became S_E_LE_C_T ...

等々...

Sqlmapでこれをバイパスする方法はありますか?改ざんオプションはありますか?

2
Thiago Dias

テストで同様の状況がありました。アプリケーションはSQLサーバーを使用し、データ入力をフィルタリングするWAFがあり、予約語をブロックできたため、予約語を使用できませんでした。解決策は二重エンコーディングでした、たとえば1文字に二重エンコーディングを適用する必要があるだけです。たとえば、ANDを注入したい場合、URLエンコーディングを使用して文字Aをエンコードすると、次のようになります。これ:%41ND; WAFはこれらの文字をAとして解釈し、機能しなくなります。次に、%に2番目のエンコードを適用する必要があります。そうすると、次のようなものになります。%2541ND; WAFは%25%として解釈し、データベースは%41NDを受け取り、正規化プロセスを実行してコマンドANDを実行します。私はこのSQLインジェクションを手動で悪用しましたが、SQLmapにこのバイパステクニックがあるかどうかはわかりません。改ざんオプションを確認することをお勧めします。おそらく同じようなものがあります。

幸運を。

2
hmrojas.p

うーん...バイパスできるもののようですね。多分あなたはこのようなことを試すことができます:

replace( 'S_E_LE_C_T'、 '_'、 '')

replace( 'A_N_D'、 '_'、 '')

ワイルドな推測です...しかし、おそらくうまくいくかもしれません。最高は、試すことです!次に、この考えをsqlmapに適合させる必要があります。

sqlmap tampering について話しているページをいくつか見ました。多分nonrecursivereplacement改ざんはあなたのために働くかもしれません。

幸運を

1
OscarAkaElvis