web-dev-qa-db-ja.com

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

SQLインジェクションを練習しているラボマシンがあります。

ユーザーDBを手動で抽出できたため、悪用しようとしているPOSTパラメーターは脆弱です。

次に、以下のコマンドを使用してSQLmapでこれを実行しました。

sqlmap -u 192.168.1.50/base-login.asp --dbms="Microsoft SQL Server 2000" --data="txtLoginID=admin&txtPassword=test&cmdSubmit=Login" -p txtLoginID --method=POST

Sqlmapコマンドを実行するたびに、txtLoginIDは挿入できないと言われます。私はそれが事実であるということを知っているので、これは奇妙だと思いました。 (私はまた、最高のリスクとレベルを設定して上記のコマンドを試しました)

トラフィックのキャプチャーを続けて、場違いなものがないか確認しました。すべてが問題なく見え、sqlmapが渡そうとしていた変数の一部を取得して手動で入力しました。私がこれを行ったとき、SQLを注入するときに期待するように出力が与えられました。

ライブHTTPヘッダープラグインを使用してHTTPヘッダーをキャプチャし、期待どおりに出力を生成して正常に再生することもできました。

私はsqlmapを初めて使用するので、何か不足しているのではないかと思っていました。私がインターネットで読んだり見たりしたすべてのものから、私はそれを正しくやっているように見えます。

4
Grady Negronida

構文を確認するために、たとえばげっぷによって投稿の定期的なリクエストを傍受できます。それをファイルに保存し、注入をテストするためにこのリクエストを使用するようにsqlmapに通知できます。そのため、sqlmapのオプションは-r

Target:
    At least one of these options has to be provided to set the target(s)

    -d DIRECT           Direct connection to the database
    -u URL, --url=URL   Target URL (e.g. "www.target.com/vuln.php?id=1")
    -l LOGFILE          Parse targets from Burp or WebScarab proxy logs
    -m BULKFILE         Scan multiple targets enlisted in a given textual file
    -r REQUESTFILE      Load HTTP request from a file
3
Sorcha

これはタイプミスですか?

--data "=txtLoginID = admin&txtPassword = test&cmdSubmit = Login "

する必要があります

--data = "txtLoginID = admin&txtPassword = test&cmdSubmit = Login "
1
SilverlightFox