有人有从 ASP.NET 调用 AMSI 的经验吗?我有一个允许用户上传文件的 Web 应用程序,我们希望在将每个文件保存到数据库并使其可下载给其他用户之前对每个文件执行病毒扫描。
我已经针对 Windows AMSI 进行了开发,当在我的计算机上本地运行(VS 中的 IISExpress)时,它工作正常(我的测试用例是它拒绝文本文件中的 EICAR 测试字符串)。
但是,当我构建应用程序并将其放入我们的测试服务器(运行 IIS 10)时,测试文件不会被视为恶意软件。初始化界面时,我得到了所有正确的返回代码,并扫描文件,我得到了有效的结果(未检测到)。
有人有什么想法吗?我在本地运行 Windows 10,服务器是 2016 年。我注意到的一件事是,在网站上,它在支持的服务器旁边注明了 [仅限桌面应用程序]。这是否意味着没有 UWP?或者这是否也意味着没有作为服务运行?
https://learn.microsoft.com/en-us/windows/win32/api/amsi/nf-amsi-amsiscanbuffer
干杯,安迪
经过一番头痛之后,我发现了问题。看来开箱即用的 Windows Defender 会自动将 IIS 进程排除在恶意软件检查之外。这样做的效果是扫描方法不会拒绝恶意软件。
可以关闭自动排除。