目录
1、反射型 XSS
2、 反射型 XSS 的危害
3、示例代码
3.1缺陷代码
3.2 修复代码
4 、如何避免反射型 XSS
首页 运维 安全 怎么分析反射型XSS

怎么分析反射型XSS

May 13, 2023 pm 08:13 PM
xss

1、反射型 XSS

反射型 XSS 是指应用程序通过 Web 请求获取不可信赖的数据,在未检验数据是否存在恶意代码的情况下,便将其传送给了 Web 用户。反射型 XSS 一般由攻击者构造带有恶意代码参数的 URL,当 URL 地址被打开时,特有的恶意代码参数被 HTML 解析、执行,它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。小编以 JAVA 语言源代码为例,分析 CWE ID 80: Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) 

2、 反射型 XSS 的危害

当用户访问一个带有 XSS 代码的 URL 请求时,服务器端接收数据后处理,然后把带有 XSS 代码的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,造成 XSS 漏洞,可能导致窃取目标网站的 Cookie 到攻击者的服务器上,读取用户未公开的资料或Click劫持实施钓鱼攻击等。从2018年1月至11月,CVE 中共有126条漏洞信息与其相关。部分漏洞如下:

CVE 漏洞概述
CVE-2018-19091 tianti 是一款使用 Java 编写的免费的轻量级 CMS 系统,目前提供了从后台管理到前端展现的整体解决方案。其中 tianti 2.3 通过 tianti-module-admin / user /list userName 参数在用户管理模块中存在反射型 XSS 漏洞。
CVE-2018-14929 Matera Banco 1.0.0 容易受到多个反射型 XSS 的影响,正如 /contingency/web/index.jsp(又名主页)url 参数所示。
CVE-2018-12996  ZohoManageEngine Applications Manager 提供了监视和管理 J2EE 底层结构、J2EE应用的解决方案。在 Zoho ManageEngine Applications Manager 13(Build13800)中反射型跨站脚本(XSS)漏洞允许远程攻击者通过参数 'method' 向GraphicalView.do 注入任意 Web 脚本或 HTML。
CVE-2018-12090 LAMS 是由澳大利亚 Macquarie 大学,LAMS 国际有限公司和 LAMS 基金会联合开发出来的一个基于 JAVA 的新一代学习软件。在 3.1 之前的 LAMS 中存在未经身份验证的反射型跨站脚本(XSS),允许远程攻击者在 forgetPasswordChange.jsp?key = 密码更改期间通过操作未经过规范的 GET 参数来引入任意 JavaScript。

3、示例代码

示例源于Samate Juliet Test Suite for Java v1.3  (https://samate.nist.gov/SARD/testsuite.php),源文件名:CWE80_XSS__CWE182_Servlet_URLConnection_03.java。

3.1缺陷代码

怎么分析反射型XSS怎么分析反射型XSS

上述示例代码操作是获取用户的年龄,在第40行创建连接对象,在第44行创建输入流获得urlConnection对象响应的内容,在第52行从缓冲流中读取一行数据,在第100行中,将获得的数据去除所有的<script>标签并向页面输出处理后的数据,即使过滤了<script>标签,但仍然可以使用其他html标签,在这里构造了恶意的url,但网站未做防护时,页面会读取到document.cookie的内容并输入到页面。这样就造成了反射型 XSS。

使用360代码卫士对上述示例代码进行检测,可以检出“反射型XSS”缺陷,显示等级为高。从跟踪路径中可以分析出数据的污染源以及数据流向,在代码行第100行报出缺陷,如图1所示:

怎么分析反射型XSS图1:反射型 XSS 检测示例

3.2 修复代码

怎么分析反射型XSS

在上述修复代码中,由于页面输出的内容为用户的年龄,在第96行,对响应的内容转换为数字,这样就过滤了其它 html 的字符,即使存在字符,代码会报出异常,并不会造成反射型 XSS 的发生。

使用360代码卫士对修复后的代码进行检测,可以看到已不存在“反射型XSS”缺陷。如图2:


怎么分析反射型XSS

图2:修复后检测结果

4 、如何避免反射型 XSS

要避免反射型 XSS,需要注意以下几点:

(1) 对用户的输入进行合理验证(如年龄只能是数字),对特殊字符(如 <、>、'、"等)以及<script>javascript 等进行过滤。

(2) 根据数据将要置于 HTML 上下文中的不同位置(HTML 标签、HTML 属性、JavaScript 脚本、CSS、URL),对所有不可信数据进行恰当的输出编码。

(3) 设置HttpOnly属性,避免攻击者利用XSS漏洞进行Cookie劫持攻击。在 JavaEE 中,给Cookie添加HttpOnly的代码如下:

怎么分析反射型XSS

以上是怎么分析反射型XSS的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Laravel中的跨站脚本攻击(XSS)和跨站请求伪造(CSRF)防护 Laravel中的跨站脚本攻击(XSS)和跨站请求伪造(CSRF)防护 Aug 13, 2023 pm 04:43 PM

Laravel中的跨站脚本攻击(XSS)和跨站请求伪造(CSRF)防护随着互联网的发展,网络安全问题也变得越来越严峻。其中,跨站脚本攻击(Cross-SiteScripting,XSS)和跨站请求伪造(Cross-SiteRequestForgery,CSRF)是最为常见的攻击手段之一。Laravel作为一款流行的PHP开发框架,为用户提供了多种安全机

PHP防御XSS与远程代码执行攻击的方法 PHP防御XSS与远程代码执行攻击的方法 Jun 30, 2023 am 08:04 AM

如何使用PHP防御跨站脚本(XSS)与远程代码执行攻击引言:在当今互联网世界中,安全性成为了一个至关重要的问题。XSS(跨站脚本攻击)和远程代码执行攻击是两种最常见的安全漏洞之一。本文将探讨如何使用PHP语言来防御这两种攻击,并提供几种方法和技巧来保护网站免受这些攻击的威胁。一、了解XSS攻击XSS攻击是指攻击者通过在网站上注入恶意脚本来获取用户的个人信息、

PHP中的安全XSS过滤技术解析 PHP中的安全XSS过滤技术解析 Jun 29, 2023 am 09:49 AM

PHP是一种广泛应用于网站开发的编程语言,但在使用PHP开发网站时,安全问题常常引起人们的担忧。其中之一就是跨网站脚本攻击(Cross-SiteScripting,XSS),是一种常见的网络安全漏洞。为了解决这个问题,PHP提供了一些安全XSS过滤技术。本文将介绍PHP中的安全XSS过滤技术的原理和使用方法。首先,我们需要了解什么是XSS攻击。XSS攻击

PHP和Vue.js开发安全性最佳实践:防止XSS攻击 PHP和Vue.js开发安全性最佳实践:防止XSS攻击 Jul 06, 2023 pm 01:37 PM

PHP和Vue.js开发安全性最佳实践:防止XSS攻击随着互联网的快速发展,网络安全问题变得越来越重要。其中,XSS(跨站脚本攻击)是一种非常常见的网络攻击类型,旨在利用网站的安全漏洞,向用户注入恶意代码或篡改网页内容。在PHP和Vue.js开发中,采取一些安全性最佳实践是非常重要的,以防止XSS攻击。本文将介绍一些常用的防止XSS攻击的方法,并提供相应的代

怎么分析反射型XSS 怎么分析反射型XSS May 13, 2023 pm 08:13 PM

1、反射型XSS反射型XSS是指应用程序通过Web请求获取不可信赖的数据,在未检验数据是否存在恶意代码的情况下,便将其传送给了Web用户。反射型XSS一般由攻击者构造带有恶意代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行,它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。小编以JAVA语言源代码为例,分析CWEID80:ImproperNeutralizationofScript-RelatedHTMLTagsinaWebPage(BasicXSS)2、

如何分析反射型XSS 如何分析反射型XSS Jun 03, 2023 pm 12:09 PM

1测试环境介绍测试环境为OWASP环境中的DVWA模块2测试说明XSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的,比如获取用户的cookie,导航到恶意网站,携带攻击等等。利用该漏洞,攻击者可以劫持已通过验证的用户的会话。劫持到已验证的会话后,病毒发起者拥有该授权用户的所有权限。3测试步骤在输入框中输入javascrip脚本代码:al

PHP中的XSS攻击 PHP中的XSS攻击 May 23, 2023 am 09:10 AM

近年来,随着互联网信息技术的迅猛发展,我们的生活越来越离不开网络。而网络与我们日常生活的交互,离不开大量的代码编写、传输以及处理。而这些代码,需要我们保护它们安全,否则,恶意攻击者会利用它们发动各种攻击。其中的一种攻击就是XSS攻击。在本文中,我们将重点介绍PHP中的XSS攻击,并且给出相应的防御方法。一、XSS攻击概述XSS攻击,也称为跨站脚本攻击,通常是

PHP入门指南:跨站脚本攻击(XSS) PHP入门指南:跨站脚本攻击(XSS) May 21, 2023 am 10:51 AM

PHP是一种流行的服务器端编程语言,用于开发动态网页和Web应用程序。然而,由于其广泛的使用和易于学习的特性,它经常成为黑客入侵网站的攻击目标。本文将介绍跨站脚本攻击(XSS),并提供一些防范措施。什么是跨站脚本攻击?跨站脚本攻击(XSS)是一种利用Web应用程序存在的漏洞的攻击方式。攻击者通过注入恶意代码来控制网站,然后向用户发送欺骗性的链接或将恶意代码插

See all articles