XSS攻击(出现的原因、预防措施......)

       验证XSS攻击重点不是去查找可输入哪些内容会出现什么样的bug就是测试XSS攻击,重点是了解它出现的原理,为什么会出现XSS攻击,导致一些问题出现?如何防御与解决XSS攻击?以下我将简单介绍以上提出的问题。

如何判定没有被XSS注入?

  我在数据交互的地方输入什么内容,则我输入的内容被实际展示出来,这样我们才认为没有被XSS注入。

 

XSS是什么?

  XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web application中的计算机安全漏洞。XSS通过在用户端注入恶意的可运行脚本,若服务器端对用户输入不进行处理,直接将用户输入输出到浏览器,则浏览器将会执行用户注入的脚本。

 

XSS的分类?

  1.非持久型,也叫反射型XSS。通过GET和POST方法,向服务器端输入数据。用户输入的数据通常被放置在URL的query string中,或者是form 数据中。如果服务器端对输入的数据不进行过滤,验证或编码,就直接将用户输入的信息直接呈现给客户,则可能会造成反射型XSS。

  2.持久型,也叫存储型XSS。通常是因为服务器端将用户输入的恶意脚本没有通过验证就直接存储在数据库,并且每次通过调用数据库的方式,将数据呈现在浏览器上。则该XSS跨站脚本攻击将一直存在。若其他用户访问该页面,则恶意脚本就会被触发,用于盗取其他用户的私人信息。

 

XSS的原理分析与解刨:

  详见这篇文章:http://www.freebuf.com/articles/web/40520.html

 

XSS常见漏洞出现的地方:

  数据交互的地方:

    -get post cookies headers

    -反馈与浏览

    -富文本编辑器

    -各类标签插入和自定义

  数据输出的地方:

    -用户资料

    -关键词、标签、说明

    -文件上传

 

XSS的验证方式,以下的验证均可说明当前可被XSS注入:

  APP中涉及到H5的页面,在可输入框输入以下内容:

  正常的页面如下截图:

    

  1、在交互页面输入:<script> var valtest='{$dd}';</script>,页面的编辑按钮消失,且出现了\N,截图显示如下:

    

  2、在交互页面输入<script>alert('xss')</script> 漏洞代码,查看是否出现弹框中显示出xss

  3、在交互页面输入<span class="www"><script>alert(1)</script></span>,仍查看是否出现弹框。

 

XSS出现的原因?

  在HTML中常用到字符实体,将常用到的字符实体没有进行转译,导致完整的标签出现,在可输入的文本框等某些区域内输入特定的某些标签导致代码被恶意篡改。

 

XSS的解决与防御措施?

  服务器都会将JavaScript当做文本处理,在服务端整合进HTML文档中,在浏览器解析这些文本的过程,也就是XSS被执行的时候,所以主要的防御措施就是对任何用户提交到服务器上的文本都要经过编码或者转译

  1、常见的HTML中有用的字符实体如下截图:

    

  2、以下的截图中可以看到已解决了XSS的注入,因此可以看到输入的内容被实际展示了出来。详见示例如下:

       

    我们对当前输入的文本框内容查看,实际它已对输入的标签进行了转译,因此输入的内容才可被实际展示出来,查看方式可通过将此页面分享到微信、QQ等,用google Chrome打开,右键鼠标,查看“显示网页源代码”。

      

 

  

  

 

转载于:https://www.cnblogs.com/syw20170419/p/8639246.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一幅长文细学JavaScript(三)——DOM

文章目录3 JavaScript DOM3.1 DOM基本术语DOM模型及其作用文档对象模型节点节点的属性文档对象3.2 DOM文档操作3.2.1 查找网页元素3.2.2 获取元素内容新的策略——修改样式更好的策略——修改样式3.2.3 改变元素内容3.2.4 操作网页元素3.2.5 获取元素偏移offset和style的区别3.…

2016国内移动广告平台排行榜

为什么80%的码农都做不了架构师&#xff1f;>>> 移动营销的发展可追溯至第一台便携式手机的诞生&#xff0c;并随着移动终端的更新迭代和广告技术的发展创新&#xff1b;随着移动互联网的技术与商业模式的迅速发展&#xff0c;移动营销领域面临着种种创新与改革&am…

Planning Strategy 和Requirement type的思考

Planning Strategy 和 requirement type的联系 1. 当需要对一个material进行计划的时候 &#xff0c;我们会自然的考虑到plant的 production方式 ( MTO production or MTS production) ,如果能确定下来是MTO 还是MTS 的方式 &#xff0c; 那就可以确定了计划策略的选择 。 而计…

【摄影】田子坊

图片发自简书App图片发自简书App图片发自简书App图片发自简书App图片发自简书App图片发自简书App图片发自简书App图片发自简书App转载于:https://www.cnblogs.com/wangting888/p/9701627.html

一幅长文细学JavaScript(四)——BOM

文章目录4 JavaScript BOM4.1 BOM概述浏览器对象模型4.2 Window对象4.2.1 弹出框弹出框类型4.2.2 定时事件定时器概念操作定时器4.2.3 同步与异步单线程JS同步和异步开启多线程一个问题同步任务和异步任务JS执行机制4.3 Location对象4.3.1 基本概念Location对象URLURL格式组成4…

selenium RC 环境配置

在网上搜索了许久&#xff0c;没找到有具体的配置&#xff0c;只是简单了写了几个步骤&#xff0c;自己琢磨了一下&#xff0c;于是&#xff0c;就想整理一篇文章&#xff0c;便于以后温习。 本文是参照官网的步骤进行了&#xff0c;当然了&#xff0c;也不完成相同。在这里我要…

西安房产

http://xa.58.com/ershoufang/16421056735238x.shtml?PGTID14251184213960.09692851384170353&ClickID7 http://xa.58.com/ershoufang/20901882448136x.shtml?PGTID14251184213960.09692851384170353&ClickID13 转载于:https://www.cnblogs.com/learningJAVA/p/43060…

一幅长文细学GaussDB(二)——数据库基础知识

文章目录2 数据库基础知识2.1 数据库管理简介数据库管理数据库管理工作范围对象管理制定数据库对象命名规范备份和恢复灾难恢复备份方式数据库安装数据库卸载数据库迁移数据库扩容例行维护工作2.2 数据库重要概念数据库和数据库实例数据库连接和会话数据库连接池模式表空间表数…

hive如何处理not in和in的问题

2019独角兽企业重金招聘Python工程师标准>>> 首先我们先创建两个表和测试数据。建表语句如下&#xff1a; create table table1(uid STRING, dayTimes BIGINT) PARTITIONED BY (dt STRING); create table table2(uid STRING, monTimes BIGINT) PARTITIONED BY (dt S…

HDU 2072(单词数)题解

以防万一&#xff0c;题目原文和链接均附在文末。那么先是题目分析&#xff1a; 【一句话题意】 “就是统计一篇文章里不同单词的总数”&#xff08;已经是一句话了。。&#xff09; 【题目分析】 明显需要去重&#xff0c;上set&#xff0c;因为按行分析&#xff0c;又没有EOL…

摄影相关术语

摄影相关术语 gwj233 2018.2.14 对象(对焦)用光(光量,质,位,比,色)构图(平面,空间)。 0x01认识曝光 1、什么是摄影&#xff1a;以光线绘图&#xff0c;即通过物体反射的光线使感光介质曝光的过程。&#xff08;通过光来表现物体的形状体积结构质感颜色。&#xff09; 2、目标出…

一幅长文细学GaussDB(三)——SQL语法

文章目录3 SQL语法3.1 SQL语句概述SQL语句介绍SQL语句分类3.2 数据类型常用数据类型非常用数据类型3.3 系统函数概述数值计算函数字符处理函数时间日期函数类型转换函数系统信息函数3.4 操作符概述逻辑操作符比较操作符算术操作符测试操作符其他操作符3 SQL语法 华为GaussDB(f…

标签替换

$("br").replaceWith("<hr />") 遍历替换 $("#t_body td").each(function(){ var zhi$(this).html(); $(this).html(zhi.replace( ,)); }); }); var key"会" //替换的关键字 var strP eval("/"key"/g") …

从网络获取数据显示到TableViewCell容易犯的错

2019独角兽企业重金招聘Python工程师标准>>> 昨晚第一次做用网络接口获取的数据&#xff0c;显示到自己的cell上&#xff0c;犯了很多的错&#xff0c; 总结如下&#xff1b; 1.数据源数组必须首先初始化&#xff0c;一般使用的是懒加载&#xff1b; 2.异步获取网络…

第二学期-第一次作业

1-1. 计算两数的和与差 1.设计思路 第一步&#xff1a;设出被调用函数 op1, op2, *psum, *pdiff &#xff0c;利用被调函数计算*psum的值和*pdiff的值&#xff1b; 第二步&#xff1a;代入到主函数就是计算a、b的和与差&#xff1b; 第三部&#xff1a;对所得到数值进行输出&a…

一幅长文细学华为MRS大数据开发(三)——Hive

文章目录3 HIVE3.1 Hive概述Hive简介Hive应用场景Hive与传统数据仓库比较Hive优点3.2 Hive功能及架构Hive运行流程Hive数据存储模型Hive数据存储模型-分区和分桶Hive数据存储模型-托管表和外部表Hive支持的函数3.3 Hive基本操作Hive使用DDL操作DML操作DQL操作3 HIVE Apache Hi…

Huffman树进行编码和译码

//编码 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<queue> #include<fstream> #include<map> using namespace std;typedef struct HuffmanNode{int w;//节点…

更相减损法和辗转相除法(GCD)求最小公倍数和最大公约数

更相减损法和辗转相除法&#xff08;GCD&#xff09;求最小公倍数和最大公约数 标签&#xff08;空格分隔&#xff09;&#xff1a; 算法 算法竞赛 这两种算法平时经常听到&#xff0c;听起来也很装逼&#xff0c;但是我老是忘了他们的原理&#xff0c;今天好好想想&#xff0c…

一幅长文细学JavaScript(五)——ES6-ES11新特性

5 ES版本 摘要 ES5的先天不足致使ES后续版本的发展&#xff0c;这也是前端人员绕不开的一个点。如果我们想要在工作和面试中轻松解决问题&#xff0c;那么了解ES6-ES11是必不可少的。 在本文中&#xff0c;我将采用一种更加通俗的方式来讲述这一块知识点&#xff0c;而不是照搬…

Python自动化运维工具fabric的安装

使用shell命令进行复杂的运维时&#xff0c;代码往往变得复杂难懂&#xff0c;而使用python脚本语言来编写运维程序&#xff0c;就相当于开发普通的应用一样&#xff0c;所以维护和扩展都比较简单&#xff0c;更重要的是python运维工具fabric能自动登录其他服务器进行各种操作&…