目录
Dos攻击
TCP三次握手
如若发生意外(连接中)
攻击手段
1.SYN flood
2.Land(LandAttack)攻击
3.HTTP洪水攻击
4.ACK flood
5.UDP flood
6.死亡之Ping
7.泪滴攻击
防御方式
参考在此
图取自此师傅!白帽子都去师傅主页康康!
网络钓鱼
常见攻击方式
1.构造相似的网站以及相似的域名(域欺骗)
2.欺骗性的超链接
3.社会工程学
4.鱼叉式网络钓鱼
5.利用木马和黑客技术等手段窃取用户信息
6.利用弱口令进行漏洞破解、猜测用户账号和密码
防范措施
①电子邮件
②防火墙
③用户意识
验证码攻击
验证码类型
1.图像验证码
2.滑动验证码
3.点击验证码
如何防范
1.发送时间间隔(不少于60s/120s)
2.限制发送次数,每天只能发送多少次
3.同一个ip限制发送次数
4.增加其他形式(图片)的验证码
5.增加token
希望长安·长安
Dos攻击
Dos(Denial of service)即拒绝服务。Dos攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地将攻击对象资源耗尽。
目的:让计算机或网络无法提供正常的服务或者资源访问,使目标系统停止甚至崩溃。
TCP三次握手
seq:序列号 ack:确认序列号
第一次握手:建立连接时,客户端发送SYN包(SYN=a)到服务器,并进入SYN_SENT状态,等待服务器确认。
第二次握手:服务器收到SYN包,确认客户端的SYN(ACK=a+1),同时自己发送一个SYN包(SYN=b)即SYN+ACK包,进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=b+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
接下来客户端和服务端开始传送数据。
如若发生意外(连接中)
半连接:收到SYN包还未收到ACK包的连接--->半连接,即尚未完成三次握手的TCP连接.
半连接队列:该队列为每个客户端的SYN包(SYN=a)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,等待客户的确认包。当收到确认包后会删除条目,服务器进入ESTABLISHED状态。
SYN_ACK重传次数:服务器发送完SYN-ACK包后 ,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。
半连接存活时间(Timeout时间/SYN_RECV存活时间):指半连接队列的条目存活的最长时间,即服务器从收到SYN包到确认这个包无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。
SYN_RECV:一个请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
攻击手段
1.SYN flood
简单来将只完成TCP握手前两个步骤,请求方由于采用源地址欺骗手段使得服务方接收不到ACK回应,于是服务方一直处于等待接收请求方ACK消息状态。对于某台服务器而言只有有限的内存缓冲区用于创建连接,这些虚假信息很快阻塞TCP队列,系统资源急剧减少,可用带宽迅速缩小。服务器将无法向用户提供正常合法服务。
攻击主机A(伪装地址为A')-----大量的SYN包----->被攻击主机
A'<-------------------------------------SYN/ACK包-------被攻击主机
由于A'地址不可达,被攻击主机等待SYN包超时。攻击主机通过发大量SYN包填满未连接队列,导致正常SYN包被拒绝服务。
2.Land(LandAttack)攻击
与SYN flood类似,不过攻击包中原地址和目标地址都是攻击对象的IP.------->被攻击的机器死循环最终资源耗而死机。
3.HTTP洪水攻击
使用代理服务器向受害服务器发送大量貌似合法的请求(通常GET)。借代理机制广泛使用免费代理服务器(支持匿名)发动DDOS攻击。
4.ACK flood
5.UDP flood
UDP是无状态的,更易受这些类型攻击的影响,因此禁止一些非必要UDP端口。
UDP可看作不讲道理的人,他们来到KFC地区不买东西,只将东西价格全部问一遍,占满整个座位和过道。
TCP可看作遵守规则的人,座位被占满了TCP自然会离开KFC导致正常的服务不能进行。
最终结果就是UDP将整个通道打满堵死。
| a.增加带宽,堵死了再买
| b.CDN,各地部署子服务器,当子服务器遭到攻击时,其他地区服务器和主服务器不会受到影响
| c.流量清洗,将无用UDP报文清洗干净再转给服务器
6.死亡之Ping
攻击者通过Ping发送ICMP的echo请求消息,通过进行无用应答消耗大多数的时间,降低系统网络质量。死亡ping是攻击者会发送巨大的Ping数据包给受害机器,系统将会因此崩溃。有人会说:“丢弃ping请求是个很好的解决方案”对!是的。但是系统或者网络会淹没在检测or丢弃的过程中。
实现方式①攻击者发送更多简单的ping泛洪来淹没数据连接
②通过互联网在受害者机器安装木马程序并在某时刻向主机发送大量echo请求
③将ping包的源地址伪装成受害者的地址并向主机所在的网络广播echo请求,造成很多的响应发送的受害者机器
7.泪滴攻击
每个数据发送前,该数据包都会经过切割,每个切割都会记录位移信息,以便重组。
该攻击便是捏造位移信息,在重组时发生问题造成错误。
防御方式
参考在此
图取自此师傅!白帽子都去师傅主页康康!
super详细篇
super逻辑清晰篇
网络钓鱼
通过假冒可信方获取个人敏感信息;最典型的是将收信人引诱到一个精心设计与目标组织网站非常相似的钓鱼网站上,并获取收信人在此网站上输入的个人敏感信息,此过程通常不会让受害者察觉!
常见攻击方式
1.构造相似的网站以及相似的域名(域欺骗)
攻击者注册一个同假冒的网站域名相似的域名
大小写混入“paypal.com”------->>“paypaI.com”看不出来吧hhhhhh小心中全套哈
真域名混入其中“echo.com”------>>“echo-username-passwd.com”
2.欺骗性的超链接
超链接的标题独立于URL实际指向,倆八竿子打不着;有着丰富经验的用户看到显而易见的URL也不会去深究细想它真实的URL是什么。
3.社会工程学
由于安全知识缺乏以及坚信“天上掉馅饼”幸运,人们过于轻信攻击者。
4.鱼叉式网络钓鱼
使用社交工程策略定制个性化电子邮件,发送给组织内的特定个人。攻击者会使用电子邮件主题作为受害者感兴趣的主题,以欺骗他们打开邮件并点击链接或附件。
5.利用木马和黑客技术等手段窃取用户信息
木马制作者通过发送邮件或在网站中隐藏木马等方式大肆传播木马程序,当感染木马的用户进行网上交易时,木马程序即以键盘记录的方式获取用户账号和密码,并发送给指定邮箱,用户资金将受到严重威胁。
6.利用弱口令进行漏洞破解、猜测用户账号和密码
防范措施
①电子邮件
电子邮件的网关极其重要,它提供了技术来检测可疑电子邮件
②防火墙
安装防火墙和防病毒软件并时常升级
③用户意识
任何安全工具都无法百分之百阻止所有恶意电子邮件,用户需自己形成安全意识。
不要执行从网上下载的未经杀毒的软件,妥善保管好自己私人信息。
验证码攻击
验证码类型
1.图像验证码
大多为数字+字母 ,国内偶尔出现汉字验证,通过变形、重叠、干扰线、不同字体颜色等方式来增加难度。
2.滑动验证码
使用机器的深度学习技术,通过记录用户的滑动平均速度、鼠标点击情况、滑动后匹配程度来识别。而且不是滑到正确位置就验证成功。而是根据特征识别来区分是否为真用户。
3.点击验证码
给出带文字的图片,通过文字提醒用户点击相应文字位置进行验证。
如何防范
1.发送时间间隔(不少于60s/120s)
在前端点击后限制60之内可以在redis内维护一条记录,记录的过期时间为24小时,value为此号码发送短信的次数,每次发送前先获取此号码今天发送了多少次了,超过次数不发送。无法再触发事件;每次发送成功后,可以在redis里存储一个字符串,key为手机号,value带有时间戳。同一个手机号再次发送时先从redis里获取字符串对比时间。
2.限制发送次数,每天只能发送多少次
可以在redis内维护一条记录,记录的过期时间为24小时,value为此号码发送短信的次数,每次发送前先获取此号码今天发送了多少次了,超过次数不发送。
3.同一个ip限制发送次数
这个做法和方法2类似,只不过把(号码/次数)换成了(ip/次数)。
4.增加其他形式(图片)的验证码
每次初始化时随机生成一个图片验证码存在session,在最后点击发送之前需要验证输入的验证码是否正确,验证码使用一次后失效。
5.增加token
每次初始化时随机生成一个图片验证码存在session,在最后点击发送之前需要验证输入的验证码是否正确,验证码使用一次后失效。
详见于此
希望长安·长安