常见的网络攻击方式有哪些?
1、跨站脚本-XSS
相关研究表明,跨站脚本攻击大约占据了所有攻击的40%,是最为常见的一类网络攻击。但尽管最为伏圆常见,大部分跨站脚本攻击却不是特别高端,多为业余网络罪犯使用别人编写的脚本发起的。
跨站脚本针对的是网站的缺缓塌用户,而不是Web应用本身。恶意黑客在有漏洞的网站里注入一段代码,然后网站访客执行这段代码。此类代码可以入侵用户账户,激活木马程序,或者修改网站内容,诱骗用户给出私人信息。
防御方法:设置Web应用防火墙可以保护网站不受跨站脚本攻击危害。WAF就像个过滤器,能够识别并阻止对网站的恶意请求。购买网站托管服务的时候,Web托管公司通常已经为你的网站部署了WAF,但你自己仍然可以再设一个。
2、注入攻击
开放Web应用安全项目新出炉的十大应用安全风险研究中,注入漏洞被列为网站最高风险因素。SQL注入方法是网络罪犯最常见的注入方法。
注入攻击方法直接针对网站和服务器的数据库。执行时,攻击者注入一段能够揭示隐藏数据和用户输入的代码,获得数据修改权限,全面俘获应用。
防御方法:保护网站不受注入攻击危害,主要落实到代码库构建上。比如说:缓解SQL注入风险的首选方法就是始终尽量采用参数化语句。更进一步,可以考虑使用第三方身份验证工作流来外包你的数据库防护。
3、模糊测试
开发人员使用模糊测试来查找软件、操作系统或网络中的编程错误和安全漏洞。然而,攻击者可以使用同样的技术来寻找你网站或服务器上的漏洞。
采用模糊测试方法,攻击者首先向应用输入大量随机数据让应用崩溃。下一步就是用模糊测试工具发现应用的弱点,如果目标应用中存在漏洞,攻击者即可展开进一步漏洞利用。
防御方法:对抗模糊攻击的最佳方法就是保持更新安全设置和其他应用,尤其哪橡是在安全补丁发布后不更新就会遭遇恶意黑客利用漏洞的情况下。
4、零日攻击
零日攻击是模糊攻击的扩展,但不要求识别漏洞本身。此类攻击最近的案例是谷歌发现的,在Windows和chrome软件中发现了潜在的零日攻击。
在两种情况下,恶意黑客能够从零日攻击中获利。第一种情况是:如果能够获得关于即将到来的安全更新的信息,攻击者就可以在更新上线前分析出漏洞的位置。第二种情况是:网络罪犯获取补丁信息,然后攻击尚未更新系统的用户。这两种情况,系统安全都会遭到破坏,至于后续影响程度,就取决于黑客的技术了。
防御方法:保护自己和自身网站不受零日攻击影响最简便的方法,就是在新版本发布后及时更新你的软件。
5、路径(目录)遍历
路径遍历攻击针对Web
root文件夹,访问目标文件夹外部的未授权文件或目录。攻击者试图将移动模式注入服务器目录,以便向上爬升。成功的路径遍历攻击能够获得网站访问权,染指配置文件、数据库和同一实体服务器上的其他网站和文件。
防御方法:网站能否抵御路径遍历攻击取决于你的输入净化程度。这意味着保证用户输入安全,并且不能从你的服务器恢复出用户输入内容。最直观的建议就是打造你的代码库,这样用户的任何信息都不会传输到文件系统API。即使这条路走不通,也有其他技术解决方案可用。
网络攻击的主要4个类型
浏览器攻击
基于浏览器的网络攻击与第二种常见类型相关联。他们试图通过网络浏览器破坏机器,这是人们使用互联网的最常见方式之一。浏览器攻击通常始于合法但易受攻击的网站。攻击者攻击该站点并使用恶意软件感染该站点。当新访问者(通过Web浏览器)到达时,受感染的站点会尝试通过利用其浏览器中的漏洞将恶意软件强制进入其系统。
暴力破解
暴力破解攻击类似于打倒网络的前门。攻击者试图通过反复试验来发现系统或服务的密码,而不是试图欺骗用户下载恶意软件。这些网络攻击可能非常耗时,因此攻击者通常使用软件自动执行键入数百个密码的任务。
暴力破解攻击是遵循密码最佳实践的重要原因之一,尤其是在关键资源(如网络路由器和服务器)上。
长而复杂的密码比愚蠢的密码(例如“123456”,“qwerty”和“password”)更难以通过蛮力破解。请放心:这些是攻击者尝试的第一正笑把钥匙。
拒绝服务(DDoS)攻击
拒绝服务攻击(也称为分布式拒绝服务攻击(DDoS))在网络安全攻击列表中排名第三,并且每年都在不断增强。
DDoS攻击试图淹没资源 例如网站,游戏服务器或DNS服务器 - 充斥着大量流量。通常,目标是减慢或崩溃系统。
但DDoS攻击的频率和复杂性正在增加。
蠕虫病毒
恶意软件通常需要用户交互才能开始感染。例如,此人可能必须下载恶意电子邮件附件,访问受感染的网站或将受感染的USB插入计算机。蠕虫攻击自行传播。它们是自我传播的恶意软件,不需要用户交互。通常,它们利用系统漏洞传播到本地网络之外。
WannaCry勒索软件在几天内感染了超过300,000台计算机,使用蠕虫技术攻击网络和计算机。
WannaCry针对一个广泛的Windows漏洞迅速破坏了一台机器。一旦机器被感染,恶意软件就会扫描连接的LAN和WAN,以查找并感染其他易受攻击的主机。
恶意软件攻击
当然,恶意软件是恶意软件喊带创建用于伤害、劫持或监视感染系统的应用程序。目前尚不清楚为什么“蠕虫病毒攻击”不包含在此类别中 - 因为它们通常与恶意软件相关联。
无论如何,恶意软件很普遍并且众所周知。它传播的三种常见方式包括:
网络钓鱼电子邮件 攻击者创建邮件以诱使受害者陷入虚假的安全感,欺骗他们下载最终成为恶意软件的附件。
恶意网站 攻击者可以设置包含漏洞利用工具包的网站,这些漏洞利用工具包旨在查找网站访问者系统中的漏洞并使用它们将恶意软件强制到其系统中。这些网站还可用于将恶意软件伪装成合法下载。
恶意广告 聪明的攻击者已经发现了使用广告网络分发商品的方法。点击后,恶意广告可以将用户重定向到恶意软件托管网站。某些恶意广告攻击甚至不需要用户交互来感染系统。
网络攻击
面向公众的服务,例如Web应用程序和数据库 也是网络安全攻击的目标。
最常见的网络应用攻击:
跨站点脚本(XSS) 攻击者破坏易受攻击的网站或Web应用程序并注入恶意代码。当页面加载时,代码在用户郑清芦的浏览器上执行恶意脚本。SQL注入(SQLi)攻击者不是将标准数据提交到文本框或其他数据输入字段,而是输入SQL语句来诱骗应用程序显示或操纵其数据。
Path Traversal 攻击者制定HTTP请求以绕过访问控制并导航到系统中的其他目录和文件。例如,路径遍历攻击可以授予攻击者访问站点Web服务器的核心文件的权限,而不是限于单个网站的内容。
扫描攻击扫描不是彻底的网络攻击,而是攻击前的侦察。攻击者使用广泛使用的扫描工具来探测面向公众的系统,以便更好地了解现有的服务,系统和安全性。
端口扫描器 用于确定系统开放端口的简单工具。存在几种类型,其中一些旨在防止被扫描目标的检测。
漏洞扫描程序 收集有关目标的信息,并将其与已知的安全漏洞进行比较。结果是系统上已知漏洞及其严重性的列表。
其他攻击
我们只能推测绑定到“其他”的网络攻击类型。也就是说,这里有一些常见的嫌疑人:
物理攻击 尝试以老式的方式摧毁或窃取网络架构或系统。被盗的笔记本电脑是一个常见的例子。
内部人员攻击 并非所有网络攻击都是由局外人执行的。愤怒的员工,犯罪的第三方承包商和笨拙的工作人员只是少数潜在的参与者。他们可以窃取和滥用访问凭据,滥用客户数据或意外泄露敏感信息。
高级持续性威胁 最先进的网络攻击由黑客精英团队执行,他们根据目标环境调整和定制技术。他们的目标通常是通过隐藏和“持久”来长时间窃取数据。
展开剩余内容
PHP的网站主要攻击方式有哪些
1、命令注入(Command Injection)
2、eval注入(Eval Injection)
3、客镇悉户端脚本攻击(Script Insertion)
4、跨网站脚本攻击(Cross Site Scripting, XSS)
5、SQL注入攻击(SQL injection)
6、跨网站请求伪造攻击(Cross Site Request Forgeries, CSRF)
7、Session 会话劫持(Session Hijacking)
8、Session 固定攻击(Session Fixation)
9、HTTP响应拆分攻击(HTTP Response Splitting)
10、文件上传漏洞(File Upload Attack)
11、目录穿越漏洞(Directory Traversal)
12、远程文件包含攻击(Remote Inclusion)
13、动态函数注入攻击(Dynamic Variable Evaluation)
14、URL攻击(URL attack)
15、表单提交欺骗攻击(Spoofed Form Submissions)
16、HTTP请宽拦求欺骗御巧乎攻击(Spoofed HTTP Requests)
网站受到了XSS攻击,有什么办法?
一.跨站脚本攻击(XSS)
跨站脚本攻击(XSS,Cross-site scripting)是最常见和基本的攻击WEB网站的方法。攻击者在网页上发布包含攻击性代码的数据。当浏览者看到此网页时,特定的脚本就会以浏览者用 户的身份和权限来执行。通过XSS可以比较容易地修改用户数据、窃取用户信息,以及造成其它类型的攻击,例如CSRF攻击
常见解决办法:确保输出到HTML页面的数据以HTML的方式被转义
出错没念的页面的漏洞也可能造成XSS攻击.比如页面/gift/giftList.htm?page=2找不到,出错页面直接把该url原样输出,如果攻击者在url后面加上攻击代码发给受害者,就有可能出现XSS攻击
二. 跨站请求伪造攻击(CSRF)
跨站请求伪造(CSRF,Cross-site request forgery)是另一种常见的攻击。攻击者通过各种方法伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据,或者执行特定任务的目的。为了 假冒用户的身份,CSRF攻击常常和XSS攻击配合起来做,但也可以通过其它手段,例如诱使用户点击一个包含攻击的链接
解决的思路有:
1.采用POST请求,增加攻击的难度.用户点击一个链接就可以发起GET类型的请求。而POST请求相对比较难,攻击者往往需要借助javascript才能实现
2.对请求进行认证,确保该请求确实是用户本人填写表单并提交的,而不是第三者伪造的.具体可以在会话中增加token,确保看到信息和提交信息的是同一个人
三.Http Heads攻击
凡是用浏览器查看任何WEB网站,无论你的WEB网站采用何种技术和框架,都用到了HTTP协议.HTTP协议在Response header和content之间,有一个空行,即两组CRLF(0x0D 0A)字符。这个空行标志着headers的结束和content的开始。“聪明”的攻击者可以利用这一点。只要攻击者有办法将任意字符“注入”到 headers中,这种攻击就可以发生
以登陆为例:有这样一个url:
当登录成功以后,需要重定向回page参数所指定的页面。下面是重定向发生时的response headers.
HTTP/1.1 302 Moved Temporarily
Date: Tue, 17 Aug 2010 20:00:29 GMT
Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
Location:
假如把URL修改一下,变成这个样子:
那么重定向发生时的reponse会变成下面的样子:
HTTP/1.1 302 Moved Temporarily
Date: Tue, 17 Aug 2010 20:00:29 GMT
Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
Location: ;CRLF
CRLF
scriptalert('hello'卖薯)/script
这个页面可能会意外地执行隐藏在URL中的javascript。类似的情况不仅发生在重定向(Location header)上,也有可能发生在其它headers中,中察者如Set-Cookie header。这种攻击如果成功的话,可以做很多事,例如:执行脚本、设置额外的cookie(CRLFSet-Cookie: evil=value)等。
避免这种攻击的方法,就是过滤所有的response headers,除去header中出现的非法字符,尤其是CRLF。
服务器一般会限制request headers的大小。例如Apache server默认限制request header为8K。如果超过8K,Aapche Server将会返回400 Bad Request响应:
对于大多数情况,8K是足够大的。假设应用程序把用户输入的某内容保存在cookie中,就有可能超过8K.攻击者把超过8k的header链接发给受害 者,就会被服务器拒绝访问.解决办法就是检查cookie的大小,限制新cookie的总大写,减少因header过大而产生的拒绝访问攻击
四.Cookie攻击
通过Java Script非常容易访问到当前网站的cookie。你可以打开任何网站,然后在浏览器地址栏中输 入:javascript:alert(doucment.cookie),立刻就可以看到当前站点的cookie(如果有的话)。攻击者可以利用这个特 性来取得你的关键信息。例如,和XSS攻击相配合,攻击者在你的浏览器上执行特定的Java Script脚本,取得你的cookie。假设这个网站仅依赖cookie来验证用户身份,那么攻击者就可以假冒你的身份来做一些事情。
现在多数浏览器都支持在cookie上打上HttpOnly的标记,凡有这个标志的cookie就无法通过Java Script来取得,如果能在关键cookie上打上这个标记,就会大大增强cookie的安全性
五.重定向攻击
一种常用的攻击手段是“钓鱼”。钓鱼攻击者,通常会发送给受害者一个合法链接,当链接被点击时,用户被导向一个似是而非的非法网站,从而达到骗取用户信 任、窃取用户资料的目的。为防止这种行为,我们必须对所有的重定向操作进行审核,以避免重定向到一个危险的地方.常见解决方案是白名单,将合法的要重定向 的url加到白名单中,非白名单上的域名重定向时拒之,第二种解决方案是重定向token,在合法的url上加上token,重定向时进行验证.
六.上传文件攻击
1.文件名攻击,上传的文件采用上传之前的文件名,可能造成:客户端和服务端字符码不兼容,导致文件名乱码问题;文件名包含脚本,从而造成攻击.
2.文件后缀攻击.上传的文件的后缀可能是exe可执行程序,js脚本等文件,这些程序可能被执行于受害者的客户端,甚至可能执行于服务器上.因此我们必须过滤文件名后缀,排除那些不被许可的文件名后缀.
3.文件内容攻击.IE6有一个很严重的问题 , 它不信任服务器所发送的content type,而是自动根据文件内容来识别文件的类型,并根据所识别的类型来显示或执行文件.如果上传一个gif文件,在文件末尾放一段js攻击脚本,就有可 能被执行.这种攻击,它的文件名和content type看起来都是合法的gif图片,然而其内容却包含脚本,这样的攻击无法用文件名过滤来排除,而是必须扫描其文件内容,才能识别。
0条大神的评论