欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

存储型 XSS

来源:未知 作者:wnhack 时间:2019-01-08 14:20 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助
1、存储型 XSS
存储型XSS 是指应用程序通过Web请求获取不可信赖的数据,在未检验数据是否存在XSS代码的情况下,便将其存入数据库。当下一次从数据库中获取该数据时程序也未对其进行过滤,页面再次执行XSS代码,存储型XSS可以持续攻击用户。存储型XSS漏洞大多出现在留言板、评论区,用户提交了包含XSS代码的留言到数据库。当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。浏览器发现有XSS代码,就当做正常的HTML和JS解析执行,存储型XSS就发生了。本篇文章以JAVA语言源代码为例,分析CWE ID 80:ImproperNeutralization of Script-Related HTML Tags in a Web Page (Basic XSS)(http://cwe.mitre.org/data/definitions/80.html)样本存储型XSS漏洞产生的原因以及修复方法。 详见:
CWE ID 79: ImproperNeutralization of Input During Web Page Generation (‘Cross-site Scripting’) (http://cwe.mitre.org/data/definitions/79.html)
CWE ID 80: Improper Neutralization ofScript-Related HTML Tags in a Web Page (Basic XSS)(http://cwe.mitre.org/data/definitions/80.html)
CWE ID 81: Improper Neutralization of Scriptin an Error Message Web Page (http://cwe.mitre.org/data/definitions/81.html)
CWE ID 82: Improper Neutralization of Scriptin Attributes of IMG Tags in a Web Page (http://cwe.mitre.org/data/definitions/82.html)
CWE ID 83: Improper Neutralization of Scriptin Attributes in a Web Page (http://cwe.mitre.org/data/definitions/83.html)
 
2、 存储型 XSS 的危害
存储型XSS攻击方式主要是嵌入一段远程或者第三方域上的JS代码,并在目标域执行这些代码。存储型XSS会造成Cookie泄露,破坏页面正常的结构与样式,重定向访问恶意网站等。从2018年1月至11月,CVE中共有215条漏洞信息与其相关。部分漏洞如下:
CVE
漏洞概述
CVE-2018-19178
在JEESNS 1.3中,com / lxinet / jeesns / core / utils /XssHttpServletRequestWrapper.java允许通过 HTML  EMBED 元素进行存储型XSS攻击。
CVE-2018-19170
JPress,一个 wordpress 的 java 代替版本,使用 JFinal 开发,支持类似 wordpress 的几乎所有功能。在 JPress v1.0-rc.5 中,通过前面三个输入字段,可进行存储型XSS攻击 starter-tomcat-1.0 / admin / setting URI。
CVE-2018-19089
Tianti是基于 Java 的轻量级 CMS 解决方案,tianti 2.3 通过 tianti-module-admin / user /ajax / save_role name 参数在用户列表模块存在存储型XSS漏洞,该参数在 tianti-module-admin src main webapp WEB-INF views user user_list.jsp。
CVE-2018-17369
Java EasyCms 是一个开源 cms 系统。发表文章时, EasyCMS 1.3 存在存储型XSS漏洞; 四个字段受到影响:标题,关键字,摘要和内容,如 /admin/index/index.html#listarticleURI所示。
 
3、示例代码
示例源于 SamateJuliet Test Suite for Java v1.3 (https://samate.nist.gov/SARD/testsuite.php),源文件名:CWE80_XSS__CWE182_Servlet_database_01.java。
3.1缺陷代码

1、存储型 XSS
存储型XSS 是指应用程序通过Web请求获取不可信赖的数据,在未检验数据是否存在XSS代码的情况下,便将其存入数据库。当下一次从数据库中获取该数据时程序也未对其进行过滤,页面再次执行XSS代码,存储型XSS可以持续攻击用户。存储型XSS漏洞大多出现在留言板、评论区,用户提交了包含XSS代码的留言到数据库。当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。浏览器发现有XSS代码,就当做正常的HTML和JS解析执行,存储型XSS就发生了。本篇文章以JAVA语言源代码为例,分析CWE ID 80:ImproperNeutralization of Script-Related HTML Tags in a Web Page (Basic XSS)(http://cwe.mitre.org/data/definitions/80.html)样本存储型XSS漏洞产生的原因以及修复方法。 详见:
内容来自无奈安全网

CWE ID 79: ImproperNeutralization of Input During Web Page Generation (‘Cross-site Scripting’) (http://cwe.mitre.org/data/definitions/79.html)
CWE ID 80: Improper Neutralization ofScript-Related HTML Tags in a Web Page (Basic XSS)(http://cwe.mitre.org/data/definitions/80.html)
CWE ID 81: Improper Neutralization of Scriptin an Error Message Web Page (http://cwe.mitre.org/data/definitions/81.html)
内容来自无奈安全网

CWE ID 82: Improper Neutralization of Scriptin Attributes of IMG Tags in a Web Page (http://cwe.mitre.org/data/definitions/82.html)
CWE ID 83: Improper Neutralization of Scriptin Attributes in a Web Page (http://cwe.mitre.org/data/definitions/83.html)
 
2、 存储型 XSS 的危害 内容来自无奈安全网
存储型XSS攻击方式主要是嵌入一段远程或者第三方域上的JS代码,并在目标域执行这些代码。存储型XSS会造成Cookie泄露,破坏页面正常的结构与样式,重定向访问恶意网站等。从2018年1月至11月,CVE中共有215条漏洞信息与其相关。部分漏洞如下: 内容来自无奈安全网
CVE
漏洞概述
CVE-2018-19178
在JEESNS 1.3中,com / lxinet / jeesns / core / utils /XssHttpServletRequestWrapper.java允许通过 HTML  EMBED 元素进行存储型XSS攻击。

无奈人生安全网


CVE-2018-19170
JPress,一个 wordpress 的 java 代替版本,使用 JFinal 开发,支持类似 wordpress 的几乎所有功能。在 JPress v1.0-rc.5 中,通过前面三个输入字段,可进行存储型XSS攻击 starter-tomcat-1.0 / admin / setting URI。
CVE-2018-19089 本文来自无奈人生安全网
Tianti是基于 Java 的轻量级 CMS 解决方案,tianti 2.3 通过 tianti-module-admin / user /ajax / save_role name 参数在用户列表模块存在存储型XSS漏洞,该参数在 tianti-module-admin src main webapp WEB-INF views user user_list.jsp。
CVE-2018-17369
Java EasyCms 是一个开源 cms 系统。发表文章时, EasyCMS 1.3 存在存储型XSS漏洞; 四个字段受到影响:标题,关键字,摘要和内容,如 /admin/index/index.html#listarticleURI所示。
copyright 无奈人生

 
3、示例代码
示例源于 SamateJuliet Test Suite for Java v1.3 (https://samate.nist.gov/SARD/testsuite.php),源文件名:CWE80_XSS__CWE182_Servlet_database_01.java。
3.1缺陷代码
内容来自无奈安全网
。 (责任编辑:wnhack)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。