最近我的项目经过年度扫描和一些漏洞被发现其中之一是身体参数接受查询我已经搜索了很多,但无法找到任何解决方案。谁能帮我一下。
PDF内容
**CVSS评分:**5.0
**实体:**ViewGeneratedLicense.aspx(Page)
**风险:**可能会收集有关Web应用程序的敏感信息,例如用户名,密码,机器名和/或敏感文件位置。可能会说服天真的用户提供敏感信息,例如用户名,密码,信用卡号码,社会安全号码等。原因:Web应用程序编程或配置不安全
**修复:**不接受查询字符串中发送的body参数
差异:从请求中删除主体参数:dlEQnbwh+SU0fnNggvrn41XqVCYrGzcGkfx1U2vWIFuouDJj179CSwOlev0Kt8bKAywMLBjGIVsO3vKyfMN/Af4t kLgsMCBjYKg3WCbLwP4OyLzHuNzwbmjFixYeKmsOgNg3Fm78wUEiU/A1Ylq6vy5kybGhTbFDiUT7aK7RE48c3ry PH9wOA/8dBSa4/gObQISeh9s1NCSvrKAXpWrGUJTZGSRQ6LacRwWjT/B1x4=
添加到请求的查询参数:dlEQnbwh+SU0fnNggvrn41XqVCYrGzcGkfx1U2vWIFuouDJj179CSwOlev0Kt8bKAywMLBjGIVsO3vKyfMN/Af4t kLgsMCBjYKg3WCbLwP4OyLzHuNzwbmjFixYeKmsOgNg3Fm78wUEiU/A1Ylq6vy5kybGhTbFDiUT7aK7RE48c3ry PH9wOA/8dBSa4/gObQISeh9s1NCSvrKAXpWrGUJTZGSRQ6LacRwWjT/B1x4=
已从请求中删除正文参数:60 E89 E49查询参数添加到请求:60E89E49
已从请求中删除正文参数:
添加到请求的查询参数:
已从请求中删除正文参数:RTzm2ACJxwCcqznNO4Wvc54r2vCBI7D4zpx5pjId8Fa4ECNizBeorXO9wOTWYPXO9p6GxfhMRCINxxbw2xvSWf9P 9KPShEp7iXodQHNW/n9xdPVf9hRUq0fx4ZcUTASpv/Vau6AmreXgo6L8ceeLRO4mpW29Zvm/y6iH4dsj4jVZdX4i b+Z/tnbdxZmSDVZC
添加到请求的查询参数:RTzm2ACJxwCcqznNO4Wvc54r2vCBI7D4zpx5pjId8Fa4ECNizBeorXO9wOTWYPXO9p6GxfhMRCINxxbw2xvSWf9P 9KPShEp7iXodQHNW/n9xdPVf9hRUq0fx4ZcUTASpv/Vau6AmreXgo6L8ceeLRO4mpW29Zvm/y6iH4dsj4jVZdX4i b+Z/tnbdxZmSDVZC
已从请求中删除正文参数:1234查询参数已添加到请求:1234从请求中删除主体参数:添加到请求的Go Query参数:Go方法操作自:POST to:GET Reasoning:测试结果似乎表明存在漏洞,因为测试响应与原始响应相似,表明应用程序处理了在查询中提交的主体参数
我不确定解决方案。根据PDF给出的解决方案(修复:不接受在查询字符串中发送的正文参数????)
1条答案
按热度按时间ymdaylpp1#
我不确定你使用的是哪个版本的ASP.NET,但是在旧版本中,如果你没有显式地用
[FromQuery]
或[FromBody]
之类的东西标记参数,ASP.NET会遍历所有可能的源代码并试图找到信息。这意味着你可以有这样的代码:字符串
POST /API/Foo?用户名=john&密码=pas$w0rd
这是一个安全风险,因为查询参数通常记录在中间服务器中,因此密码可以以纯文本形式显示。
解决方案是评估这些方法,并适当地注解参数,以便它们绑定到查询参数 * 或 * 请求主体 *,但不是两者都绑定 *:
型