XSS:跨站脚本攻击

-典型实例为:

当用户在表达输入一段数据后,提交给服务端进行持久化。如果此用户输入的是一段脚本语言,而服务端

用户输入的数据没有经过转码、校验等就存入了数据库,在其他页面需要展示此数据时,就会执行此用户输入的语言。简单来说,JS的强大不用我来解释吧

-推荐防御措施:

对用户输入的信息进行转义,例如<>'等等特殊字符。当然,其实很多前端框架也支持这么做,快查一查你使用的框架支持么。

CRSF:跨站请求伪造

-典型实例为:

如果A银行存在CRSF漏洞,有用户在登陆完A银行后没有退出,A银行的cookie信息保存在浏览器。然后呢,用户不小心进入了恶意网站,

此网站识别出了用户客户端存在A银行的信息,那么恶意网站就可以根据此cookie去请求A银行的转账接口,那么A银行会误认为是用户进行操作从而使恶意网站得逞。

-推荐防御措施:

假如我们的网站是A银行,为了防止用户信息泄露,我们应该做这三件事:

  1. 将cookie设置为HttpOnly,让恶意网站无法通过脚本获取到cookie
  2. 所有增删改以及需要验证权限的请求都应该携带token
  3. Http头中有一个Referer属性,此属性表示请求Url地址,验证每一个请求的Referer是不是由自己系统发起的

SQL注入

-典型实例为:

用户输入的信息带有 delete 、drop等危害性十足的sql,就像用户登录时输入了用户名 “aaa;drop table user”,那么在我们没有任何防御措施的情况下就会变为“select * from user where username='aaa';drop table user”。然后呢,表就没了,你说尴不尴尬?

-推荐防御措施:

  1. 使用原生jdbc时要使用PreparedStatement 而不要使用Statement,
  2. 使用orm框架,像MyBatis、Hibernate等框架都对sql注入进行了很好的预防
  3. 密码任何时候都不要使用明文存放,避免攻击者直接获取用户信息
  4. 后台发生错误时不要直接返回异常信息,避免对服务器信息的泄露。建议对异常进行封装,返回可控的异常信息。

文件上传漏洞

-典型实例为:

没有对用户上传的文件做校验,恶意用户长时间上传超大文件占用系统资源,上传可执行脚本获取获取服务器信息

-推荐防御措施:

  1. 对用户上传做限流,每个用户每天最多上传多少内容。
  2. 对文件类型进行判断,不能通过后缀名判断,而要通过判断魔数(文件起始的几个字节)来判断,很多文件类型的魔数是不变的。

DDOS:分布式拒绝服务攻击

-典型实例为:

1.攻击者提前控制大量计算机,并在某一时刻指挥大量计算机同时对某一服务器进行访问来达到瘫痪主机的目的。

2.相信大家都知道TCP三次握手的机制,(如不了解请参考文章底部补充)攻击者利用此机制对服务器返回的ACK确认包不回应,这样服务器就会存在大量的等待列表,不断重试,等待队列满了以后不再接受TCP连接,从而阻挡了正常用户的使用

3.攻击者向DNS服务器发送海量的域名解析请求,DNS首先查缓存,如果缓存不存在的话会去递归调用上级服务器查询,直到查询到全球13台根服务器为止,当解析请求过多时正常用户访问就会出现DNS解析超时问题

-推荐防御措施:

使用缓存,当缓存中存在时就直接取出,不要频繁的连接数据库。

缩短 SYN Timeout时间,即缩短从接受到SYN报文到确定这个报文无效并丢弃该连接的时间。

限制源ip每秒发起的DNS请求等

补充:TCP三次握手机制

首先,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;

第二步,服务器在收到客户端的SYN报文,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgment)。

第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。

结语

写这篇文章的目的呢,其实不是说让大家通过这篇文章成为一个安全高手或者怎么的,只是想让大家了解一下这些常见的攻击手段。当你知道了这些攻击手段后看一下你手中的项目是否需要预防一下,毕竟未雨绸缪总是比临阵磨枪好的多,不是吗?

本文出自https://zhixiang.org.cn/#/blog/read/132e85fd-c3bf-4e78-acfd-0c73523f95a3,转载请保留。

常见的web攻击手段的更多相关文章

  1. 常见的Web攻击手段,拿捏了!

    大家好,我是小菜. 一个希望能够成为 吹着牛X谈架构 的男人!如果你也想成为我想成为的人,不然点个关注做个伴,让小菜不再孤单! 本文主要介绍 互联网中常见的 Web 攻击手段 如有需要,可以参考 如有 ...

  2. 安全|常见的Web攻击手段之CSRF攻击

    对于常规的Web攻击手段,如XSS.CRSF.SQL注入.(常规的不包括文件上传漏洞.DDoS攻击)等,防范措施相对来说比较容易,对症下药即可,比如XSS的防范需要转义掉输入的尖括号,防止CRSF攻击 ...

  3. 互联网安全架构之常见的Web攻击手段及解决办法

    一.Web 安全常见攻击手段 XSS(跨站脚本攻击) SQL 注入 CSRF(跨站请求伪造) 上传漏洞 DDoS(分布式拒绝服务攻击)等 二.攻击手段原理及解决方案 1.XSS攻击 原理:XSS 攻击 ...

  4. 常见的web攻击手段总结

    xxs攻击(跨站脚本攻击) 攻击者在网页中嵌入恶意脚本程序,当用户打开该网页时脚本程序便在浏览器上执行,盗取客户端的cookie.用户名密码.下载执行病毒木马程 序 解决: 我们可以对用户输入的数据进 ...

  5. 简单总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

  6. 简单地总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

  7. 几种常见web攻击手段及其防御方式

    XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross ...

  8. 总结几种常见web攻击手段及其防御方式

    本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 ...

  9. 软件工程师应该关注的web攻击手段

    1.SQL注入------常见的安全性问题. 解决方案:前端页面需要校验用户的输入数据(限制用户输入的类型.范围.格式.长度),不能只靠后端去校验用户数据.一来可以提高后端处理的效率,二来可以提高后端 ...

随机推荐

  1. git master 回滚代码

    回退到指定版本 f6a3d430 (为commit id 前8位) git reset --hard f6a3d430 强制推送到远程分支 git push origin HEAD --force 但 ...

  2. 部署代码review和CI

    公司原先搭了一个代码Review的服务器,由于历史原因,装的是一个32bit的Ubuntu系统,后来由于需要,需要安装gitlab,由于gitlab需要64位系统,所以临时凑合了个vagrant,本质 ...

  3. 找不到org.restlet.ext.jackson 解决办法

    检出 转成maven工程 ,不过最后发现有两个包maven没有找到: <dependency> <groupId>org.restlet.jse</groupId> ...

  4. 云计算底层技术-虚拟网络设备(Bridge,VLAN)( 转发)

    云计算底层技术-虚拟网络设备(Bridge,VLAN) Posted on September 24, 2017 by opengers in openstack openstack底层技术-各种虚拟 ...

  5. 在Centos7下搭建Socks5代理服务器

    在Centos7下搭建Socks5代理服务器 http://blog.51cto.com/quliren/2052776   采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器 ...

  6. CSS3扫描动画效果

    .swiper-animate { position: absolute; width: 100%; height: 100%; left:; top:; z-index:; background: ...

  7. token回话保持,axios请求拦截和导航守卫以及token过期处理

    1:了解token:有时候大家又说token令牌.整个机制是前端第一次登陆发送请求,后端会根据前端的用户名和密码, 通过一些列的算法的到一个token令牌, 这个令牌是独一无二的,前端每次发送请求都需 ...

  8. 如何配置nginx屏蔽恶意域名解析指向《包含隐藏nginx版本号》

    恶意域名指向: 比如,有一个垃圾域名将解析指向到了你们服务器的IP,一般多一个解析可能不会有什么问题,但是现在全民备案时期,可能你的运营商会联系你,说你们的域名没备案,可能会封你们的80端口,然后会导 ...

  9. 2017沈阳站 Tree

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6228 Tree Time Limit: 2000/1000 MS (Java/Others)    M ...

  10. Finance财务软件(科目标签专题)

    为了满足不同业务需求,对凭证中增加一些扩展内容,我们采用自定义科目标签的形式. 怎样自定义标签? 1. 增加科目掩码 这里的代码需要与模板表中tagLabel对应 这里的名称中对应掩码值,为16位整型 ...