私は現在APIペンテストを実行しており、API呼び出しの1つにSQLiがあると思います。 Webサービスの特定のアイテムを更新し、リクエストごとにバージョン番号を増やす必要があります。
リクエストの本文は基本的に次のとおりです。
{"id":"1234","version":2,"name":"sqli-here*"}
次のリクエストは次のようにする必要があります。
{"id":"1234","version":3,"name":"sqli-here*"}
スクリプトで mitmproxy を使用して、自動的にバージョンを上げるか、SQLiを手動でスクリプト化できます。
SQLMapまたはBurp Proでこれを実現する方法はありますか?
--eval
SQLMapのパラメータ、理論的には:
-data='{"id": 1}' --eval "f = open('cnt.txt','r+'); id = int(f.readline()); f.seek(0,0); f.write(str(id+1)); f.close()"
詳細については http://aetherlab.net/2014/07/advanced-sqlmap-features-eval/ を参照してください-基本的に、SQLMapはJSONデータを変更し、Pythonコード。Pythonコードはcnt.txtというファイルを読み取り(手動で作成する必要があります)、ID変数をインクリメントする前に、その値を使用してID変数を置き換えますファイルに保存されます。