短链接实现原理
短链接主要是通过域名重定向技术将较长的域名信息通过一定的转换算法进行处理,用另外一个较短域名信息进行表示。当用户访问这个较短的域名信息时,就可以直接跳转到较长的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跨站脚本***及网马***等行为进行有效拦截。

0

收藏

hack鬼影

68篇文章,3W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

f92360e227f9d91cdff7ea95120630ef.png
left-qr.jpg

扫一扫,领取大礼包

0

分享
qr-url?url=https%3A%2F%2Fblog.51cto.com%2Fhackgy%2F946817
hack鬼影
noavatar_middle.gif