1.未经过滤/转义的用户输入
2.输入被当作js的一部分,或调用了html事件
3.在输出时没有做好转义
在HTML中常用到字符实体,将常用到的字符实体没有进行转译,导致完整的标签出现,在可输入的文本框等某些区域内输入特定的某些标签导致代码被恶意篡改。
简单的来讲就是,没有过滤尖括号,根本原因在于不安全的数据流, 使得用户的输入数据被直接嵌入到某些页面中
web应用对用户输入的参数过滤不严谨,使得攻击者将恶意代码到页面中,当用户访问网页时,恶意代码就会被浏览器解析执行从而导致用户被攻击