ASP.NET站点,下拉列表中的格式字符串攻击

时间:2016-03-11 10:05:15

标签: asp.net vb.net security zap

我使用OWASP ZAP软件测试一个简单的asp.net网站是否存在漏洞。我得到格式字符串攻击类型的中等警报,我不太了解。 详细信息我得到了这些信息:

描述:当输入字符串的提交数据被应用程序评估为命令时,会发生格式字符串错误。

网址:http://example.com/page.aspx

参数:ctl00%24ContentPlaceHolder1%24dropType

攻击:ZAP

解决方案:使用正确删除错误的字符串重写后台程序。这将需要重新编译后台可执行文件。

其他信息:潜在的格式字符串错误。该脚本关闭/%s上的连接

参考:https://www.owasp.org/index.php/Format_string_attack

ddl是这样的:

<asp:DropDownList ID="dropType" runat="server" >
    <asp:ListItem Value="A" Text="SIMPLE A TEXT"></asp:ListItem>
    <asp:ListItem Value="B" Text="SIMPLE B TEXT"></asp:ListItem>
    <asp:ListItem Value="C" Text="SIMPLE C TEXT"></asp:ListItem>
</asp:DropDownList>

最初我认为问题是从中得到了价值,所以我改变了代码:

cmd.Parameters.AddWithValue("@type", dropType.SelectedItem.Text)

为:

cmd.Parameters.AddWithValue("@type", Regex.Replace(dropType.SelectedItem.Text, "[^\w\.@-]",""))

但重新编译并重新运行测试,我仍然收到警报。然后我尝试评论整行代码,仅用于测试,但编译并重新运行测试我仍然有警报。这是误报,考虑到现在我只是在aspx页面中只是一个简单的下拉列表而没有在代码中引用它?

更新

如果我使用相同的ddl添加页面page2.aspx,我就不会收到任何漏洞警报。与导致警报的相同dll的其他页面的唯一区别在于,在其他页面中没有对page2.aspx的引用,但在某些页面中存在与page.aspx的链接,该页面是提醒:

<a href="../page.aspx">
    <img src="../img/image.jpg" />
</a>

所以我认为警告在某种程度上是关于那个......

0 个答案:

没有答案
相关问题