WEB攻击手段及防御第1篇-XSS

转载自 WEB攻击手段及防御第1篇-XSS


概念


XSS全称为Cross Site Script,即跨站点脚本攻击,XSS攻击是最为普遍且中招率最多的web攻击方式,一般攻击者通过在网页恶意植入攻击脚本来篡改网页,在用户浏览网页时就能执行恶意的操作,像html、css、img都有可能被攻击。


像前不久微信貌似就中招,好像是在朋友圈发送一个带有脚本的链接,然后通过点击该链接就会弹出一个提示,虽然没有造成什么影响,但这是XSS攻击最鲜明的特点。


分类


XSS现在主要分为以下两种攻击类型:


1、反射型漏洞


这种类型攻击者一般通过在网页中嵌入含有恶意攻击脚本的链接,或者通过发送带脚本的链接给受害者,这个脚本链接是攻击者自己的服务器,用户通过点击该链接就能达到攻击的目的。如http://www.test.com/p=<script src=... />,这样受害者的网页就嵌入了这段脚本,受害者通过点击链接触发攻击脚本。


新浪微博曾经就出现过一次较为严重的XSS攻击事件,攻击者通过发送一个带有链接的微博诱导用户点击,通过点击脚本链接大量用户自动发送某些不良信息和私信并自动关注攻击者的微博账号,这是典型的反射型漏洞。


这次新浪微博事件显然是一次推广营销而已,并没有严重影响新浪的服务,然而现实中攻击者可以通过窃取用户cookie获取用户名密码等重要信息来伪造用户交易、窃取用户的财产等影响用户财产安全的恶意行为。


2、存储型漏洞


这种类型是影响最为广泛的且危害网站安全自身的攻击方式,攻击者通过上传恶意脚本到网站服务器或保存到数据库中,恶意脚本就会包含在网页中,这样会导致所有浏览该网页的用户有中招的可能。这种攻击类型一般常见在博客、论坛等网站中。


防御手段


1、危险字符过滤


即对用户输入的危险字符进行转义,如>转义为"&gt",<转义为"&lt" ,如果被转义有误解,可以对<script src=..这种类型的<才进行转义,这样就能避免大部分的XSS攻击。


2、使用http only的cookie


httpOnly由微软在IE中提出,禁止用户在浏览器中通过脚本访问带有httpOnly的cookie。有了这个特性,如果是用户敏感信息保存在cookie中的,可以通过在cookie加下httpOnly属性避免XSS攻击cookie造成用户信息泄漏。


最后,虽然这些攻击方式都有对应的防御手段,但是这些攻击方式也有日异月新的变化和发展,在开发web项目时也一定要重视XSS脚本攻击带来的危害,及时加强防御,不要让攻击有可乘之机。


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

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

相关文章

转:权限管理——用户认证和用户授权

转自&#xff1a; https://blog.csdn.net/xdd19910505/article/details/51926540 因为做了权限的项目经理&#xff0c;so&#xff0c;恶补一下一个权限框架&#xff1a;shiro。其实作为框架首要目标是易于使用和理解。安全有时候是很复杂的&#xff0c;甚至是痛苦的&#xff0…

Spring websocket 使用@Autowired 出现null

问题 在spring websocket 中使用Autowired 出现空指针异常 原因 spring管理的都是单例&#xff08;singleton&#xff09;&#xff0c;和 websocket &#xff08;多对象&#xff09;相冲突。websocket在客户端每建立一个链接就会创建一个新的对象&#xff0c;这个对象没有任何…

WEB攻击手段及防御第2篇-SQL注入

转载自 WEB攻击手段及防御第2篇&#xff0d;SQL注入 概念 SQL注入即通过WEB表单域插入非法SQL命令&#xff0c;当服务器端构造SQL时采用拼接形式&#xff0c;非法SQL与正常SQL一并构造并在数据库中执行。 简单的SQL注入的例子&#xff1a; 例1&#xff1a;test123456 or 11; …

WEB攻击手段及防御第3篇-CSRF

转载自 WEB攻击手段及防御第3篇&#xff0d;CSRF 概念 CSRF全称即Cross Site Request forgery&#xff0c;跨站点请求伪造&#xff0c;攻击者通过跨站点进行伪造用户的请求进行合法的非法操作&#xff0c;其攻击手法是通过窃取用户cookie或服务器session获取用户身份&#xff0…

Mybatis报错:nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘XXX‘ not found

问题 使用Mybatis过程中报错 nested exception is org.apache.ibatis.binding.BindingException: Parameter XXX not found原因 mapper.xml映射没有得到传入的参数&#xff0c;当 SQL语句中只有一个参数时&#xff0c;mybatis可以正确传参&#xff0c;而如果由多个参数&…

java作为kafka生产者实验及Expiring超时问题解决

【README】 java作为生产者&#xff0c;centos 作为消费者&#xff1b; 【1】生产者代码 -- pom.xml <!-- 依赖 --> <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><…

WEB攻击手段及防御-扩展篇

转载自 WEB攻击手段及防御&#xff0d;扩展篇 之前的文章介绍了常见的XSS攻击、SQL注入、CSRF攻击等攻击方式和防御手段&#xff0c;没有看的去翻看之前的文章&#xff0c;这些都是针对代码或系统本身发生的攻击&#xff0c;另外还有一些攻击方式发生在网络层或者潜在的攻击漏洞…

java客户端作为kafka生产者测试

【README】 1、本文主要对 java客户端作为kafka 生产者进行测试&#xff0c; 消费者由 centos的kafka命令行线程扮演&#xff1b; 2、消息发送&#xff1a; kafka的生产者采用异步发送消息的方式&#xff0c;在消息发送过程中&#xff0c;涉及到2个线程——main线程和sender…

Redis学习之缓存穿透、缓存击穿和缓存雪崩详解

目录缓存穿透解决方案缓存空对象布隆过滤器缓存击穿解决方案对访问数据库的操作加锁提前缓存热点数据&#xff0c;设置热点数据永不过期缓存雪崩解决方案Redis高可用限流降级数据预热设置合理的过期时间参考缓存穿透 指的是对某个一定不存在的数据进行请求&#xff0c;该请求将…

Redis高可用:主从复制及哨兵模式

目录主从复制作用复制原理使用的方式哨兵模式主从切换过程Redis Sentinel的配置文件参考主从复制 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(master)&#xff0c;后者称为从节点(slave)&#xff1b;数据的复制是单…

java客户端作为kafka消费者测试

【README】 本文主要对 java客户端作为kafka 消费者进行测试&#xff0c; 生产者由 kafka客户端扮演&#xff1b; 【1】普通消费者 设置消费者组&#xff1b; 重置消费者的offset&#xff0c; 即每次都从最头开始消费&#xff08;默认仅保持7天内数据&#xff09; &#xf…

spring bean初始化及销毁你必须要掌握的回调方法。

转载自 spring bean初始化及销毁你必须要掌握的回调方法。 spring bean在初始化和销毁的时候我们可以触发一些自定义的回调操作。 初始化的时候实现的方法 1、通过java提供的PostConstruct注解&#xff1b; 2、通过实现spring提供的InitializingBean接口&#xff0c;并重写其a…

java生产者实现kafka拦截器

【RAEDME】 本文中&#xff0c; java客户端作为生产者&#xff0c; centos中consumer线程作为消费者&#xff1b; 【1】拦截器简述 1&#xff09;拦截器是什么&#xff1f; 很明显&#xff0c;为了实现面向切面编码&#xff0c;即在 具体逻辑的上下文 添加一些逻辑&#xff1…

Redis两种客户端:lettuce和Jedis的区别

spring boot 2的spring-boot-starter-data-redis中&#xff0c;默认使用的是lettuce作为redis客户端&#xff0c;它与jedis的主要区别如下&#xff1a; Jedis是同步的&#xff0c;不支持异步&#xff0c;Jedis客户端实例不是线程安全的&#xff0c;需要每个线程一个Jedis实例&…

mysql语句性能开销检测profiling详解

转载自 mysql语句性能开销检测profiling详解 之前我介绍过msyql查询优化explain检查命令的使用&#xff0c;explain主要是检查sql语句的基本性能&#xff0c;sql是否优秀&#xff0c;但不能查看具体的涉及硬件资源的开销&#xff0c;今天要介绍的这个profiling工具可以更细节的…

数据库主从和主备部署介绍

转自&#xff1a; https://www.cnblogs.com/fengzheng/p/13401783.html 数据库层的几种模式 在系统架构中&#xff0c;数据库层主要由如下几种模式&#xff0c;分别是单点模式、主备模式、主从模式。 单点模式 单点模式是最简单的模式&#xff0c;只有一台数据库服务器&…

lv官网编码查询_图文讲解,如何免费自主查询商标近似情况

每一个商业主体&#xff0c;都会给自己的企业、产品、服务注册一个好听的商标&#xff0c;但一个商标名并不是我们喜欢就可以&#xff0c;还要能够得到核准注册。为此&#xff0c;如何能判断出一个商标名是否能够被注册呢&#xff1f;这便需要利用商标的近似判断了(查询该商标名…

hashCode到底有什么用?

转载自 hashCode到底有什么用&#xff1f; hashCode概念 hashCode是jdk根据对象的地址算出来的一个int数字&#xff0c;即对象的哈希码值&#xff0c;代表了该对象在内存中的存储位置。 我们都知道hashCode()方法是顶级类Object类的提供的一个方法&#xff0c;所有的类都可以进…

MySQL、MongoDB、列数据库的区别及应用场景

目录什么是行存储和列存储&#xff1f;什么是MongoDB&#xff08;NoSQL&#xff09;?OLTP和OLAP什么是CAP定理&#xff1f;使用场景行存储的适用场景&#xff1a;列存储的适用场景&#xff1a;MongoDB相对于MySQL的优点更适用MySQL的场景更适用MongoDB的场景个人理解扩展参考什…

转-Redis AOF 持久化详解

转自&#xff1a; https://juejin.cn/post/6844903902991630349 Redis AOF 持久化详解 Redis 是一种内存数据库&#xff0c;将数据保存在内存中&#xff0c;读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出&#xff0c;Redis 的数据就会丢失。 为了…