欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 存储型 XSS与修复

存储型 XSS与修复

2025/6/22 2:44:31 来源:https://blog.csdn.net/zqmattack/article/details/148699962  浏览:    关键词:存储型 XSS与修复

 问题:

应用程序从数据库或其它后端数据存储获取不可信赖的数据,在未检验数据是否存在恶意代码的情
况下,便将其传送给了 Web 用户,应用程序将易于受到存储型 XSS 攻击。
例如:下面 JSP 代码片段的功能是根据一个已知雇员 ID eid )从数据库中查询出该雇员的姓名,并显示
JSP 页面上。
<%...
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from emp where id="+eid);
if (rs != null) {
rs.next();
String name = rs.getString("name");
%>
Employee Name: <%= name %>
如果 name 的值是由用户提供的,且存入数据库时没有进行合理的校验,那么攻击者就可以利用上面的
代码进行存储型 XSS 攻击。
修复:
为了避免存储型 XSS 攻击,建议采用以下方式进行防御:
1 )对用户的输入进行合理验证(如年龄只能是数字)。
2 )根据数据将要置于 HTML 上下文中的不同位置( HTML 标签、 HTML 属性、 JavaScript 脚本、 CSS
URL ),对所有不可信数据进行恰当的输出编码。
3 )设置 HttpOnly 属性,避免攻击者利用跨站脚本漏洞进行 Cookie 劫持攻击。在 Java EE 中,给 Cookie
添加 HttpOnly 的代码如下:
...
response.setHeader(“Set-Cookie”,”cookiename=cookievalue; path=/; Domain=domainvaule; Max- age=
seconds; HttpOnly”);
安全参考:
CWE(79):Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
CWE(80):Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)
OWASP TOP 10(A3):Cross-Site Scripting (XSS)
OWASP TOP 10(A2):Cross-Site Scripting (XSS)
OWASP TOP 10(A1):Cross Site Scripting (XSS)
OWASP TOP 10(A4):Cross Site Scripting
SANS TOP 25(SANS 2011):Insecure Interaction - CWE ID 079
SANS TOP 25(SANS 2010):Insecure Interaction - CWE ID 079
SANS TOP 25(SANS 2009):Insecure Interaction - CWE ID 079
ISO/IEC():Application Vulnerabilities Cross-site Scripting [XYT]

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词