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. crontab学习

    概念 日志路径 /var/log/cron 配置路径 vi /etc/crontab 参考 https://www.cnblogs.com/kenshinobiy/p/7685229.html 问题 ...

  2. 机器学习入门-BP神经网络模型及梯度下降法-2017年9月5日14:58:16

    BP(Back Propagation)网络是1985年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一. B ...

  3. Python内置的服务器的使用

    cd 到某一文件 Python内置的服务器: E:\myObject\office\netObject\new-gcms> python -m SimpleHTTPServer 8888 如果是 ...

  4. Android学习(二)

    学号 20189214 <Android程序设计>第七周学习总结 教材学习内容总结 监听 设置点击监听的5种方式 方法1:直接用匿名内部类 这是最常用的一种方法,直接setXXXListe ...

  5. 使用nginx反向代理实现隐藏端口号

    使用nginx反向代理实现隐藏端口号 在服务器上下载安装nginx,主要是修改配置nginx.conf. 用proxy_pass里面配置要转发的域名+端口,相当于这一部分是被域名替换的部分,在http ...

  6. STS中logback.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false ...

  7. Vue+Webpack构建去哪儿APP_一.开发前准备

    一.开发前准备 1.node环境搭建 去node.js官网下载长期支持版本的node,采用全局安装,安装方式自行百度 网址:https://nodejs.org/zh-cn/ 安装后在cmd命令行运行 ...

  8. Siamese Neural Networks for One-shot Image Recognition

    one-shot learning简介 这是迁移学习的两种极端形式 zero-shot learning 指的是我们之前没有这个类别的训练样本,但是我们可以学习到一个映射X->Y, 如果这个映射 ...

  9. CENTOS7上安装MYSQL5.7.21流程

    1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql 2下 ...

  10. Spring学习-01

    一.Srping 一个轻量级DI.IOC.AOP的容器框架 DI:依赖注入 IOC:控制反转 AOP:面向切面 二.构造器注入 Constructor-arg 属性:index/name/type/r ...