问题描述
我使用 Checkmarx 来扫描源代码并识别代码中的安全漏洞,例如 sql 注入、XSS 等。
我无法摆脱 checkmarx 在 ASP FileUpload
控件上检测到的漏洞。
以下是检测到的漏洞示例:
<asp:FileUpload ID="fuXlsWorkflow" runat="server" EnableViewState="true" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="<%$ Resources:Message,ERR_FORMAT%>" ValidationExpression="^([a-zA-Z]|\x20|\x2E|:|\\|[0-9])*\.(xls|xlsx)$" ControlTovalidate="fuXlsWorkflow" />
Aspx.vb:
Dim fullFileName As String = Antixss.AntixssEncoder.HtmlEncode(fuXlsWorkflow.FileName,False)
即使使用 HtmlEncode 函数,checkmarx 也会检测到 fuXlsWorkflow.FileName
上的漏洞
攻击者可以通过用户输入注入连接字符串, 文件名,由应用程序在 btnImport_Click 中检索 方法,在...的第 114 行
我也尝试过这样做:
Dim invalids As Char() = System.IO.Path.GetInvalidFileNameChars()
Dim newName = String.Join("_",fuXlsWorkflow.FileName.Split(invalids,StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
xlsFileTempPath = Env.TempFolder & " " & Antixss.AntixssEncoder.HtmlEncode(newName,False)
没有任何成功。 有谁知道如何摆脱这个警告? 预先感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)