当敌人的军队在靠近我们时,我们就要想方设法阻止他们前进,或是把他赶走,或是让他的前进徒劳无功,或是通过虚拟的承诺延迟他的行军,然后在他的军队离开之后欺骗他。我们应该永远对能增加他人资源的行为保持警惕,打击敌人试图获得力量的行为。
-考底利耶, 政事论.
特征提取和指纹识别是一种获取目的主机操作系统,web服务器类型和版本等信息的方法。一旦被黑客获取了目的主机操作系统等信息,他就能轻易地找到特定版本的漏洞,并对它发起攻击。今天我们来看看webserver特征提取在web服务器上是怎么进行的,以及其对抗方法。在这篇文章中,我们可以看到Apache和IIS 8服务器的例子。
Apache:
假设我在Apache服务器上搭建了一个域名为99bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4y4Z5N6h3&6&6j5g2)9J5k6h3y4G2L8g2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4#2!0n7c8q4)9&6x3g2!0q4y4#2!0m8b7W2)9&6z5g2!0q4x3#2)9^5x3q4)9^5x3W2!0q4z5g2!0n7b7W2)9&6x3g2!0q4y4g2!0m8c8g2!0m8x3W2!0q4z5q4)9^5x3#2!0n7c8q4!0q4z5q4!0n7c8q4!0n7b7W2!0q4y4W2)9&6z5q4)9&6x3#2!0q4y4g2)9&6b7#2!0n7x3q4!0q4y4#2)9&6y4q4!0m8z5q4!0q4y4g2)9&6x3q4)9^5y4q4!0q4y4#2!0m8y4#2)9^5c8q4!0q4y4W2)9&6y4W2!0n7z5g2!0q4y4g2!0n7b7#2)9^5c8W2!0q4y4W2)9^5z5g2!0n7c8g2!0q4y4g2)9^5z5q4!0n7x3s2N6W2j5W2!0q4y4W2)9&6b7#2)9^5c8q4!0q4y4g2)9^5b7g2!0m8x3g2!0q4y4g2)9&6z5g2!0m8z5q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4q4!0n7c8W2!0m8x3g2!0q4y4W2)9^5x3g2!0m8c8W2!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4q4!0n7c8g2)9^5b7W2!0q4y4g2!0m8y4W2)9^5x3W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4z5g2!0n7b7W2)9&6x3g2!0q4y4g2!0m8c8g2!0m8x3W2!0q4z5q4)9^5x3#2!0n7c8q4!0q4y4g2!0m8y4q4)9&6c8W2!0q4y4g2)9&6b7#2!0m8z5q4!0q4y4W2)9^5z5q4)9&6x3g2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4W2)9&6b7#2)9^5c8q4!0q4y4g2)9^5b7g2!0m8x3g2!0q4y4g2)9&6z5g2!0m8z5q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4#2!0n7c8q4)9&6x3g2!0q4y4#2!0m8b7W2)9&6z5g2!0q4y4q4!0n7z5q4)9^5b7g2!0q4z5q4!0m8c8g2!0n7c8W2!0q4z5g2)9&6y4#2!0m8c8g2!0q4y4q4!0n7z5q4)9^5x3q4!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4q4!0n7z5q4)9^5c8q4!0q4y4g2!0m8c8q4)9&6z5q4!0q4y4g2)9&6b7#2!0m8z5q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4z5g2!0m8x3g2!0n7y4g2!0q4z5g2)9&6c8q4!0m8x3W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4g2)9^5x3#2)9^5c8W2!0q4y4q4!0n7z5q4)9^5b7W2!0q4z5g2)9&6c8q4!0m8x3W2!0q4z5q4!0n7c8W2)9&6z5g2!0q4y4W2!0m8x3q4!0n7y4#2!0q4x3#2)9^5x3q4)9^5x3R3`.`.
在上面的例子中,黑客试图打开名为"admin.php"的页面,而这个页面在我的服务器上并不存在,因此服务器会答复一个包含web服务器类型,操作系统和脚本语言的页面。这个页面给出了大量的信息。
通过telnet进行指纹识别是一种传统且通用的方法。黑客打开命令行或是终端(command line or termial),输入命令"telnet ae5K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4y4Z5N6h3&6&6j5g2)9J5k6h3y4G2L8b7`.`. 80"。当登录成功之后,输入"head/ HTTP/1.0",这个命令会返回服务器信息。
指纹识别工具有很多,我在这里只介绍一个,Id serve。让我们来看看怎么使用Id server来进行信息收集(banner grab)。
接下来我们介绍在Apache服务器上能够采取的对抗方法,至少在某种程度上预防指纹识别。我们能够在Apache web服务器的配置文件"httpd.conf"上进行一些修改来对抗指纹识别。打开 httpd.conf,把选项"Server Signature"的值改为"off"。这样,当某个被访问的页面不存在的时候,就不会再显示任何关于服务器的信息了。
在httpd.conf文件中,把"Server Tokens"的值由"Full"改为"Prod",可以使其只显示最少的服务器信息,如下所示。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课