如何防止JavaScript和html注入存储的XSS

时间:2019-07-19 06:30:52

标签: asp.net xss

我们有一个使用asp.net开发的.net framework 4.0应用程序,我们的表单可以说dataentry.aspx,其中用户在textbox中输入值,该值将存储在数据库中。我们实现了数据库连接逻辑以及后面的代码。一切都很好。

在测试测试人员时,使用提琴手并附加javascripthtml有效载荷,这些有效载荷已保存在数据库中,并发出警报,提示正在UI上提取并显示该有效载荷

让我们说用户在textbox中输入了欢迎词,但是在提琴手中,我们像这样添加了脚本有效载荷

welcome %uff1cscript%uff1ealert(XSS);%uff1c/script%uff1e

所以我们要做的是,在将其保存到textbox之前,我们正在对上面的有效载荷进行编码并将其保存到database中。在显示时,我们正在解码它并在UI上显示它。

因此,在UI中,它显示welcome<script>alert(xss)</script>,并且由于我们正在进行编码和解码,因此未显示任何警报。

但是我们不想显示注入的值。

我们有一些问题:

  • 如果提琴手修改了请求,是否可以放弃该请求?如果是,我们如何检查请求有效载荷是否被修改?

  • 如果脚本负载和实际负载一起注入,我们希望将其重定向到错误页面,因为我们不想将其保存在数据库中。

  • 是否可以在后面的代码中验证注入是否发生。

  • 我们如何检查文本是否包含htmljavascript。是否有任何正则表达式可用于验证文本是否为javascipthtml

0 个答案:

没有答案