机器人在 ASP.NET MVC 中检测到未经授权的控制器方法

Unauthorized controller method detected by a bot in ASP.NET MVC

提问人:Philippe 提问时间:5/5/2022 更新时间:5/5/2022 访问量:94

问:

通过我的应用程序日志,我注意到引发了以下 HttpException:

“在控制器'MyApp.Controllers.MyController'上找不到公共操作方法'MyMethod'”

控制器:“MyController”,操作:“MyAction”(GET)

这是正常的,因为 MyActionPOST 方法。 但是,MyController 只能由经过身份验证的用户访问,这要归功于覆盖 HandleUnauthorizedRequest() 方法的控制器过滤器。 此外,MyAction 是由 Ajax 从专用于经过身份验证的功能的脚本文件中调用的。

(请注意,MyActionMyController 不是真实名称,我在这里更改了它们,它们绝对是不常见的名称,如果不阅读 JS 文件就无法猜到。

我担心我的应用程序安全。 这怎么可能被未经身份验证的用户(根据其 IP 地址位置是机器人)检测到此控制器方法的存在?我应该怎么做才能避免该问题?

C# ASP.NET-MVC 安全性

评论

0赞 John Wu 5/5/2022
“不常见的名称,如果不阅读 JS 文件就无法猜到”听起来像是有人阅读了 JS 文件。你不能真的依靠晦涩难懂的命名来阻止黑客进入你的端点。
0赞 Philippe 5/5/2022
谢谢你的回答。我不依赖晦涩难懂的命名,我只是解释说这不可能是巧合。JS 文件仅供经过身份验证的用户使用。机器人如何访问它?

答: 暂无答案