网络数据传输安全性问题和常见的网络攻击

  • 一. 常见的网络攻击与解决办法
    • 1. XSS攻击
    • 2. CSRF攻击
    • 1. SQL注入攻击
    • 2. 文件上传漏洞
    • 1. DDoS攻击
    • 2. 其他攻击手段
  • 二. 数据传输安全性问题与解决办法
    • 1. 窃听
    • 2. 假冒
    • 3. 篡改
    • 4. 事后否认

一. 常见的网络攻击与解决办法

转自:https://blog.csdn.net/loongshawn/article/details/88047373 .

1. XSS攻击

  XSS(Cross Site Scripting)跨站脚本攻击,为了不与层叠样式表(CSS)混淆,故将跨站脚本攻击缩写为XSS。原理即在网页中嵌入恶意脚本,当用户打开网页时,恶意脚本便开始在用户浏览器上执行,以盗取客户端cookie、用户名、密码,甚至下载木马程式,危害可想而知。

  以一个表单输入举例说明

<input type="text" name="firstname" value="">

  在这里插入图片描述

  倘若用户在表单中输入恶意脚本,即对输入做些处理,如:

<input type="text" name="firstname" value=""/><script>alert("longlong")</script><!-- "/>

  就会出现以下结果:

  其实攻击的形式还有很多,比如将脚本伪装进URL,然后将URL进行URLEncode编码,当用户点击链接后,脚本就会被执行。

XSS防范:

  之所以会发生XSS攻击,是因为用户输入的数据变成了代码, 因此需要对用户输入的数据进行HTML转义处理,将输出的“尖括号”、“单引号”、“引号”之类的特色符号进行转义。

HTML HTML转义后的字符
< <
> >
&
"

2. CSRF攻击

  CSRF攻击的全称跨站请求伪造(Cross Site Request Forgery),通过盗用用户的身份信息,以你的名义向第三方网站发起恶意请求,若转账、盗取账号、发信息、邮件。流程框图如下:

  所以CSRF攻击一般场景是:
  1、用户登录受信站点A,生成本地cookie;
  2、用户没有退出站点A,访问了恶意站点B。

  CSRF攻击举例:恶意转账

Get请求
www.boc.com/transfer.do?accountNum=6233XXXX4324&money=10000
参数说明
accountNum转账目标账号
money转账金额

  如果银行系统利用上述接口转账,就用可能会被恶意网站攻击。当然上面仅是举例,银行安全等级不至于这么低,使用GET转账。比如银行升级接口为POST提交,当然这也不能解决根本的安全问题,黑客照样能够利用XSS漏洞植入恶意代码,请求转账接口。
  真实银行交易系统付款会有USB key、验证码、登陆密码、支付密码等一系列屏障,支付流程要复杂得多,安全系数也高很多。

CSRF攻击防御:

1、将cookie设置为HttpOnly

  CSRF攻击很大程度是利用了浏览器的cookie,为了防止站内XSS漏洞,cookie设置HttpOnly属性,JS脚本就无法读取到cookie中的信息,避免攻击者伪造cookie的情况出现。

2、增加token

  CSRF攻击之所以成功,主要是攻击中伪造了用户请求,而用户请求的验证信息都在cookie中,攻击者就可以利用cookie伪造请求通过安全验证。因此抵御CSRF攻击的关键就是,在请求中放入攻击者不能伪造的信息,并且信息不在cookie中。
  鉴于此,开发人员可以在http请求中以参数的形式加一个token,此token在服务端生成,也在服务端校验,服务端的每次会话都可以用同一个token。如果验证token不一致,则认为至CSRF攻击,拒绝请求。

3、通过Referer识别

  Http头中有一个字段Referer,它记录了Http请求来源地址。但是注意不要把Rerferer用在身份验证或者其他非常重要的检查上,因为Rerferer非常容易在客户端被改变。

(火狐的一个插件RefControl修改Referer引用)

1. SQL注入攻击

  SQL注入攻击就是把SQL命令伪装成正常的http请求参数,传递到服务端,欺骗服务器最终执行恶意的SQL命令,达到入侵目的。

SQL注入攻击原理如下:

String sql = "select * from user where nick = '" + nickname + "' and password = '" + password + "'";

  上述代码是校验用户名、密码是否有效,查询结果记录数大于0则表示有效。正常逻辑是用户名、密码匹配数据库记录;但攻击者会利用http参数进行SQL注入攻击,即password参数输入’ or ‘1’ = '1,导致SQL语句变为

select * from user where nick = 'zhangshan' and password = '' or '1' = '1';

  上述语句的执行结果就相当于用户能够绕过登录验证。

SQL注入防范

1、使用SqlParameter代替普通的字符串拼接

2、使用ORM框架

2. 文件上传漏洞

  倘若web网站没有对文件类型进行严格的校验,导致可执行文件上传到了服务器,恶意程序就会执行。
  为了避免恶意文件上传,需要对上传文件类型进行白名单校验,并限制文件大小,上传文件进行重命名。有关文件类型的校验,需要去了解下魔数(magic number)这个概念,这里不做引伸。

1. DDoS攻击

1、SYN flood

  攻击者伪造大量无效IP,不断与目标主机建立TCP链接,导致服务器维护了一个非常大的链接等待列表,占用大量系统资源,直至新链接无法建立。
  这种攻击是利用了TCP三次握手的异常处理机制,即第三次握手,服务端在没有收到客户端ACK报文时,服务端会进行多次SYN+ACK重试,然后维护一个等待列表,而系统会为即将建立的TCP连接分配一部分资源。资源耗尽,系统也就无法再建立TCP连接。

2、DNS query flood

  攻击者伪造大量无效域名,发送给目标服务器解析,这些域名均为无效域名,导致DNS服务器耗用大量资源去处理这些无效域名,造成DNS解析域名超时,达到攻击目的。

2. 其他攻击手段

  攻击手段永远都比防御方法多得多。因此平时的业务中需要及时的添加各种攻击防御策略。

二. 数据传输安全性问题与解决办法

1. 窃听

  A和B在互联网传输数据时,A向B发送的消息可能会在传输过程中被C偷看。C的行为称为“窃听”。

2. 假冒

  A和B在互联网传输数据时,B收到的消息不一定是A发送的,也有可能是C发送的。C的行为称为“假冒”。

3. 篡改

  A和B在互联网传输数据时,B收到的消息有可能被C截获并且进行来修改。C的行为称为“篡改”。

4. 事后否认

  A和B在互联网传输数据时,B收到了A的恶意信息,但是事后A不承认自己发送来恶意信息。A的行为称为“事后否认”

  解决办法: 点击此处了解以上数据传输安全问题的解决办法.

  
  
  
  

网络数据传输安全性问题和常见的网络攻击相关推荐

  1. 网络攻防---常见的网络攻击技术及其原理

    听课笔记--网络攻击与防御--常见的网络攻击技术及其原理 1.网络攻击的一般步骤 2.攻击前奏 3.实施攻击 一.网络攻击的一般步骤 1.确定攻击目标Targeting 2.信息收集 Informat ...

  2. 常见的网络攻击方式与防护

    今早一起来就看到了惊人一幕,VR360的留言板出现了一片黑布!!然后看内容写着"请注意基本的安全设计",这肯定是哪个师兄或者老师给我的一个提醒,然后立马起床把这个漏洞修复了,然后仔 ...

  3. ×××网络连接安全性以及协议支持介绍

    增强的安全性 目前×××网络连接主要采用四项技术来保证数据通信安全,这四项技术分别是隧道技术(Tunneling).加解密技术(Encryption & Decryption).密钥管理技术( ...

  4. 前端、后台和连接前端后台的网络数据传输

    前端: 主要是围绕浏览器的工作展开,包括浏览器处理用户的交互.发送网络请求.收到网络响应之后的处理与渲染等等. 第一块"处理用户的交互",浏览器本身与用户的交互基本不涉及网络知识, ...

  5. 常见的网络攻击手段有哪些?

    随着互联网的持续发展,企业日益重视网络安全问题,如何防御网络攻击成了每个管理人员的必修课. 知己知彼才能百战不殆.对于网络安全来说,成功防御的一个基本组成部分就是要了解敌人.网络安全管理人员必须了解黑 ...

  6. 量子计算帮助实现超冷离子调谐原子钟; 商业化的量子加强密钥将大幅提升网络的安全性 | 全球量子科技与工业快讯第四十九期

    量子计算机正在为宝马和LG等领军企业解决复杂的实际问题 在经过过去数年的研究与开发,部分企业开始相信目前的量子计算机已经可以帮助他们解决现实的商业问题了. 作为全球制造业巨头之一的宝马(BMW)认为量 ...

  7. 数据传输完整性_卫星导航定位服务系统数据传输安全性探究

    引文格式:马雷,韩菲. 卫星导航定位服务系统数据传输安全性研探究[J]. 导航定位学报, 2020, 8(3): 105-109.(MA Lei,HAN Fei. Probe into data tr ...

  8. 常见的网络攻击类型有哪些?

    网络攻击的种类分为主动攻击和被动攻击,主动攻击会导致某些数据流的篡改和虚假数据流的产生,而被动攻击中攻击者不对数据信息做任何修改,那常见的网络攻击类型都有哪些呢?请看下文: 一.主动攻击 主动攻击会导 ...

  9. 常见的网络攻击攻防方法

    常见的网络攻击,按照osi七层协议,可以分为: 1,物理层 线路侦听 2,数据链路层 mac_flood 3,网络层 arp_poison,icmp_redirection 4,传输层 tcp_flo ...

最新文章

  1. linux表示逻辑分区的标号,在Linux系统的设备文件中,代表第2个SCSI硬盘的第1个逻辑分区的设备文件是()。...
  2. linux7.4安装语言包,CentOS 7.4安装时报错最简单最直接的解决办法
  3. Git中的工作区(Working Directory)、暂存区(stage)和历史记录区(history)
  4. [android] 练习使用ListView(一)
  5. centos7安装python-pip
  6. python如何实现matlab_Python实现matlab数据绘制
  7. Android Studio实现学生信息管理系统,基础入门项目
  8. HTTP 笔记与总结(6)referer 头与防盗链
  9. python基于窗体的播放器_基于Python3的终端播放器 – MellPlayer
  10. c语言turboc图形代码,Turbo C使用第三方图形库
  11. 2022年起重机械指挥考试题库及模拟考试
  12. LaTeX 中的数学字体
  13. 2021年全球探针卡市场规模大约为158亿元(人民币),预计2028年将达到247亿元
  14. 构造函数,静态关键字,静态代码块,构造代码块,局部代码块
  15. 36氪独家|「秦汉胡同」完成1亿元A轮融资,将发力线上内容产品和女性生活学习服务社群...
  16. 【Noip模拟 20161004】局域网
  17. Mybatis 直接执行SQL
  18. formData上传Excel文件[object object ]数据库接收不到数据
  19. 天枰座定时任务处理框架
  20. 运动爱好者的专属耳机,轻巧时尚又好用,哈氪无界上手

热门文章

  1. pyqtgraph基础入门(六):局部改变曲线颜色
  2. 理财笔记 - 关于中概互联和中国互联
  3. 完美解决:找不到msvcr120.dll,需要重新安装服务
  4. 设置chrome标题栏颜色
  5. 分享:设置网卡混杂模式
  6. 谷歌史上最高薪曝光:劈柴哥基本年薪1400万,外加16亿股票激励
  7. php调试之xdebug配置详解
  8. 扫描仪扫描文件处理-Photoshop批处理弹出色阶设置框解决
  9. 目标检测算法——YOLOv5改进|增加小目标检测层
  10. PortAudio编程入门 V19