achieverain 发表于 2007-07-07 21:31

[安全]关于隐藏php方法的一些总结 [郁闷,待续。。。]

一些题外的话,最近我的生活还是不很正常。乐观估计,随时可以恢复。。。
这次写不完。。。等我下次能上网了再续完。抱歉。
老习惯,如果有什么问题或建议,Email :jstel#126.com 我会在我下次上网一并回答
==========================================================






首先引用 PHP 手册上的一段 。

来源: http://www.php.net/manual/zh/security.hiding.php

第 32 章 隐藏 PHP
一般而言,通过隐藏的手段提高安全性被认为是作用不大的做法。但某些情况下,尽可能的多增加一份安全性都是值得的。

一些简单的方法可以帮助隐藏 PHP,这样做可以提高攻击者发现系统弱点的难度。在 php.ini 文件里设置 expose_php = off ,可以减少他们能获得的有用信息。

另一个策略就是让 web 服务器用 PHP 解析不同扩展名。无论是通过 .htaccess 文件还是 Apache 的配置文件,都可以设置能误导攻击者的文件扩展名:

例 32.1. 把 PHP 隐藏为另一种语言


# 使PHP看上去像其它的编程语言
AddType application/x-httpd-php .asp .py .pl

   
或者干脆彻底隐藏它:
例 32.2. 使用未知的扩展名作为 PHP 的扩展名


# 使 PHP 看上去像未知的文件类型
AddType application/x-httpd-php .bop .foo .133t

   
或者把它隐藏为 HTML 页面,这样所有的 HTML 文件都会通过 PHP 引擎,会为服务器增加一些负担:
例 32.3. 用 HTML 做 PHP 的文件后缀


# 使 PHP 代码看上去像 HTML 页面
AddType application/x-httpd-php .htm .html

   
要让此方法生效,必须把 PHP 文件的扩展名改为以上的扩展名。这样就通过隐藏来提高了安全性,虽然防御能力很低而且有些缺点。

0 到底有没有这个必要
个人认为,意义不大。我曾经也热衷于这个。做到最后,除了apache没有重新编译以外,其他的都和win+asp完全一样。实际运行一段时间以后发现服务器被试探的次数猛增。99%是菜鸟,不到1%试探了之后发现主机的异常。实际安全性并没有提高很多。

1用户是如何察看服务器的

   很简单的办法,使用socket get 一下服务器的任意url。然后使用工具测试一下标志性的端口,比如3389。当然还有更方便的方法,这里就不提了

2如果要隐藏PHP,用户需要做什么?

记住一个公理:linux不跑asp,几乎没有人修改IIS的头信息。所以,如果用户试图将php伪装成asp的话,必须要重新编译apache,修改apache的头信息。让apache看起来长的像IIS。建议重新编译php。将PHP的头信息修改一下。修改linux对外通信端口。不要等什么都做完了,ssh端口没变,人家一连22端口,直接就看出来了。

   个人认为,伪装成java的服务器比较帅,因为JAVA的程序似乎很少有人试图破解。而且不用费尽心思去伪装linux。

最简单的区分linux和win服务器的办法:

       随便找一个url,把地址的大小写换一下,比如index.asp转成InDex.Asp.没问题的话,一般都是win服务器。如果无法访问,一般都是linux.当然,遇到BT网管根据这个设过,我也没脾气。。。



3 如何伪装

屏蔽信息并不是万能的,有经验的人会因为没有得到正常的信息而对服务器产生怀疑和兴趣。比如我就曾连续一周搜集过xunlei和猫游记的服务器信息。这样反而会使得伪装过的服务器更加危险。如果想让服务器骗过更多的人,就需要给出尽量多的,“正确的”信息。


4 最最最简单的伪装方法

1 linux服务器上开一个安装了win2000的VMware(或类似软件),把3389等linux不用的端口一律转发到VMware上。把虚拟机作个镜像,每天恢复四次,即使被攻占了也不用管。注意,虚拟机的虚拟硬盘最多比系统需要硬盘大小多64M。否则当了傀儡等着投诉吧。
2 修改php扩展名。
3 使用唯一网页做网站入口          比如,index.asp?module=article&action=get&id=123 ,并且用穷举法把所有可能的大小写排列全建立出来。例如   Index.aspiNdex.asp..........很多很多。。。可以用个循环程序,10分钟搞定。
   4 如果你有这个技术,修改apache的头信息后重新编译apache,php也是,没有这个技术的话,屏蔽信息。配制文件里有选项的。
5 把ssh等linux常用服务端口修改。但不要修改到奇怪的端口,这样会使人生疑。如果公司IP固定,设置服务只接受固定ip连接。


5 正儿八经的伪装

唉,没时间了。等俺下次等上网了再写吧。




[ 本帖最后由 HonestQiao 于 2007-7-10 15:32 编辑 ]

hightman 发表于 2007-07-07 23:49

3389可以换的啊

yueliangdao0608 发表于 2007-07-09 09:34

觉得没有必要。

ashchen 发表于 2007-07-09 11:30

楼上的签名图怎么给隐藏掉?

看了让人不舒服!!

星辉流动 发表于 2012-01-06 19:36

:wink:

sychangchun 发表于 2012-01-23 23:13

学习啊。谢谢分享啊。

紫月亮 发表于 2012-01-30 02:40

等LZ大作。。

lastfile 发表于 2012-02-02 01:40

手段复杂啊:lol
页: [1]
查看完整版本: [安全]关于隐藏php方法的一些总结 [郁闷,待续。。。]