常见网络攻击方式及加密算法学习手册

第一章 常见网络攻击

1.1、XSS攻击

1.1.1 XSS简介

XSS攻击的全称是跨站脚本攻击(Cross Site Scripting),为不跟层叠样式表
(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS

跨站脚本攻击也就是在网站里嵌入恶意脚本程序,当用户打开网站时,窃取Cookie,盗取信息

1.1.2 XSS攻击方式

1、URI参数传递

2、表单提交参数

1.1.3 解决方案

1、继承HttpServletRequestWrapper,然后重写(@Override)getParameter()、getHeader()等等方法。

2、文件上传不走HttpServletRequestWrapper,需要继承CommonsMultipartResolver,重写方法

1.2、CSRF攻击

1.2.1 CSRF简介

CSRF全称是跨站请求伪造(cross site request forgery),CSRF伪装受信任用户,向第三方平台发送恶意请求

案例:比如你曾经在浏览器访问过银行A的网站,所以浏览器是有保存Cookie的,Cookie并没有过期,这时,你不小心登录一个恶意的论坛网站还是什么网站,你访问了链接(其实链接后面加的是窃取Cookie,调银行A网站转账API),这时候,如果网站安全性验证不过的话,就会窃取金钱的恶意操作

1.2.2 解决方案

1、设置Cookie为HttpOnly

我们知道CSRF是通过窃取Cookie来发送恶意请求的,所以我们可以为Cookie设置HttpOnly属性,这样JavaScript或者Applet就不可以恶意发送请求了

2、添加Token验证

竟然Cookie有被恶意窃取的可能性,那么我们或许可以另辟新径,我们可以在访问请求时加上Token,服务端再进行验证,Token验证通过则可以访问,否则限制访问,当然这个Token不可以放在Cookie里

3、添加Referer识别

学习HTTP协议的你可能知道,在HTTP的请求头里有个参数叫Referer,这个参数其实就是记录了请求的来源地址

案例:针对刚才的银行转账窃取案例,我们或许可以这样改造,我们可以再增加一个验证的工程,不给直接调用转账接口,我们在这个验证工程里加入Referer识别的。这时候,CSRF攻击的话,肯定得在非银行A官网的服务器发送请求,我们改造之后,这个请求会先发送到验证工程这里,这时候解析请求,获取Referer属性进行识别,发现不是银行A官网的地址,这时候直接拦截,拒绝访问。

1.3、SQL注入攻击

1.3.1 SQL注入简介

所谓SQL注入攻击就是将一些恶意SQL执行指令伪装成SQL参数传给DBMS,然后执行恶意攻击

1.3.2 解决方案

1、使用预编译语句
学习JDBC都知道这个语句

Statement st = (Statement) conn.createStatement();

创建一个Statement对象,看起来是没啥问题,可是对黑客来说这就是SQL注入的一个很好的代码缺陷了
创建Statement对象后,之后我们就是要执行SQL,执行时候是这样的,是将SQL发送给DBMS编译然后再执行的,Statement没有编译的方法。不过PreparedStatement就不一样了,PreparedStatement继承Statement接口,有预编译的方法,编译SQL之后呢,在发送给DBMS执行

2、必要的加密
预防SQL注入有时候是有必要进行一些加密措施的,比如用户密码这些重要信息,我们可以MD5加密一下,避免明文保存。

1.4、DDos攻击

1.4.1 DDos攻击简介

DDos(Distributed Denial of Service),即分布式拒绝服务攻击,DDos攻击是基于Dos发展来的。

什么是Dos呢?首先简单介绍一下Dos,Dos就是利用信任的客户端向服务端频繁发送请求,从而达到服务器处理不过来,请求超时。所以Dos其实就是一对一的,在邮件设施还不太好的情况是有效的,对于性能极佳的服务器压根不管用了,所以就有了DDos,分布式拒绝服务攻击。

DDos攻击过程大概是怎么样的呢?

竟然是分布式,首先黑客可能会通过程序控制大量的计算机,然后通过这个计算机群在同一个时间,发送大量的请求到目标服务器,从而达到服务器处理不过来,请求超时的情况。

1.4.2 DDos常用方式

下面简单介绍一下两种DDos攻击的方式SYN Flood和DNS Query Flood

【SYN Flood】

SYN Flood是DDos的一种攻击方法,SYN Flood是互联网最经典的攻击方式之一。这个攻击是通过TCP连接建立的,攻击前先建立TCP连接,这个需要对TCP的三次握手和四次挥手协议有一定了解,其攻击过程大概如图,图来自互联网


这里写图片描述

【DNS Query Flood】

DNS Query Flood攻击从名称其实可以猜测出和DNS有关的了,首先简单介绍一下DNS,DNS(Domain Name System)是位于应用层的协议,负责域名解析服务,DNS通过域名查找IP地址,或逆向从IP地址反向查找域名。

然后DNS Query Flood攻击是怎么做到的呢?

攻击过程大致为:

通过程序控制,向目标服务器的DNS服务器,发送大量的域名解析请求,不过这些域名基本是随机生成的,比如改下端口什么的。

DNS服务器接收到域名之后,先去缓存里查找是否有这个域名,然后发现没有,之后,DNS服务器就会向上层的DNS服务器递归查询了,指导向上查询了全球13台根DNS服务器。这时候肯定会出现域名解析超时的情况。

第二章 常用加密算法

2.1 数字摘要算法

2.1.1 数字摘要算法简介

所谓数字摘要其实就是通过一个Hash函数获取指导长度的摘要字段,这段字段也可以叫做数字指纹,然后解密时,通过验证摘要也即数字指纹。大概过程如图


这里写图片描述

2.1.2 常用数字摘要算法

MD5:也即信息摘要算法5,Message Digest Algorithm 5,是数字摘要算法的一种实现,Md5由Md4、Md3、Md2改进而来,其摘要长度为128位

SHA:SHA也即安全散列算法(Secure Hash Algorithm),SHA-1算法生成的摘要信息的长度为160位,由于生成的摘要信息更长,运算的过程更加复杂

2.2 对称加密算法

2.2.1对称加密过程

对称加密过程大致分为加解密过程,加密过程就是明文和密钥通过特定加密算法进行封装之后,变成密文,发送给数据接收方,数据接收方,同样用相同的算法的逆过程进行界面,用相同的密钥去匹对。


这里写图片描述

2.2.2常见对称加密算法

DES算法全称数据加密标准(Data Encryptin Standard),属于对称加密算法。

明文按64位进行分组,密钥长64位,但事实上只有56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文和56位的密钥按位替代或交换的方法形成密文。

AES算法全称高级加密标准(Advanced Encryption Standard),由DES算法发展而来,设计有三个密钥长度:128,192,256位,比DES算法的加密强度更高,更为安全。

2.3 非对称加密算法

2.3.1 非对称加密过程

非对称加密算法和对称加密算法类似,不过就是分为了公钥和私钥,加密过程可以用公钥,也可以用私钥,解密过程同理。


这里写图片描述

2.3.2 常见非对称加密算法

RSA算法:够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。

算法设计基本来自简单的数论事实:将两个大素数相乘十分容易,但反过来想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容