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

2024最新Typora配置指南:从安装到打造学术写作环境(含LaTeX/参考文献解决方案)

本文提供2024年最新Typora配置指南,详细讲解如何从安装开始,结合Pandoc、Zotero和LaTeX,打造高效的学术写作环境。指南涵盖Typora深度定制、学术主题配置、参考文献自动管理以及一键生成出版级PDF的完整解决方案,旨在帮助科研人员和学生实现内容与格式分离,大幅提升论文写作效率。

weixin_29258297的博客 211

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

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

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

分析国外几款主流蜜罐产品看欺骗诱捕技术的应用脉络

网络安全的本质是攻防对抗,更本质的其实是人与人心智与技术的全面较量。 欺骗诱捕技术作为攻防对抗技术中比较特殊的技术,能够使防守方更多掌握对抗中的主动权,诱导攻击,迫使攻击者耗费精力的同时,留下丰富的攻击信息。究其本质,欺骗诱捕技术更深层次考验的不止是技术的能力,还有对于攻击者作为人的理解。 国外主流蜜罐产品分析 根据MarketsandMarkets《欺骗技术市场规模、份额和2021年全球市场预测》中提到的欺骗诱捕技术全球主要供应商及产品,我们分析了几款国外主流的蜜罐产品,希望更清晰看到欺骗诱捕技术应

cdyunaq的博客 1307

AI Agent + 大数据 + RAG:电商用户行为分析的低成本落地

本文探讨了AIAgent与大数据技术在电商用户行为分析中的应用。通过构建"数据采集-实时分析-智能决策"的全自治链路,解决了传统大数据分析的三大痛点:人工建模周期长、实时性不足和决策闭环断裂。系统采用Flink+Spark处理实时数据,结合基于DeepSeek-V3.1的AIAgent实现智能分析,并通过飞书RAG模块动态获取业务知识。落地效果显示,分析响应时间从2-3天缩短至30秒,推荐转化率提升134%,验证了该方案在提升电商数据决策效率方面的显著价值。

想~ai抽 1620

XSS如何防范

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

qq_45803050的博客 8536

信息抽取实战:三元组抽取(限定领域 vs 开放领域)(附代码)

信息抽取实战:三元组抽取 目录信息抽取实战:三元组抽取一、限定领域的三元组抽取比赛介绍数据分析序列标注模型关系分类模型三元组提取总结开放领域的三元组抽取标注平台文本分类新数据进行三元组抽取总结参考文献 一、限定领域的三元组抽取   本项目将会介绍在2019语言与智能技术竞赛的三元组抽取比赛方面的一次尝试。由于该比赛早已结束,当时也没有参加这个比赛,因此没有测评成绩,我们也只能拿到训练集和验证集。但是,这并不耽误我们在这方面做实验。 比赛介绍   该比赛的网址为:http://lic2019.ccf.org.

南有芙蕖 2万+

XSS 防御方法总结

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

weixin_33932129的博客 2917

矩阵理论与应用:数理经济学中的投入产出模型分析

1. 背景介绍 矩阵理论是现代数学中的一个重要分支,它在各个领域都有广泛的应用。其中,投入-产出模型是矩阵理论在经济学中的一种应用,它可以用来分析一个国家或地区的经济结构和发展趋势。本文将介绍投入-产出模型的基本概念和原理,并通过实例来说明其应用。 2. 核心概念与联系 投入-产出模型是一

AI天才研究院 1487

safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer解决方案

本文主要介绍了safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer解决方案,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 Windows 2.2 Linux

weixin_43178406的博客 15万+

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

Coze工作流的代码无法安装第三方模块(依赖)怎么办?(如何解决Coze工作流代码缺少模块(依赖)的问题)

Coze工作流的代码无法安装第三方模块(依赖)怎么办?(如何解决Coze工作流代码缺少模块(依赖)的问题)

XiaoqiangClub的博客 4365

前端安全之防范XSS

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

高先生的猫 3480

【系统分析师】高分论文:论面向对象设计方法及应用

本文以某市职业院校合并后的信息化系统建设项目为例,探讨了面向对象设计方法在系统开发中的应用。作为系统分析师,作者在415.6万元、6个月工期的项目中,通过遵循单一职责原则(简化构件库)、依赖倒置原则(开发公共接口)和开闭原则(构件扩展)等设计原则,成功完成了5个子系统融合改造和4个智慧实训室建设。项目采用J2EE分层设计和SOA架构,最终在2022年11月顺利上线,提升了教学管理效率,获得用户好评。文章总结了设计原则对提高系统复用性、可维护性的重要作用,同时也反思了部署过程中的经验教训。

数据知道的博客 7955

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

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

qinshuoyang1的博客 1583

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

常见网络攻击手段及防范

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

岸边有熊的博客 2243

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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、付费专栏及课程。

余额充值