随着微博的盛行,短链接也渐渐被广大网民们所熟识。但是,短链接是通过什么原理实现的呢?在短链接带来便利的同时又是否会带来安全隐患呢?为此,瑞星安全专家唐威提醒用户,一定要注意短链接安全。
通俗地讲,短链接就是将较长的URL地址,通过特定的算法转换为简短的网址字符串。早期,短链接并没有像现在网络环境中这么流行,当时它主要应用在图片上传网站中,上传站通过特定的算法缩短URL链接地址,达到减少代码字符数的目的。这样,使用者就可以在有字符数限制的网站中,运用短链接达到外链图片的目的。
然而,随着微博的盛行,短链接也渐渐被广大网民们所熟识,因为微博网站对用户输入的字数都有限制,较长的URL地址又占据了过多的字符数,而短链接正好解决了这种问题,在节省字数的同时,给博主留下更多的文字空间。因此,一旦我们在微博中输入一个URL地址时,微博程序会将我们输入的URL地址自动转换为相应的短链接地址,如图1所示。
图1
瑞星安全专家表示,转换为短链接地址以后确实方便微博内容的显示,但在便捷显示的同时,短链接也带来一定的安全隐患,用户可能无法通过短链接地址直接看出点击这个短链接地址后究竟会打开什么样的网站。
在微博网站中,我们可以把鼠标悬停放在URL地址上,查看这个短链接地址所表示的真实地址(如图2),但如果短链接地址出现在其他网页或即时通讯工具中的话,用户到底是选择去浏览还是放弃呢?或者即使网站会对短链接指向的地址进行提示,用户又是否会未查看提示,而直接浏览呢?
图2
唐威表示,我们针对这种情况做过相关测试,首先将一个包含有恶意网马代码的地址发布在QQ群中,然后再将该地址通过新浪微博生成相应的短链接也发布在QQ群中,结果确十分迥异,QQ可以直接提示该地址为恶意地址,但是通过短链接变形以后的地址,QQ却无法确认,如下图3所示:
图3
又如曾经爆发的新浪微博蠕虫事件,大量认证用户受到感染,并自动发布含有恶意代码的短链接地址,面对这样的认证用户,网民们往往会降低安全警惕意识,选择直接点击浏览,如图4所示。
图4
试想如果恶意黑客将挂马地址或者钓鱼地址通过短链接变形的方式直接发送在QQ群、微博或是网页中诱骗用户点击,带来的危害和影响是无法想像的。
因此,瑞星安全专家唐威表示:随着短链接的应用范围不断扩大,网民在使用微博的时候需要提高警惕,尤其是针对第三方授权应用,建议在点击前充分了解其可能带来的风险,获取短链接重定向的完整URL地址,然后再安全浏览。同时,安装安全防护软件,对可能存在的恶意网址、恶意钓鱼地址、恶意XSS跨站脚本攻击及网马攻击等行为进行有效拦截。
附:短链接实现原理
短链接主要是通过域名重定向技术将较长的域名信息通过一定的转换算法进行处理,用另外一个较短域名信息进行表示。当用户访问这个较短的域名信息时,就可以直接跳转到较长的URL地址上。
域名重定向技术也可以称为URL转发,是通过网站服务器或者Web应用程序的设置,将访问当前域名的用户引导至指定的另一个URL地址。
常用的域名重定向方式有:A、301重定向,B、302重定向,C、META标签刷新。
301重定向代表永久性转移(Permanently Moved)。
302重定向代表暂时性转移(Temporarily Moved)。
META标签刷新在2000年前比较流行,不过现在已很少见。其具体是通过网页中的META标签,设定相应的跳转地址,在特定时间后重定向到新的网页。
301重定向和302重定向的区别主要表现在搜索引擎爬取网络链接的处理上,对于网民来说,两者的效果都是将访问的地址指向到另外一个地址。
在301重定向和302重定向中,网站服务器都会通过返回的HTTP数据头中的Location段中给出相应的跳转地址。所以在了解了短链接实现的原理以后,想获取到短链接地址所指向的真实地址,只需对短链接域名的重定向进行检测即可。实际上,我们可以通过多种方法实现获取短链接指向的地址。
网上有一些网站可以提供域名重定向检测的网站,可以通过此类网站获取到短链接地址指向的真实域名地址,如http://www.longurl.org/。我们可以通过调用该网站提供的API接口获取相关信息,我们使用腾讯微博生成的短链接地址http://url.cn/0DlZLg为例,提交URL地址http://api.longurl.org/v2/expand?url=http://url.cn/0DlZLg,返回的结果如图1所示。
图1
这里的结果是该短链接地址跳转的地址是百度的首页。
当然,调用其他网站提供的接口反馈的结果是经过加工处理的,不能看到服务器反馈回来的数据报文。那么我们自己构造一个工具实现对短链接地址的查看,构造PHP代码如下图2所示:
图2
以上代码的作用是接收用户输入的短链接地址,并发送相应的HTTP请求,并将服务端返回的数据信息进行显示。将以上代码保存在安装有PHP的环境中,并保存为CheckTinyUrl.php,使用方法是在命令行模式下执行命令“php CheckTinyUrl.php短链接地址”,这里使用新浪微博中的短链接进行测试,测试结果如下图3所示。
图3
从返回的结果中可以发现,HTTP返回的状态码为302,并且重定向的地址在Location段中,正是我们之前测试输入的瑞星新闻的地址。
同样,也可以通过其他程序设计语言编写相应的短链接重定向检测工具,方便应用在未安装PHP语言环境的机器中,实现的原理都是通过提交数据包并接收返回的HTTP数据报文头信息,查看到相应的重定向地址,如下图4所示。
图4
现在,越来越多的人开通了自己的微博,网民必须提高警惕,尤其是针对第三方授权应用,建议获取短链接重定向的完整URL地址后再安全浏览。并安装安全防护软件,对可能存在的恶意网址、恶意钓鱼地址、恶意XSS跨站脚本攻击及网马攻击等行为进行有效拦截。