网络攻击
网络安全
- XSS
- 当用户提交表单的时候输入了错误信息,那么服务端校验不通过,重定向回这个页面,服务端会在该页面后面加上一段脚本程序,只是为了弹出一个消息框。那么这个带了脚本的url进行URLEncode,用户以为是正常的推广链接,一点击,用户的计算机就会执行攻击者的页面。
- www.xxx.com/login.do?nick="/><script>alert("haha")</script><!- ----URLEncode----> www.xxx.com/login.do?nick=%22%2f%3e%3cscript%3ealert(%22haha%22)%3c%2fscript%3e%3c!-
- 防御:
- XSS发生的原因是将用户的输入数据变成了代码。那么防范措施是将用户的输入数据进行HTML转义处理,将特殊字符进行转义编码
- CSRF
- 用户登陆收信人站点A,并在本地生成cookie,在cookie没有清除的情况下,访问恶意站点B。
- 防御:
- 1:将cookie设置为HttpOnly,这样访问站点B的时候也拿不到cookie:。
- 2:在token里面放置随机产生的数,HTTP请求的时候加入token,如果token检验失败就不能访问。
- SQL注入攻击
- 比如说在登陆的是,将提交的密码改成sql语句,就会在进行登陆校验的时候执行了密码中的sql语句,造成数据丢失甚至获取服务器的root权限。
- 防御:
- 将提交的参数中’这样的特殊字符进行转义之后再运行。
- 将密码使用MD5加密后再存入数据库。
- 文件上传漏洞
- DDos攻击
分布式拒绝服务攻击
- 控制庞大数量的计算机在同一时刻访问某个主机,达到服务器瘫痪的目的。
- 1:SYN Flood:利用TCP三次握手,伪造IP地址发送连接请求,导致服务器资源消耗,无法接受新的连接请求。
- 2:DNS Query Flood:发送海量的域名解析请求,这些url(域名)根本不存在。
- 3:CC:首先,在网上搜寻大量匿名的HTTP代理,模拟正常用户对网站发起请求,这可能需要服务器多次进行DB查询,或者一次请求返回大量数据,造成巨大资源消耗。
- 数字摘要:对收到的信息采用相同的哈希算法,比较新摘要和原摘要
- 特点:
- 无论输入信息多长,计算出来的信息摘要长度固定。
- 一般输入不同输出不同。
- 消息摘要不包含原文的完整信息,因此无法逆向解密。
- MD5
- SHA
- SHA-1
- 十六进制编码
- Base64编码
- 彩虹破解Hash算法
- 特点:
- 对称加密算法:算法公开、计算量小、加密解密快。
- DES
- AES
- 非对称加密算法:不需要进行秘钥的传输,因为本来就是公开的。
- RSA:在数字签名的应用中是私钥加密公钥解密,在通常情况下是公钥加密私钥解密。
- 数字签名:就像是。数字摘要+非对称加密。数字签名就是发送者对正文进行数字摘要加密+私钥加密后的东西,接受者将数字签名用公钥解密后用同样的数字摘要加密算法加密,判断数字签名和加密后的东西是否相同。为什么这个校验起作用呢:因为如果第三方篡改了正文,那么比较结果不相同,就回丢弃这个数据。
- 数字证书:可以证明一个人、服务器、组织的身份。数字证书中包含颁发者、有效期、使用者、数字签名、公钥算法是什么、签名算法。数字签名可以让接收方去检验签名,就是用公钥将数字签名解密,然后将数字摘要进行对比,看证书是否完整。
- 摘要认证:攻击者可以监听和拦截到大量信息。防止端口映射、代理监听。因此每次请求和响应都要先1:根据请求参数排序,2:加上相同的secret,3:MD5等摘要算法生成数字摘要,接收方要校验数字摘要。没有
- 签名认证:就是在摘要认证的基础上加上了签名认证。如果摘要认证的secret泄露了,攻击者可以为造出合法的请求或响应的摘要。因此签名认证给摘要进行非对称加密,发送端用私钥加密,接收端用公钥解密。
- 总结:摘要认证和签名认证能保证传输的完整性,但如果攻击者监听并还原了通信内容,那么数字签名就无法保证安全。
- HTTPS
- 所有传输数据在经过网络传输之前都会先加密在传输。对称加密。支持单向、双向验证。
- HTTPS协议栈:TCP--SSL or TLS--HTTP。
- SSL/TLS协议很复杂,我们可以用JSSE工具来接入这个协议,它实现了SSL/TLS协议,包含了数据加密、服务器验证、客户端验证、消息完整性等技术。
- 在Java环境下,搭建基于Tomcat的单向认证和双向认证HTTPS Web
相关阅读
在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的
请说说自己擅长运营工作?做过的作品和案例能否展示和讲解一下?在这个项目里你的角色是什么…..写这篇文章我是拒绝,因为我很怕
做实验项目时常常会遇到只有一种电压的电源却需要另一种电压的电源的情况,于是就有了电压转化的需求,除去buck-boost电路,也有很
病毒名称由前缀、病毒名、后缀(一般是变种代号)组成,如“Backdoor.RmtBomb.12”“Trojan.Win32.SendIP.15”等。其中“Backdoor”
例1:public class line1{ int test1=666; line2 l2=new line2(); l2.ShowIt(test1); }例2:public class line1{ int test1=666; l