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

时间:2014-12-02 23:23:13

标签: javascript php phishing data-harvest

有人试图欺骗我,他们假装是我的亲密朋友之一来羞辱我们两个人。此人创建了一个虚假的电子邮件帐户,冒充该人,并试图从我那里获取个人信息。我确定和我的朋友确认他实际上并不是他,现在我们正试图找出它是谁。

我想向他们发送一个链接到某种PHP或JS页面,至少收集一些关于他们客户端的信息(浏览器,操作系统,可能是ISP的位置?),然后将它们转发到一个实际的网站(像youtube视频或其他东西)。

拥有非常基本的PHP知识,我非常感谢任何可以让我收集一些基本信息的脚本。

谢谢!

2 个答案:

答案 0 :(得分:3)

PHP:

数据检索

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

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

但是,如果您发送此邮件,他的浏览器将不会在您的虚假页面上加载任何JavaScript或HTML。您仍然可以从$_SERVER superglobal variable收集以下内容:

  • HTTP_USER_AGENT - 无论他的浏览器发送了什么标识
  • REMOTE_ADDR - 他的IP(或服务器代理IP)

此处整个$_SERVER variable dump

数据保存

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

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

print_f中的true会导致函数返回字符串,而不是打印它。

的Javascript

数据检索

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

然后可以使用以下方式完成重定向:

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

所以这就是你能得到的:

未经许可

经许可

获得用户许可,可以检索到真正有趣的内容:

数据保存

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

Synchronous request

通常,在加载/发送数据时,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

Read on MDN.不适用于所有浏览器。

心理学

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

答案 1 :(得分:0)

您可以获取IP和用户代理等信息并将其写入文件。

<?php
$fp = fopen("Output.txt","a");
$visitorIP       =   addslashes((getenv(HTTP_X_FORWARDED_FOR)) ? getenv(HTTP_X_FORWARDED_FOR) : getenv(REMOTE_ADDR));
$visitorBrowser =   addslashes(( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : 'Browser undetectable.');
$User_Info = "IP: " . $visitorIP . "\t\tUser Agent: " . $visitorBrowser . "\n";
fwrite($fp, $User_Info);
header( 'Location: http://REDIRECTURLHERE' ) ;
?>

结果将在名为Output.txt的文件中。从这里你可以得到它