2

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

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

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

谢谢!

4

2 回答 2

3

PHP:

数据检索

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

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

但是,如果您发送此信息,他的浏览器将不会在您的虚假页面上加载任何 javascript 或 HTML。您仍然可以从$_SERVER 超全局变量中收集以下内容:

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

这是整个$_SERVER变量 dump

数据保存

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

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

trueinprint_f导致函数返回字符串,而不是打印它。

Javascript

数据检索

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

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

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

所以这就是你能得到的:

没有经过允许

  • navigator.userAgent- 与 PHP 中的用户代理相同,但我认为这个不能轻易隐藏(有些人安装附加组件来隐藏他们真正的用户代理)
  • 屏幕尺寸
  • 操作系统(和其他有趣的信息)

经许可

在用户许可的情况下,可以检索到非常有趣的东西:

数据保存

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

同步请求

通常,当加载/发送数据时,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 上阅读。不适用于所有浏览器。

心理学

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

于 2014-12-03T00:26:10.707 回答
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 的文件中。从这里你可以重新

于 2014-12-02T23:51:36.660 回答