网络攻击与安全

网络攻击与安全

  • 分布式拒绝服务攻击(DDOS攻击)
    利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行,该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务

  • sql注入攻击

  • 图片注入攻击
    通常网站做图片上传只对后缀名进行判断,就会有不法分子把恶意脚本改成jpg格式或者把脚本放入图片中,图片能正常显示,但恶意脚本执行起来就会造成系统安全问题

  • xss攻击
    XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中,比如把一段恶意的js脚本放到提交信息中最终会保存在服务器数据库中

数据加密传输

  1. 使用我们自定义的规则进行加密
    比如前台内容把密码反着传到后台,后台知道规则再反过来。这样很不安全,因为加密规则写在前端js中,查看网页源代码找到js就知道了加密规则

  2. 对称加密算法
    前台后台进行加密和解密的密钥是相同的,这样需要大量的密钥,后台不好管理秘钥池。而且只要拿到密钥就能进行破解

  3. 非对称加密算法(RSA)
    公钥和私钥,公钥加密只能用私钥来解,反之亦然。是通过两个素数相乘但是不好进行因式分解的原理来实现的
    通常用于两种情况:

  • 公钥加密,私钥解密
  • 私钥签名,公钥判断身份

这个算法也有缺点,那就是只要拿到私钥,所有的密文都会统一解密

https

HTTPS,超文本传输安全协议,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL/TLS
注意在程序中:https的体现在于浏览器与tomcat服务器之间的交互,安全证书可以在tomcat中配置,这样可以返回给浏览器一个自己颁发的证书

  • 主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性,凡是使用了 https 的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过 CA 机构颁发的安全签章来查询

  • https原理

  1. 浏览器将自己支持的加密规则(ssl版本,,支持的加密算法种类,hash算法种类)发送给网站
  2. 网站确定加密算法与hash算法,并将网站的身份信息以(ssl证书)的形式返回给浏览器
  3. 浏览器接受网站发来的证书并执行操作:
    1. 验证网站发送证书的合法性,包括CA机构的合法性,以及被授权的站点与当前站点是否一致。如果一致,此时浏览器已经信任该站点,接下来需要确定加密的Random值
      浏览器发送信息:
      a. 浏览器生成一个随机数,并用证书中的公钥进行加密,生成密文A
      b. 浏览器生成一个握手信息(一个随机字符串),使用hash算法算出字符串对应的hash值,并用随机数对握手信息加密(密文B),将所有相关信息发送给网站
      网站接受信息:
      a. 通过私钥解密密文A得到Random
      b. 使用random对加密的密文B进行解密,拿到握手信息
      c. 通过hash算法计算握手信息,得到一个hash值,比对此hash值与浏览器传来的hash值
      d. 用同样的密码(random)也加密一段随机生成的握手信息并返回给浏览器
      浏览器再次接收信息:
      e. 以相同的方式去解密拿到hash值并比对,如果一致完成握手协议(双向确认,网站确认一次,浏览器又确认一次保证random无误)
  4. 之后的所有浏览器和服务器之间的交互都是通过这个密码(random)进行加密和解密
  5. 整个过程出现任何错误,浏览器和网站的连接断开

基于数据库的加密

有些时候确实不法分子进入了数据库,如果能让他随意改动金额等等重要数据而平台又不知道,后果很可怕。

  • 针对于字符串类型

使用AES加密和解密,AES_ENCRIPT(str,keystr)加密,AES_DECRIPT(cryptstr,keystr)解密,其中keystr是自定义的一个字符串,加密解密保持一致就行

其中可能出现乱码,可以通过convert(str USING UTF-8)指定utf编码

  • 针对于数字型(不是绝对安全吗,如果不法分子了解了veryfycode的内含还是有机可承)
    不能阻止不法分子修改,但是可以使不法分子修改完数据会接收异常信息尽而无法继续进行,同时也可以采用定时器进行定时检查
    主要思路就是在比如账户表中加一个veryfycode字段,此字段是通过用户可用余额和冻结金额共同进行md5加密。那么在获取用户账户时会进行比对数据库中的verfycode,和当前查询到的经过加密后得到的veryfycode进行比对.注意数据库的veryfycode一定是被不法分子修改前得到的加密码,因为此时可用余额与冻结金额已经被修改了,得到的加密码肯定与数据库的veryfycode不一致,此时抛出异常这样不法分子就无法进行操作。当然这种错误无法被系统管理员察觉,通常配合定时器每天晚上检查一次veryfycode是否对应
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值