欢迎光临
我们一直在努力

初探计算机网络之常见的网络攻击方式

信息安全

黑客与安全

​ 在当今的互联网当中,总是存在着我们看不见也摸不着的一些 “互联网地下工作者”,也就是黑客。黑客的攻击方式分为很多种,有非破坏性攻击破坏性攻击非破坏性攻击一般是为了扰乱系统的执行,使之暂时失去正常正常对外界提供服务的能力,比如臭名昭著的DDoS攻击等。而破坏性攻击主要会造成两种结果:系统数据受损或者信息被窃取,好比如CSRF攻击等。黑客使用的攻击大致可分为三种,植入病毒式洪水式(大幅度攻击)系统漏洞式

​ 他们攻击的特点主要集中于:分布式高流量深度匿名。就好比如DDoS攻击,利用的就是国外大量的“肉鸡”计算机的信息没有登记,所以黑客再利用“肉鸡”进行互联网攻击,是很难去追寻攻击的地址,无法有效地抵御他们的攻击。虽然说现在云端服务器商开始崛起,能够提供一套完整的安全解决方案,如腾讯云、阿里云等等,都能够提供高防服务器来抵御市面上大多数的DDoS攻击,但是成本略高,对于大多数小中型企业是有点难以承受。

初探计算机网络之常见的网络攻击方式

​ 即使这样,互联网企业要想建立一套完整的信息安全体系,都需要遵守CIA原则,分别为保密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。

  • 保密性:对与一些涉及用户隐私、有价值的数据进行保密操作,无论是信息存储还是传输过程,都要保证好用户数据及相关资源的安全。值得一提的是,数据加密有些时候不只是防外部的黑客,还需要避免数据管理员在某些利益的驱动下,对数据库里的信息篡改或者泄露,进一步导致黑客利用这些数据进行网站袭击,造成企业的巨大损失。
  • 完整性:用户访问的数据是要完整的,而不是缺失的或是篡改的,不然会导致用户访问到的数据是不正确的。在实际编码中,我们为了保证数据的完整性,通常使用的方法是对数据进行签名校验加密加盐值等等(比如MD5/SHA和数据签名等)
  • 可用性:服务是能够保证可用的,如果连服务都不能正常使用,保证数据安全更是天方夜谭。而有可能导致服务不可用的一大因素是高并发,针对于这种情况,我们通常使用都是对进入的请求加以约束,如网页操作时间限制请求限流数据清洗等方式。

sql注入

​ SQL注入是注入式攻击中算是比较常见的了,不过随着开发人员的安全意识普遍提高,开始重视这些问题,再加上MyBatis等框架大幅度推广,SQL注入攻击比以前要少了很多。SQL注入攻击的原理是程序方面未将代码与数据进行严格的隔离,导致在请求数据的时候,将数据嵌套到代码中的一部分去执行,从而导致一些意想不到的问题。举个例子,当对用户数据进行修改操作时,直接将未转义的数据当成变量进行操作,代码演示:

update t_user set nick_name = "\"# -- !#(@ " where user_id = 123; 

OR

select * from t_user where (user_name= '1' OR '1'='1') and (password = '1' OR '1'='1'); 

​ 第一种sql语句,会导致t_user表中nick_name全部被修改;第二种情况,会无视账号密码的情况,直接得到用户信息;还有很多种SQL注入的情况,在这里就不一一赘述了。下面讲讲怎么去抵御这种攻击:

  1. 过滤出用户在网页输入数据时掺杂的特殊字符,进而避免出现转义数据的风险。
  2. 业务编码时,避免使用字符串拼接的SQL语句,最好采用参数绑定传入的SQL参数。
  3. 合理使用数据库访问框架提供的防注入机制。如MyBatis提供的#{}动态参数,从而有效地防止SQL注入。同时也要注意${}的使用,${}相当于占位符,等同于使用字符串拼接SQL。

xss

XSS攻击,又称跨站脚本攻击,英译为 Cross-Site Scripting,这是为了避免跟前端语言CSS的简称冲突,所以另命名为XSS。XSS是指黑客提供某些技术手段,向正常用户请求的网页植入恶意脚本,从而在此基础上执行任意脚本,主要用于信息窃取、破坏等目的。XSS主要分为反射型XSS存储型XSSDOM型XSS

​ 在防范XSS攻击上,主要还是通过在用户输入数据做过滤转义方面下功夫。后端:可以使用Jsoup框架对输入的字符串进行XSS过滤或者使用Spring框架提供的HtmlUtils工具类对字符串进行HTML转义。前端:尽可能使用innerText而不是innerHTML

CSRF

CSRF攻击,又称跨站请求伪造,全称为 Cross-Site Request Forgery,也全称为 One-click Attack,即在用户毫不知情的情况下,假冒用户来模拟操作,对已经成功登录的网页上恶意操作,如发表恶意帖子、修改个人信息、群发信息甚至修改密码等等。

​ 虽然从攻击层面上看,两者有很多相似之处,但是CSRF还是有别于XSS的。从技术层面上看,XSS是指黑客在用户请求的网页植入了自己的恶意脚本;而CSRF是指假冒已经成功登录的用户进行 “为所欲为” 的操作

  • XSS的关注点是在于用户数据没有进行过滤或转义
  • CSRF的关注点是在于HTTP接口没有防范不受信任的调用。

防范CSRF攻击主要有以下两种方式:

  1. CSRF Token验证,利用浏览器的同源策略(不同源的客户端脚本无法在没有授权的情况下,直接读取对方资源),在HTTP接口执行前验证页面或者Cookie中设置的Token,只有验证通过才继续执行请求。
  2. 人机接口,常见的就是在用户在进行相关重要操作(如修改密码、下单购买)校验短信验证码
  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《初探计算机网络之常见的网络攻击方式》
文章链接:https://www.456zj.com/21290.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址