使用 PHP/JavaScript 链接获取有关网站访问者的信息

2024-03-11

有人试图对我进行网络钓鱼,他们假装是我的亲密朋友之一来羞辱我们俩。此人创建了一个虚假的电子邮件帐户,冒充此人,并试图从我这里获取个人信息。我和我的朋友确认这不是他,现在我们正在努力找出他是谁。

我想向他们发送一个指向某种 PHP 或 JS 页面的链接,以收集至少一些有关其客户端的信息(浏览器、操作系统,也许是 ISP 位置?),然后将它们转发到实际的网站(例如 youtube)视频什么的)。

拥有非常基本的 PHP 知识,我真的很感激任何能让我收集一些基本信息的脚本。

谢谢你!


PHP:

数据检索

基本的重定向可以很容易地完成(在 PHP 中,before任何输出):

header("Location: http://....");

但是,如果您发送此信息,他的浏览器将不会在您的虚假页面上加载任何 javascript 或 HTML。您仍然可以从以下位置收集以下内容$_SERVER 超全局变量 https://www.php.net/reserved.variables.server.php#refsect1-reserved.variables.server-indices:

  • HTTP_USER_AGENT- 他的浏览器发送的任何内容作为身份识别
  • REMOTE_ADDR- 他的IP(或服务器代理IP)

这里是完整的$_SERVER变量转储 https://gist.github.com/Darker/0f29836ca7013ee98263.

数据保存

在 PHP 中保存数据非常容易。如果你很懒,你可以使用 file_put_contents:

file_put_contents("info.txt", print_f($_SERVER, true));

The true in print_f https://www.php.net/manual/en/function.printf.php导致函数return字符串,而不是打印它。

JavaScript

数据检索

Javascript 也可以让您访问有关浏览器的信息。但任何个人信息只有在用户明确允许后才能检索。

然后可以使用以下命令完成重定向:

window.location.href = "http://...";

所以这就是你可以得到的:

没有经过允许

  • navigator.userAgent https://stackoverflow.com/a/2401861/607407- 与 PHP 中的用户代理相同,但我认为这个不能轻易隐藏(有些人安装附加组件来隐藏他们真正的用户代理)
  • 屏幕尺寸 http://andylangton.co.uk/blog/development/get-viewport-size-width-and-height-javascript
  • 操作系统 https://stackoverflow.com/a/9514476/607407(以及其他有趣的信息)

经许可

经过用户许可,可以检索真正有趣的东西:

  • Location https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation#Getting_the_current_position- 这实际上是相当精确的
  • 摄像头和麦克风数据 https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder_API

数据保存

这就是事情变得复杂的地方:您需要时间将数据从用户浏览器发送到您的服务器。可能的解决方案:

同步请求 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests

通常,当加载/发送数据时,javascript发送请求,分配在完成和结束时要执行的函数:

//Example of loading next page with AJAX
var req = new XMLHttpRequest();
req.open("POST", "http://...");
//This function will be started after the request finishes
req.onload = function() {
    showPage(this.responseText);
}
//The request starts and the javascript thread ends
req.send("page=2");

现在,如果您将用户重定向到其他地方,请求可能会被停止。但是,您可以将请求设置为阻塞/同步(或者您可以重定向请求完成后,这可能是可疑的)

//Example of sending user info synchronously
var req = new XMLHttpRequest();
req.open("POST", "http://...", false);
//Let getuserInfo be function that creates the data
req.send(getUserInfo());
//Redirect when done
window.location = "http://...";

在第二种情况下,浏览器可能会变得无响应,这实际上比卡在空白页面上更可疑。

navigator.sendBeacon

阅读 MDN。 https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon不适用于所有浏览器。

心理学

我寻求的解决方案不会通过计算机黑客攻击,而是通过社会工程。我会玩他的游戏并最终发现他是谁(前提是我认识现实生活中的这个人)。每个人都有行为和表达特征。他们假装自己是别人的事实并不像看起来那么重要。
事实上,任何计算机安全最好是由计算机用户来破解。这同样适用于任何其他类型的安全或保密。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP/JavaScript 链接获取有关网站访问者的信息 的相关文章

随机推荐