从控制你的浏览器开始

作者: 晓春测略 | 来源:发表于2017-05-24 16:12 被阅读0次

    想象这样一个场景:在一个阳光灿烂的下午,你哼着小曲呼吸着新鲜空气,悠闲地上着网,这该有多惬意啊。但让我们还原一下真实的场景:高温、雾霾、上网查工作资料,还有你的浏览器甚至是电脑已经被黑客攻占了;现实就是这么残酷啊!

    “被黑客攻击”,这么遥远的事情没可能的吧;但笔者又不得不告诉你,这确实是存在的。现在就让我们真实地重现一下这个场景。

    首先,我们通过工具或者人肉扫描目标网站,找到可以注入恶意字符的地方(任何有输入的、上传的地方,都有可能存在漏洞),于是我们注入类似以下字符

    内容大意是运行脚本,接收攻击者的电脑发出的命令并执行吧。

    一旦网站被打开,那么浏览器就被控制了,所有的序曲也就开始了。当然,为了更充分和牢固地进行控制,攻击者首先会做的,就是“持久性维持”。概念听着专业,说白了就是攻击者想要延长控制受害者浏览器的时间,再通俗一点就是“老乡,别走”,我还没有玩够啊

    此时,如果用户想要离开该页面,点击关闭时会弹出提示:

    真是一个周到的提醒啊,那还是等会再关闭吧,万一造成什么损失呢?

    上述目标达成后,就可以一步步开展计划了:

    第一级目标,搜集用户电脑个人信息,诸如用户浏览器信息、用户操作系统信息、浏览器各个组件信息,尤其是IP的信息,如下所示:

    感觉上也没什么大不了的么,毕竟没有什么实质性伤害啊~~

    第二级目标,获取个人帐号信息。简单的方式是钓鱼,愿者上钩。我们发送Windows登录超时信息给用户,窗口就会弹出:

    一旦用户输入用户名和密码,攻击者轻松获得新鲜真实的第一手资料啊。

    第三级目标,永久控制受害者机器,让它变成我们的“肉鸡”。比如浏览器突出弹出诸如flash版本过期的框框。

    一旦点击安装,下载的将是攻击者提供的远控软件:

    你的电脑基本上就被永久控制了,能做的事情估计就超出你的想像了。

    在网络上游荡,真是一点都不能疏忽,任何可疑的对话框、可疑的软件下载提示,都要格外注意,一不留神就入了套了。大部分场景下,攻击者都是在用户的“配合”下达成目的的。


    小知识

    上述攻破的方式其实是利用了一个漏洞,学名叫跨站脚本注入(CrossSite Scripting),简称XSS,而利用这个漏洞的跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

    要修复或者预防这样的漏洞,对于编码人员而言最直接有效的方式是在输入的时候就进行编码和过滤。那么,什么是编码和过滤呢?

    编码就是转换,浏览器本身也允许用户指定不进行JavaScript解析的字符串,就是所谓的HTML编码。经过编码后,浏览器就不会再对特殊字符进行解析,而是直接展示出来。常见的特殊字符对应的编码如下:


    所谓过滤呢,就是自定义一个字符的黑名单,对用户输入进行过滤,剔除黑名单中的特殊字符。比如用户输入“alert(/xss/)”,如果我规定过滤的字符是“<>/”那么就会在页面看到“scriptalert( xss ) script ”。其实,这样做有个弊端,可能会“误杀”,比方说,最简单的就是数学公式。有个表达式是这样“2+3>3”如果进行上述过滤,则会变成“2+3  3”,这和用户的实际需求是不符的。所以,笔者建议尽量采用编码的形式进行XSS防御。

    笔者将XSS称为Web安全的“瑞士军刀”,主要是因为它广泛存在在很多Web系统中,同时,还能结合其他漏洞给系统安全带来极大隐患。所以在此提醒用户和程序员们,千万要注意预防此类漏洞。

    相关文章

      网友评论

        本文标题:从控制你的浏览器开始

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