【发布时间】:2018-05-20 12:24:06
【问题描述】:
我正在使用遗留代码 - 带有一些 .NET 的 WebControls,遇到了 XSS 问题。 在我后面的代码中,我在 foreach 中添加了简单的 DropDownList 和 ListItems,如下所示:
foreach (string enumValue in aEnumValues)
pListBox.Items.Add(new ListItem(enumValue, enumValue));
但是,当 dropDown 生成时,选项的值属性没有被完全清理。响应正文中的选项如下所示:
<option selected="selected" value=""><img src=2 onerror=alert(y65)>">"><img src=2 onerror=alert(y65)></option>
<option value="df">df</option>
<option value=""dsdf><img src=2 onerror=alert(y65)> "><img src=2 onerror=alert(y65)> ">"dsdf><img src=2 onerror=alert(y65)> "><img src=2 onerror=alert(y65)> </option>
如您所见,对于值属性,并非所有字符都被转义。我怎样才能解决这个问题?或者这是 WebControls 的一些问题?
【问题讨论】:
标签: c# asp.net security web-controls