我正在给一班高中生一个网页可以通过他们的手机告诉他们的意外事情的演示 - 即使他们没有登录或任何东西。到目前为止,我已经选择了大多数人都会知道的一些事情,例如:
设备操作系统
特定的手机(除非你在iPhone上,然后它只是iPhone)
语言设置
还有一些比较模糊的东西:
Carrier(点击远程服务并返回JSONP,因为js是IP天真的)
电池电量/充电状态(我甚至不知道你可以这样做直到今天)
你能想到我能从UA / Navigator /中挖掘出来的其他任何酷/令人毛骨悚然的东西吗?他们中的大多数都是在Android或iOS下运行Chrome(幸运的是,不是每个浏览器都支持电池的东西)。主要活动是关于移动安全和网络钓鱼,所以我想坚持使用手机。
快速编辑:为了清晰起见,我正在建立一个他们将去实际演示这些功能的网站 - 所以不幸的是,他们需要实施,至少在Chrome中,与计划/草稿相比。
答案 0 :(得分:1)
你应该提到地理位置。一个称职的JavaScript库,例如MaxMind或Google Analytics可用于查明用户的地理位置。
答案 1 :(得分:0)
从网络钓鱼的角度来看,我认为最重要的是,有几件危险的事情:
l
(小写L),1
(一),I
(大写字母I)。还有许多unicode字符看起来像普通字母。也许在希腊字母之类的unicode字符上有一些黑名单。检查this site to play around。您可以尝试使用greek ο
创建一些域名,例如stackoverflow.com。JavaScript can alter URL after domain name。但我还没有看到托管会给用户多年的文件夹名称。不过,看到URL更改而没有重新加载是令人毛骨悚然的:
window.history.pushState("object or string", "Title", "/new-url");
<a>
href,从而有效地更改目标URL。但话说回来,您还可以使用javascript ... 为此,我要做的第一件事就是检查MDN上的Window
和Document
。这绝对会揭示出一些很酷的东西,这些东西会让电池电量信息变得微不足道:
Window.addEventListener("devicemotion", ...)
Window.ondevicelight
- 这个非常令人毛骨悚然但只有Firefox <强>文件:强>
document.referrer
- 想跟踪您的用户?您可以通过创建以下元素来检测广告拦截插件的存在:
<div id="advertisment"
class="ad advertisment ads banner"
style="pointer-events: none;position: absolute; opacity: 0;">NOTHING
</div>
然后获取.getBoundingClientRect()
并断言非零维度。
WebWorkers
允许您在客户端计算机上生成线程。您可以将此用于分布式处理,或仅用于刻录电池。因为它不会直接影响GUI线程,所以在它为时已晚之前不会注意到它们。这听起来像是产生散列裂缝和破解证书的好方法。答案 2 :(得分:-1)
其中任何一个......
所有这一切的结果是 - 推动数据个性化营销,即您所看到的目标 你,作为一个人(谷歌用他们的广告做了很多)