我正在测试一个在每次请求后不断更改其 URL 的网站登录。第一个请求向 发出 POST 登录请求/login?0-1.FormSubmit,下一次登录尝试必须向 POST 发送/login?1-2.FormSubmit,以此类推。
是否可以在此登录时使用 sqlmap,即使每次请求后 URL 都会更改?
我正在测试一个在每次请求后不断更改其 URL 的网站登录。第一个请求向 发出 POST 登录请求/login?0-1.FormSubmit,下一次登录尝试必须向 POST 发送/login?1-2.FormSubmit,以此类推。
是否可以在此登录时使用 sqlmap,即使每次请求后 URL 都会更改?
工具很少写得足够通用以处理晦涩的测试用例。将工具的缺点归咎于该工具可能很诱人,但更多情况下问题是模糊的/非通用的,应该通过其他方式解决。
您可以通过创建一个充当目标应用程序和您的工具之间代理的小型 Web 应用程序来解决此问题。
该工具接受易受攻击的输入作为参数,并根据需要将其转发给应用程序。
这是一个未经测试的 python/flask 代码来说明如何做到这一点:
from flask import Flask, request
import requests
i = 0
app = Flask(__name__)
@app.route("/")
def app_proxy():
sqli = request.args.get("sqli",None)
data = {"somekey":"someval","vulnerableparam":sqli}
resp = requests.post("http://target.com/login?%s-%s.FormSubmit"%(i,i+1),data=data)
i += 1
return resp.text, resp.status_code
app.run(host="127.0.0.1",port=8008)
启动烧瓶应用程序后,您应该可以针对http://127.0.0.1:8008/?sqli=value使用 sqlmap