美文网首页
web攻击有哪些方式?网络安全考试需记

web攻击有哪些方式?网络安全考试需记

作者: 17_9013 | 来源:发表于2021-08-20 10:20 被阅读0次

Web攻击

在互联网中,攻击手段数不胜数,我们平时不能以自己只是普通的开发程序员而不是安全方向的开发者为理由,而不去掌握基本的Web攻击手段!我们来熟悉一下有哪几种常见的Web攻击手段

常见的Web攻击手段主要有XSS 攻击、CSRF 攻击、SQL 注入攻击、DDos 攻击、文件漏洞攻击等。这几种攻击方式的防护手段并不复杂,却还是有很多企业遭受了该攻击,朔源到头,还是因为人为的疏忽。

一、XSS 攻击

XSS攻击的全称为跨站脚本攻击(Cross Site Scripting)

为什么不叫CSS,那是因为为了不跟层叠样式表(Cascading Style Sheet,CSS)混淆

XSS攻击Web应用中最常见到的攻击手段之一。

跨站脚本攻击,关键词脚本。

攻击者常常在网页中嵌入了恶意的脚本程序,当用户打开该网页的时候,脚本程序便开始在客户端的浏览器后台执行,常用于盗取客户端的cookie,用户名密码,下载执行病毒的木马程序,以及获取客户端Admin权限。

1、攻击原理

前端常用表单的形式向后台提交信息

<input type="text" name="username" value="cbuc" />

很普通的一段html代码,向后台提交username的信息,正常情况下,用户一般会输入自己的username,这个时候毫无问题,但是在不正常的情况下,用户输入的不是一个正常的字符串,而是"/><script> alert("bingo") </script><!-。按这个时候表单的内容就会变成

<input type="text" name="username" value=""/><script> alert("bingo") </script><!-" />

这个时候向后台提交参数,由于 username 的不合法性,校验可能不通过,服务端就重定向会该页面,并且带上以上参数,这个时候页面就会弹出一个警告框:

警告框问题不是很大,是因为取决于这段脚本,如果攻击者稍做修改,那么性质可能就不一样了~

甚至,攻击者可以对URL进行操作,正常提交的地址为

www.xxx.com/login?username="/><script> alert("bingo") </script><!-"

攻击者可以对 URL 进行编码用来迷惑用户:

www.xxx.com/login?username="%2F%3E%3Cscript%3E%20alert(%22bingo%22)%20%3C%2Fscript%3E%3C!-"

2、防护手段

知道了如何攻击,防护起来就不难,我们对症下药即可。既然输入的参数不合法,我们就很有必要对入参进行校验,比如<、>、"、"、'、'这些特殊字符我们很有必要进行转义与校验。

二、CSRF 攻击

CSRF攻击全称跨站请求伪造 (Cross site request forgery)。是一种对网站的恶意利用,我们上面说到的XSS攻击是利用站点内的信任用户,自己去触发脚本而导致的攻击。而CSRF则是通过伪装来自受信任用户的请求去利用受攻击的网站。

CSRF 攻击,关键词:伪造。

攻击这盗用了访问用户的身份,以访问者的名义向第三方网站发送恶意请求,常用于利用访问者的身份发送消息,进行交易转账以及盗取账号。

1、攻击原理

受害者首先在信任站点完成了登录,并且生成了 Cookie,Cookie会在浏览器保存一定的时间。到这一步,用户如果在没有登出信任站点的情况下,访问了恶意站点,这个时候恶意站点就会向信任站点发起请求,这个请求就会带上以上生成的 Cookie,当恶意请求来到信任站点信任站点看到请求携带的 Cookie,就会判断该请求是受害者发出的。因此信任站点就会根据受害者的权限来完成恶意请求的指令,而这个指令可能是利用受害者的身份发送消息,转账支付等等操作,这样恶意站点就达到了伪造受害者请求信任站点的目的。

看到这个流程不知道你是否有所启发,不知道屏幕前的小伙伴是否有过QQ被盗用的经历,当然,有些盗用的手段与上面的流程是相似的。

该攻击手段在日常中十分常见。如果某个支付系统的转账地址为www.xxx.com/pay?accountNum=xxxx&money=xxx。其中accountNum为转账目的的账户,money为转账金额。那这个时候如果你刚巧登录过了该支付系统,又没有及时的登出,在访问恶意站点的时候,如果你点开了某张图片,而图片的地址为 :

<img src="www.xxx.com/pay?accountNum=xxxx&money=xxx" />

当你美滋滋地浏览图片的时候,却不知道此时你的账户上已经悄悄的少了指定金额!

这就是因为你没有及时的登出支付系统,而又点击了恶意站点的恶意链接,携带了你未过期的 Cookie,成功窃取了你的金额。

2、防护手段

同样知其症下其药!防护手段如下:

1)将 cookie 设置为 HttpOnly

CSRF攻击的关键就在于利用了用户未过期的Cookie,那么为了防止Cookie的盗取,就需要在Cookie中设置HttpOnly属性,这样通过程序(XSS 攻击)就无法读取到Cookie信息,避免了攻击者伪造Cookie的情况出现。

2)增加 token

该防护手段还是针对Cookie的盗取,由于请求中所有的用户验证信息都存放于Cookie中,因为我们抵御CSRF的关键就在于:如何在请求中放入攻击者所不能伪造的信息,并且该信息不能存放在Cookie中。那么我们就可以在请求返回中加入一个随机生成的token,当请求来到时进行token的校验,如果校验不通过则认为是CSRF攻击而拒绝该请求。

3)通过 Referer

根据HTTP协议,在HTTP请求头上有一个字段叫做referer,它记录了该Http请求的来源地址。在通常情况下,访问一个安全受限的页面的请求都来自同一个网站。

CSRF中恶意请求是从恶意站点发出的,因此要防御CSRF攻击,需要对每一个请求验证其referer值即可。

三、SQL 注入攻击

SQL注入是程序员最经常遇到的,所谓SQL注入,就是通过把SQL命令伪装成正常的请求参数,传递到服务端,欺骗服务器最终执行恶意的SQL命令,达到入侵的目的。攻击者常常利用SQL注入的漏洞,来查询非授权的关键信息,修改数据库服务器的数据,改变表结构,危害极大!

相关文章

网友评论

      本文标题:web攻击有哪些方式?网络安全考试需记

      本文链接:https://www.haomeiwen.com/subject/tyttiltx.html