XSS攻击与防范小结

这篇博客的提纲如下:

一、故障梳理

二、故障解决方案

三、XSS小结

 

 

一、故障梳理

这要从最近出的一个故障说起。故障的过程大致如下:

数据流

 

A系统与B系统域名不同,A系统中的数据提交到A系统某个form表单,然后通过js函数提交到B系统后台,然后显示在B系统的IE浏览器上

这是整个数据流。

 

其中IE8开始,IE内置了XSS filter机制,当来源为跨站数据源,且数据源中含有疑似XSS攻击恶意数据(微软IE内置的正则来判断,例如,‘中文()’等)的时候,就会停止脚本的运行,直接跳转到空白页。

可以参考http://windows.microsoft.com/en-us/windows7/how-does-internet-explore-9-help-protect-me-from-cross-site-scripting-attacks   

 

本故障就是在A系统提交的数据中含有疑似XSS攻击的字符,导致IE误判,(别的浏览器都没事,IE就是个惹祸的怪胎。远离IE得永生!)无法将数据正确在B系统展示出来。展示了空白页。

 

二、故障解决方案

解决方案暂时想到的有两种:

1、在B系统的Response的Header里面加入标签X-XSS-Protection=0,阻止IE XSS filter生效。但是这样做有损系统安全性

2、在A系统提交的数据里面做XSS字符的过滤,将疑似XSS的字符从半角转换为全角字符。后面会有相应的代码实现

3、将数据的A系统进行彻底的编码(Base64等),然后在B系统进行相应的解码

 

这里选择方案2进行实现:

代码如下:

 

 public static String xssEncoder(String content){
        StringBuilder bulider=new StringBuilder();
        for(char c :content.toCharArray()){
            switch (c) {
                case '>':
                    bulider.append('>');// 全角大于号
                    break;
                case '<':
                    bulider.append('<');// 全角小于号
                    break;
                case '\'':
                    bulider.append('\\');
                    bulider.append('\'');
                    bulider.append('\\');
                    bulider.append('\'');
                    break;
                case '\"':
                    bulider.append('\\');
                    bulider.append('\"');// 全角双引号
                    break;
                case '&':
                    bulider.append('&');// 全角
                    break;
                case '\\':
                    bulider.append('\');// 全角斜线
                    break;
                case '#':
                    bulider.append('#');// 全角井号
                    break;
                case ':':
                    bulider.append(':');// 全角冒号
                    break;
                case '%':
                    bulider.append("\\\\%");
                    break;
                case '(':
                    bulider.append("(");
                    break;
                case ')':
                    bulider.append(")");
                    break;
                case ',':
                    bulider.append(",");
                    break;
                case '.':
                    bulider.append("。");
                    break;
                default:
                    bulider.append(c);
                    break;
            }
        }
        
        return bulider.toString();
    }

 

 

 

顺便提一下针对全站进行XSS防御的两种常用手段

1、配置Nginx的过滤正则脚本,对疑似XSS的脚本特征进行拦截

2、在系统配置拦截器,针对XSS数据进行清洗过滤,如http://my.oschina.net/hermer/blog/152834

 

三、XSS 小结

      这部分内容太多,做不好讲述。有很多web安全的书籍都讲得非常不错。这里就不泛泛而谈了

    

xss漏洞学习小结,详不详细你说了算 xss漏洞小结 一、初识XSS 1、什么是XSS XSS全称跨站脚本(Cross Site Scripting),为避免与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故缩写为XSS。这是一种将任意 Javascript 代码插入到其他Web用户页面里执行以达到攻击目的的漏洞。攻击者利用浏览器的动态展示数据功能,在HTML页面里嵌入恶意代码。当用户浏览改页时,这些潜入在HTML中的恶意代码会被执行,用户浏览器被攻击者控制,从而达到攻击者的特殊目的,如 coo. 阅读详情

相关推荐

XSS剖析(让你认识到xss的危害和防范)

XSS全称:跨站脚本(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets)的缩写CSS混合,所以改名为XSS;攻击者会向web页面(input表单、URL、留言版等位置)插入恶意JavaScript代码,导致管理员/用户访问时触发,从而达到攻击者的目的。

【原创】XSS攻击总结

一、XSS定义 xss的形成原理 xss 中文名是“跨站脚本攻击”,英文名“Cross Site Scripting”。 Cross-site scripting的英文首字母缩写本应为CSS,但因为CSS在网页设计领域已经被广泛指层叠样式表(Cascading Style Sheets),所以将Cross(意为“交叉”)改以交叉形的X做为缩写。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的脚本代码(HTML、JavaScript),当其它用户访问含有恶意代码的页面,恶意脚本就会被浏览器解析执行

yiran1919的博客 1744

京东商品多维特征提取:基于时空大模型的实时库存预测接口设计

在电商行业,库存管理是供应链的核心环节之一。库存水平过高会导致资金占用、仓储成本增加,而库存水平过低则可能引发缺货风险,影响客户满意度和平台声誉。京东作为中国领先的电商平台,拥有海量的商品数据和复杂的业务场景,传统的库存预测方法难以应对市场动态变化和业务需求。时空大模型作为一种融合时间序列分析和空间特征提取的前沿技术,能够捕捉商品多维特征在时空维度上的变化规律,为实时库存预测提供更精准的决策依据。

FB13713612741的博客 954

XSS(跨站脚本攻击)详解 (下)

XSS(跨站脚本攻击)详解 (下) Hack9月5日 XSS漏洞的简单攻击测试 反射型XSS: 先放出源代码 //前端 1.html:<html><head lang="en"> <meta charset="UTF-8"> ...

我不生产数据,只是数据的搬运工 898

chmod: changing permissions of `/u01/app/oracle/product/11.2.0/dbhome_1/bin/extjobO‘: Operation not

oracle 11.2.0.4安装psu 29141056,日志末尾抛出报错 Patching component oracle.ctx, 11.2.0.4.0... Applying sub-patch '29141056' to OH '/u01/app/oracle/product/11.2.0/dbhome_1' Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.rman, 11.2.0.

m0_37625564的博客 1833

建议收藏:华为海思IC设计笔试题,含解析(附下载)

接触过的部门有麒麟芯片、CPU/GPU,总体面试感觉非常好,规范且认真,第一轮手撕代码状态机+复盘机考题+瞄准几个知识点深挖,时间1hour+;一二轮面试是连着的,所以很累。但是岗位就那么多,在面试的时候,很多同学因为准备不充分,与岗位失之交臂,无缘进入该公司。时序电路有记忆功能,不会产生锁存器,锁存器一般在组合逻辑中case写不全,else写不全,或者敏感列表写不全。

nuoweishizi的博客 3288

XSS如何防范

XSS如何防范 题意分析 在 Web 安全领域中,XSS 和 CSRF 是最常见的攻击方式。下面我们首先简单了解一下什么是 XSS 和 CSRF 。 XSS,即 Cross Site Script,中译是跨站脚本攻击;其原本缩写是 CSS,但为了和层叠样式表(Cascading Style Sheet)有所区分,因而在安全领域叫做 XSS。XSS 攻击是指攻击者在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时,对用户浏览器进行控制或者获取用户隐私数据的一种攻击方式。攻击者

qq_45803050的博客 8536

一个测试工程师走进一家酒吧……

一个测试工程师走进一家酒吧,要了一杯啤酒;一个测试工程师走进一家酒吧,要了一杯咖啡;一个测试工程师走进一家酒吧,要了 0.7 杯啤酒;一个测试工程师走进一家酒吧,要了-1 杯啤酒;一个测试...

字节跳动技术团队官方博客 4886

XSS 防御方法总结

1. XSS攻击原理 XSS原称为CSS(Cross-Site Scripting),因为和层叠样式表(Cascading Style Sheets)重名,所以改称为XSS(X一般有未知的含义,还有扩展的含义)。XSS攻击涉及到三方:攻击者,用户,web server。用户是通过浏览器来访问web server上的网页,XSS攻击就是攻击者通过各种办法,在用户访问的网页中插入自己的脚本,让其在用...

weixin_33932129的博客 2917

Plecs仿真进阶:半桥LLC谐振变换器从开环到闭环的实战解析

本文通过Plecs软件,详细解析了半桥LLC谐振变换器从开环模型搭建到闭环控制实现的完整仿真流程。文章深入探讨了谐振参数设置、关键波形解读,并重点分享了基于PI控制器的闭环调试实战经验与参数整定技巧,帮助工程师高效掌握这一高效拓扑的仿真与设计方法。

weixin_29231263的博客 278

Xilinx UltraScale+系列FPGA实现USB3.0 DEV 设备 部分原理图+代码分享

Zynq UltraScale+ MPSoC 系列是 Xilinx 新一代 Zynq 平台。在 FPGA 里有完整的 ARM 处理(PS),包含了四核或双核 Cortex-A53 处理器 ,处理器子系统中有DDR内存控制器等大量的外设,在FPGA中完全独立于可编程逻辑单元(PL)如果暂时没有用到PL部分,PS也能单独工作,相当于可以当成一个ARM来用了(以前的不行)。 ARM也包含USB3.0控制器,这是实现USB3.0DEV的关键,根据官方手册(ug1085)描述,USB主(Host)从(Device)

Pierre 1万+

XSS攻击总结

文章目录1.XSS介绍2.XSS的分类3.反射型XSS4.存储型XSS5.DOM XSS 1.XSS介绍 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改

醉等佳人归 768

AD9026芯片开发实战指南:从硬件配置到射频校准

本文为AD9026芯片开发实战指南,详细解析了从硬件设计、电源时钟配置、SPI初始化到多芯片同步与JESD204高速链路建立的完整流程。重点探讨了射频校准技术,包括初始化校准与跟踪校准,以保障5G、MIMO等现代通信系统所需的射频性能。旨在帮助开发者系统掌握这颗高性能射频收发器的应用,规避常见设计陷阱。

tomato的博客 851

前端安全之防范XSS

由于前段时间业务有接触到富文本编辑器,且编辑器由用户直接使用,所以不可避免需要对其涉及到的XSS防护有所了解,因此对XSS防护做一个实战小结。 前言 XSS大部分前端coder都不会陌生,全称:跨站脚本漏洞(Cross Site Scripting,简写作XSS)是Web应用程序在将数据输出或者展示到网页的时候存在问题,导致攻击者可以将对网站的正常功能造成影响甚至窃取或篡改用户个人信息,其诱发的主要原因是没有针对用户输入来源的数据以及不可信数据源的过滤。本文将针对XSS进行简单的归类总结,并且提供.

高先生的猫 3480

别再手动量了!用Python+Open3D给BIM模型做‘CT扫描’,自动揪出施工误差(附完整代码)

本文介绍如何利用Python和Open3D技术实现BIM模型的毫米级施工误差自动检测。通过点云预处理、模型配准和偏差分析,系统能自动生成三维差异热力图和验收报告,显著提升施工质量检测效率。特别适合混凝土结构错位和钢结构安装偏差等常见问题的智能分析。

weixin_29284657的博客 243

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【web渗透】XSS跨站请求攻击

反射型xss攻击( Reflected XSS)又称为非持久性跨站点脚本攻击,它是最常见的类型的XSS。漏洞产生的原因是攻击者注入的数据反映在响应中。一个典型的非持久性XSS包含一个带XSS攻击向量的链接(即每次攻击需要用户的点击)。

qinshuoyang1的博客 1583

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

常见网络攻击手段及防范

文章目录会话XSS 攻击CSRF 攻击https中间人攻击参考 晚点再补充 会话 XSS 攻击 CSRF 攻击 https 中间人攻击 参考 Cookie浅析

岸边有熊的博客 2243

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

xss 漏洞小结

xss漏洞小结

weixin_58358185的博客 689

Web系统常见安全漏洞介绍及解决方案-XSS攻击

跨站脚本攻击XSS因破坏力强大、产生的场景复杂、难以解决而成为客户端安全中的头号杀手,本文将深入探讨XSS攻击的原理,以及对应的解决方案。

java后端开发的博客,不仅仅是后端开发 2020

XSS(跨站脚本攻击)

XSS 攻击(Cross-Site Scripting)是一种常见的网络攻击手段,攻击者通过在网站上注入恶意的JavaScript 代码,让网站在用户的浏览器中执行这些恶意代码,进而达到窃取信息、篡改网页内容或者进行其他恶意行为的目的。

YiHanXii的博客 985

前端安全漏洞之 XSS

前端安全漏洞之 XSS一、概念二、特点三、示例四、防范 一、概念 XSS(Cross Site Scripting)是跨站脚本攻击,即在他人站点嵌入带有攻击性的脚本。原本缩写应该是CSS,但为了与 Cascading Style Sheet(层叠样式表,也就是前端中样式CSS)区分,就将其缩写为 XSS。 二、特点 XSS 攻击的源头是服务端过于信任客户端提交的数据; XSS 攻击是通过网站暴露...

杏子 2626

【Django一站式教程 · 第27章】安全加固:防止 SQL 注入与 XSS 攻击

网站安全是保障用户数据和系统稳定的基础。本章深入讲解两种最常见的 Web 攻击:SQL 注入和 XSS,结合 Django 框架的安全机制,教你如何识别、预防并修复安全漏洞,确保项目安全可靠。

feizuiku0116的博客 884

【网络安全】深入探究CSRF攻击与防范

目录 1.0 什么是CSRF攻击? 2.0 CSRF攻击过程 3.0 CSRF防范策略 3.1 验证HTTP请求头中指定字段 3.2 添加校验Token 4.0 小结导图 1.0 什么是CSRF攻击? CSRF攻击的全称是跨站请求伪造( cross site request forgery),是一种对网站的恶意利用,尽管听起来跟XSS跨站脚本攻击有点相似,但事实上CSRF与XSS差别很大,XSS利用的是站点内的信任用户,而CSRF则是通过伪装来自受信任用户的请求来利用受...

weixin_41950078的博客 1026

web安全的攻击与防范

未来,Web安全将面临更多的挑战,包括人工智能和物联网等新技术的兴起。当前,Web安全威胁的变化和复杂性加剧了Web应用程序的风险,针对这些风险,开发人员和运维人员需要时刻关注Web应用程序的安全性,并采取相应的防范措施,以确保Web应用程序在安全的环境中运行。SQL注入攻击之所以能够成功,是因为Web应用程序没有对用户的输入进行充分的过滤和验证,攻击者通过在应用程序的输入字段中输入恶意SQL代码,向数据库发送一些不当的SQL查询语句,从而能够突破数据库的安全措施,获取大量敏感信息或者控制系统的操作权。

zhu2003cong01的博客 828

常见网络攻击与防御总结

常见网络攻击与防御 1、CSRF攻击与防御 1.1 什么是CSRF 1.2 防御CSRF攻击 1.2.1 验证码 1.2.2 Refer Check(添加Referer识别) 1.2.3 Anti CSRF Token(添加token验证) 2、sql注入攻击 2.1 什么是sql注入攻击 2.2 sql注入产生原因及威胁 2.3防御sql注入攻击 3、XSS攻击 3.1 什么是XSS攻击 3.2 XSS的攻击方式 3.3 如何防御XSS攻击 4、DDos攻击 4.1 什么.

qq_41969790的博客 4160
上一篇: java数据传输常用编码方式总结
下一篇: spring3x管理properties文件
liyebing
博客等级 码龄20年 32粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值