但是听到监视、追踪这个词,你是不是也觉得有点不舒服,所以Ping这个属性真的是很不受欢迎。浏览器一度抵制、进而加入默认关闭必须从如
config这样的选项中打开才可以使用,到现在我从caniuse.com上还没有追寻到哪个浏览器支持它,但在我测试中最新版Chrome44是默认
支持Ping的。
一、Ping的用法
Ping的用法很简单,这里举一个例子。
click me
当你点击click me的时候,会异步发送一个POST请求到Ping后面指定的地址,Request
Body的内容为PING。有人可能会说,那click
me这段代码行不行?答案是否定的,href这个属性必须存在与中,不然Ping也是不会运行的。
二、死亡之PING
根据Ping发送POST请求这个特性,我们可以使用循环使之不停的向一个地址追加POST请求,造成DOS攻击。
运行上面的代码,就会不停的向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:/*
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。
四、总结
把PING归结为探测用户隐私的范畴一点也不为过。这其实不怪设计者,Ping的最初设计理念,是为了使得广告统计更加方便简洁,哪怕是它的重定向
功能,也是为了在异步请求的情况下使用户整体提高访问页面速度的快感。但是这仿佛也无法遮掩住PING的潜在探测用户隐私的特性。也许这就是PING的先
天性缺陷。