网盾IDC:XSS攻击?不是小手手攻击!

什么是XSS跨站攻击
css(Cross Site Script),又叫XSS跨站脚本攻击 。它指的是恶意攻击者往Web页面的html代码中插入恶意的ActiveX、HTML、JAVAScript、Flash或VBScript脚本,当用户访问该页之时,嵌入Web里面的代码会被执行,窃取过此用户信息、改变其设置、破坏用户数据,从而达到恶意攻击用户的特殊目的 。
XSS在多数情况下对web程序和服务器的运行不会造成影响,但严重威胁了客户端的安全,主要源于服务器对用户提交的数据过滤不完整 。
跨站脚本攻击属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性 。现在为了规避风险且节约安全检测成本,一般企业会选择联系具备资质的IDC服务器提供商购买或租用云WAF或高防IP服务,能够从根源上阻拦所有的web攻击(包括XSS跨站脚本攻击) 。

网盾IDC:XSS攻击?不是小手手攻击!

文章插图
尽管XSS劫持是一种不容易被web设计者重视的攻击方式,单XSS代码甚至不符合图灵完备的语言,但因为引发攻击的方式并不困难(不需要依赖JavaScript),攻击者可以利用XSS作为工具记录用户的密码等信息,因此也会被黑客当作攻击方式的选择之一 。
传统的XSS跨站利用方式,一般都是由攻击者先构造一个跨站网页,然后在另一空间里放一个收集Cookie的页面,接着结合其它技术让用户打开跨站页面以盗取用户的Cookie,以便进一步的攻击 。
对于这种方式而言,即便攻击者收集到了Cookie,也未必能进一步渗透进去,毕竟随着网络安全意识的提高,现在多数的Cookie里面的密码都是经过加密的 。如果想要Cookie欺骗的话,同样也要受到其它的条件的限约 。比较成熟的方法是通过跨站构造一个表单,表单的内容则为利用程序的备份功能或者加管理员等功能得到一个高权限 。
作为一种HTML注入攻击,XSS攻击的核心思想就是在HTML页面中注入恶意代码,而XSS采用的注入方式是非常巧妙的 。
XSS攻击一般包括三个核心组成部分:攻击者、目标服务器、受害者浏览器 。
在网络安全意识还远远跟不上互联网发展的时代,有些服务器并不要求对用户的输入进行安全方面的验证,这时攻击者就可以很容易地通过正常的输入手段,夹带进一些恶意的HTML脚本代码 。当受害者的浏览器访问目标服务器上被注入恶意脚本的页面后,由于它对目标服务器的信任,这段恶意脚本的执行不会受到什么阻碍 。而此时,攻击者的目的就已经达到了 。
2018年,谷歌安全工程师Ruslan Habalov在其博客上透露,他分别在火狐和Chrome等浏览器上发现了一个可以泄露跨站源框架视觉内容的旁路攻击 。发现此攻击的同时还有德国的渗透测试工程师和另一名安全研究员 。
该漏洞归因于2016年CSS3 Web标准中引入的名为“mix-blend-mode”的特性,允许Web开发人员将Web组件叠加在一起,并添加控制其交互方式的效果 。为展示此漏洞,研究人员造访了一个恶意网站,发现可以利用跨域iframe获取用户的Facebook资料,包括照片和用户名等信息,整个过程不需要与用户有额外的互动 。
网盾IDC:XSS攻击?不是小手手攻击!

文章插图
Habalov 在文中解释称,在启用 “mix-blend-mode” 时,攻击者可以利用 DIV 元素的层叠来覆盖目标对象的浮动框架(iframe),浏览器渲染此一层叠的时间会根据浮动框架内的像素颜色而有所不同,最后在浮动框架中移动该DIV层叠,强迫重新渲染并测量个别的渲染时间,即有可能算出浮动框架的内容 。经过测试,大概20秒左右就能拿到用户的ID,5分钟左右就能拿到模糊的个人资料和图片 。
网盾IDC:XSS攻击?不是小手手攻击!

文章插图
据悉,受影响的浏览器主要是火狐和Chrome,IE和Microsoft Edge不受影响是因为它们不支持mix-blend-mode,Safari由于采用的是矢量化的实现方式也不受影响 。
XSS攻击样例:
很多登陆界面都有记住用户名、密码的功能,方便用户下次登录,有些网站是直接用明文记录用户名、密码 。
攻击者通过账户登陆页面,使用简单工具查看cookie结构名称后,如果网站有xss漏洞,那么简单的利用j5onp就可以获取其它用户的用户名和密码了 。
网盾IDC:XSS攻击?不是小手手攻击!

文章插图
利用几句简单的JavaScript,在用户浏览器执行第三方黑客工程的js文件,获取了cookie中的用户密码并发起一个黑客工程的Http url请求,这样黑客工程就获取了用户的账号密码 。


推荐阅读