网络安全攻击类型
网络安全攻击危害
-
经济损失和业务损失,黑客的攻击会导致受害者业务中断、数据泄露;严重时,可以让一家公司的年利润化成了泡影;若攻击政企单位,将会造成办理日常业务受阻和政企单位自身系统收到损害,影响正常社会运转
-
人身安全.云时代,甚至未来的IOT时代,安全将影响每个人的生命安全.例如:黑客利用漏洞查看病人信息,入侵医疗系统设备.无人驾驶汽车和机场的航线监控系统.每漏掉一次及其危险的威胁,在未来都有可能影响到人身安全和社会安全
-
对整个互联网环境的破坏,将服务器变成"肉鸡",使其攻击其他主机,如果服务器上有重要的数据:信用卡、个人隐私,就会流入到黑产行业中,会让整个互联网环境日益恶化.
研判方法
-
导出最近七天的日志,日志条件:源地址,目的地址,事件名称,时间,规则ID,发生次数等
-
根据动作、地址、事件名称、时间等信息进行研判
防护方法
发生攻击前
-
渗透测试
-
漏洞扫描
发生攻击后
-
应急响应
-
安全加固
暴力攻击&DDos攻击
暴力破解的攻击方法
暴力破解的产生原因是因为服务器端没有做限制,导致攻击者可以通过暴力破解的手段破解用户所需要的信息,如用户名、密码、验证码等。暴力破解需要有庞大的字典,暴力破解的关键在于字典的大小。不仅仅是密码破解。暴力破解还可用于发现Web应用程序中的隐藏页面和内容。
基本原理就是使用字典中的内容进行一一尝试,如果匹配成功了,提示该用户名密码正确,如果匹配失败,那么会继续进行尝试;
暴力破解
-
传统的暴力攻击中,攻击者只是尝试字母和数字的组合来顺序生成密码;消耗时间长,取决于系统和密码的长度。
-
为了发现隐藏页面,攻击者会尝试猜测页面名称,发送请求并查看响应。如果该页面不存在,它将显示响应404,成功的话就会响应200。这样,它可以在任何网站上找到隐藏页面。
-
用于破解散列并从给定散列中猜出密码。这样的话,哈希是从随机密码生成的,然后此哈希与目标哈希匹配,直到攻击者找到正确的哈希。
-
穷举法:根据输入密码的设定长度,选定的字符集生成可能的密码全集
-
字典攻击法:将出现频率最高的密码保存到文件中,这个文件就叫字典
-
彩虹表攻击:也属于字典攻击法的一种,核心思想为:将明文计算得到的HASH由函数映射回明文空间,交替计算明文和HASH,生成哈希链
逆向暴力破解
破解密码采用相反的方法,攻击者针对多个用户名尝试一个密码,直到找到匹配组合
暴力破解的危害及防御
危害
-
密码被盗取,针对个人信息与政企系统信息被泄露
-
服务器性能收到影响甚至被控制,设备瘫痪,服务器死机,例如:ssh暴力破解
防护
-
设计安全的验证码(安全的流程+复杂可用的图形)
-
认证错误对提交次数给予限制,比如错误三次三小时内不可登录
-
双因素认证
-
员工和个人的安全意识,系统做好定期修复漏洞,员工意识到位,让不发分子没有可乘之机
DDos攻击的攻击方法
分布式拒绝服务(Distributed Denial of Service)攻击是一种恶意企图,通过大量互联网流量压倒目标或其周围的基础架构来破坏目标服务器,服务或网络的正常流量。DDoS攻击通过利用多个受损计算机系统作为攻击流量来源来实现有效性。被利用的机器可以包括计算机和其他网络资源,例如物联网设备。从高层次来看,DDoS攻击就像堵塞高速公路的交通堵塞,阻止了常规交通到达其所需的目的地。
-
应用程序层攻击(OSI第七层攻击)
-
-
HTTP洪水攻击:类似于同时在大量不同计算机的web浏览器中一次次按下刷新键,大量的http请求涌向服务器
-
-
协议攻击
-
-
协议攻击又称状态耗尽攻击,这类攻击会过度消耗服务器资源和负载均衡器之类的网络设备资源
-
-
容量耗尽攻击
-
-
试图通过消耗目标与较大的互联网之间的所有可用带宽带来造成拥塞,攻击运用某种方法攻击或其他生成大量流量的手段
-
DDos攻击症状迹象
-
最明显的症状就是网站或者服务突然变慢或者不可用
-
对于单个也没或者端点的请求数量出现不明原因的激增
-
奇怪的流量模式:夜里出现不自然的访问,或者有规律的访问(每10分钟激增一次)
DDos攻击的防护措施
危害
-
业务受损,服务器因DDos攻击造成无法访问,会导致客流量的严重流失,进而对整个平台和企业的业务造成严重影响
-
形象受损,服务器无法访问会导致用户体验下降、用户投诉增多等问题.
-
当网站被打到快瘫痪时,维护人员的全部精力都在抗DDos上面,攻击者窃取数据、感染病毒、恶意欺骗等犯罪活动更容易得手
防护
-
高仿IP,通过把域名解析到高仿IP上,并配置源站IP.所有公网流量都经过高仿IP机房,通过端口协议转发的方式将访问流量通过高仿IP转发到源站IP,同时将恶意攻击流量在高仿IP上进行清洗过滤后,将正常流量返回给源站IP,从而确保源站IP稳定访问
-
软件防火墙:在服务器上使用软件防火墙,或者通过设置相关脚本,过滤掉这些异常流量.企业可以使用简单的命令和专用服务器的软件防火墙,来获取攻击者的IP地址、与服务器的连接数,将其屏蔽.
-
黑洞路由
-
速率限制
-
WEB应用程序防火墙
-
anycast网络扩散
XSS跨站脚本攻击
XSS攻击的原理
跨站脚本在英文中称为Cross--Site Scripting,缩写为CSS。但是由于层叠样式表(Cascading Style Sheets)的缩写也为CSS,
为不与其混淆,特将跨站脚本缩写为XSS,指恶意攻击者利用网站漏洞往Wb页面里插入恶意代码,从而在用户浏览网页的时候,控制用户
浏览器的一种攻击。一般需要满足以下条件:
客户端访问的网站是一个有漏洞的网站,但是他没有意识到
在这个网站中通过一些手段放入一段可以执行的代码,吸引客户执行
客户点击后,代码执行,可以达到攻击目的。
XSS攻击的种类
存储型XSS
嵌入到web页面的恶意HTML会被存储到应用服务器端,简而言之就是会被存储到数据库,等用户在打开页面时,会继续执行恶意代码,能够持续的攻击用户.(危害最大)
反射型XSS
发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS.
DOM型XSS
通过JavaScript,可以重构整个HTML文档,就是说可以添加,移除等等,对页面的某个东西进行操作时,JavaScript就需要获得对HTML文档中所有元素进行访问的入口。这个入口就是DOM,所以在DOM型的XSS漏洞利用中,DOM可以看成是一个访问HTML的标准程序接口。(全程前端,没有后端参与)
XSS攻击的攻击流程
-
攻击者寻找具有漏洞的网站
-
攻击者给用户发了一个带有恶意字符串的链接
-
用户点击了该链接
-
服务器返回HTML文档,但是该文档此时不包含那个恶意字符串
-
客户端执行了该HTML文档里的脚本,然后把恶意脚本植入了页面
-
客户端执行了植入的恶意脚本,XSS攻击就发生了
XSS攻击的危害及防御
危害
-
cookie劫持:通过XSS漏洞,我们可以轻易的将JavaScript代码注入被攻击用户的页面并用浏览器执行
-
CSRF:使用XSS可以实现CSRF,不过XSS只是实现CSRF的诸多途径中的一条
-
-
例如:用户的Cookie设置了httponly,无法轻易获取cookie的内容.但是由于我们可以控制用户的页面脚本(XSS),我们可以利用脚本向后台发送命令,此时浏览器会给请求带上被攻击的Cookie.如:
$.put('/tranferMoney?from=account&to=account&mount=10000')
-
-
XSS钓鱼:这里需要结合
<iframe>
点击劫持 -
-
直接在当前页面动态模拟创建登录窗口
-
location.href="jiangjiyue.github.io"
重写当前内容设置假的url
-
-
获取用户信息,例如:蜜罐反制
-
XSS蠕虫
防护
-
基于特征的防御:传统的XSS防御在进行攻击鉴别时多采用特征匹配方式,主要是针对JavaScript这个关键词进行检索
-
基于代码修改的防御:
-
-
Web页面开发者在编写程序时往往会出现一些失误或漏洞,Xss攻击正是利用了失误和漏洞,因此一种比较理想的方法就是通过优化Web应用开发来减少漏洞,避免被攻击
-
用户向服务器上提交信息时要对URL和附带的HTTP头,POST数据进行查询,对于不是规定格式,长度内容进行过滤
-
实现Session标记,captcha系统或者HTTP引用头检查,防止被第三方网站利用
-
确认接受的内容被妥善的规范化,仅包含最小的、安全的tag、去掉任何对远程内容的引用,使用httponly的cookie
-
-
客户端分层防御策略
-
-
对于每一个网页分配独立线程且分析资源消耗的网页线程分析模块
-
包含分层防御策略四个规则的用户输入分析的模块
-
保存互联网的XSS恶意网站信息的XSS payload数据库
-
SQL注入攻击
SQL注入的原理
SQL注入即是指wb应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在wb应用程序中事先定义好的查询语句的结 尾上添加额外的$QL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
SQL注入的种类
-
数值型注入:前台页面输入的参数是数字,字段类型是数值
-
字符型注入:前台页面输入的参数是字符串,字段类型是字符
-
-
单引号字符注入:
select * from user where username='zhangsan'
-
双引号字符注入:
select * from user where username="zhangsan"
-
括号字符注入:
select * from user where id =(1)
-
-
盲注:在无法构造回显位置时使用
-
其他类型注入:例如get注入,post注入,cookie注入,http header注入等
-
-
get注入:以get的方式进行提交,注入点一般在get提交的url后面,可以用bp抓包进行查找
-
post注入:以post的方式进行提交,注入点一般在表单的填写处,资料的填写处,也可以用bp抓包的进行查找。
-
http头部注入:user-agent判定用户的操作系统;cookie:用户的身份识别,跟踪可以存储在用户本地的数据,clientip:保存客户端ip的参数
-
SQL注入的攻击流程
-
判断注入类型(数字型or字符型)
-
猜解SQL查询语句中的字段数:
1' or 1=1 order by 10 --+
-
确定字段的显示顺序:
1' union sel