IBM AppScan标识了查询字符串含义中接收到的密码参数

问题描述

我正在尝试解决IBM AppScan结果中的问题,并且我得到了该标志:

AppScan标识了查询字符串中收到的密码参数

此命令显示在屏幕上

GET /myapp.com/?username=user&password=**CONFIDENTIAL 1** HTTP/1.1

而且我100%确信我没有在查询参数中发送关键信息,甚至没有收到请求,我在考虑该应用程序正在自行发送请求并希望我阻止它。

我是对的还是我在这里错过了什么?

解决方法

应用程序漏洞扫描程序会误解使用JavaScript发出登录请求的登录表单,这很常见。我猜想HTML表单没有明确将请求方法声明为POST。假设用户实际上是通过浏览器发出请求的,则发出了POST请求,因此可以安全地假设AppScan会自己生成该请求。

要考虑的另一个问题是,如果您向https://myapp.com/?username=user&password=password@123发出请求,那是否返回会话令牌?如果服务器不拒绝所有GET请求,即使用户手动创建了请求,通常也将其视为漏洞。