web攻击有哪些方式?小白需要知道的几种攻击方式

Web攻击

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

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

一、XSS 攻击

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

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

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

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

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

1、攻击原理

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

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

<!-" />

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

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

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

www.xxx.com/login?username="/><!-"

攻击者可以对 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 为转账金额。那这个时候如果你刚巧登录过了该支付系统,又没有及时的登出,在访问恶意站点的时候,如果你点开了某张图片,而图片的地址为 :

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

这就是因为你没有及时的登出支付系统,而又点击了 恶意站点的 恶意链接,携带了你未过期的 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 注入的漏洞,来查询非授权的关键信息,修改数据库服务器的数据,改变表结构,危害极大!

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值