类型: 安全缺陷

    反射型XSS是指应用程序通过Web请求获取不可信赖的数据,并在未检验数据是否存在恶意代码的情况下,将其发送给用户。反射型XSS一般可以由攻击者构造带有恶意代码参数的URL来实现,在构造的URL地址被打开后,其中包含的恶意代码参数被浏览器解析和执行。这种攻击的特点是非持久化,必须用户点击包含恶意代码参数的链接时才会触发。
    例如:下面JSP代码片段的功能是从HTTP请求中读取输入的用户名(username)并显示到页面。

    1. <%
    2. String name= request.getParameter("username"); %>
    3. ...
    4. 姓名: <%= name%>
    5. ...

    如果name里有包含恶意代码,那么Web浏览器就会像显示HTTP响应那样执行该代码,应用程序将受到反射型XSS攻击。