PHP 5.2.0 官方下载地址:http://www.php.net/downloads.php
mysql-5.0.27 官方下载地址:http://dev.mysql.com/downloads/mysql/5.0.html
phpMyAdmin for Windows V2.9.1 官方下载地址:http://www.phpmyadmin.net/home_page/index.php
你也可以上天空站下载:http://www.skycn.com/soft/10687.html
第一步:配置PHP
如果你下载的是安装版的php,安装的时候可以选择使用IIS,安装完毕就会自动配置好IIS。如果你下载的是zip版的,则按照以下步骤配置:
1、把PHP-5.2.0 zip(目前最新版本)解压放到 D:\php (你可以选择目录,本例以此说明)。
2、将php.ini-dist复制到 C:\Windows 目录下并改名为php.ini,复制 php5ts.dll和 libmysql.dll到 C:\Windows\system32 中。
3、用记事本打开php.ini,查找“extension_dir”,然后把 extension_dir = "./"修改为 extension_dir = "D:\php\ext" 注意:路径在Win下一定要使用\
4、在记事本中查找“;extension=php_mysql.dll”和“;extension=php_gd2.dll”,然后把前面的“;”去掉,即把 ;extension=php_mysql.dll 改为 extension=php_mysql.dll
把以下内容前面的;去掉
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_dbase.dll
;extension=php_ldap.dll
5、找到 ;session.save_path = "/tmp" 将';'去掉.设置你保存session的目录。
如:session.save_path = "C:\Windows\Temp";
6、找到 register_globals 将 Off 改为 On
7、找到 allow_url_include 将 Off 改为 On
8、保存 php.ini
9、接下来在IIS中进行设置,打开Web服务扩展,添加PHP扩展,扩展名为PHP,要求的文件为d:\php\php5isapi.dll,打开默认网站-〉属性对话框,切换到“主目录”选项卡,然后点“配置”按钮打开“应用程序配置对话框”,点“添加”按钮打开“添加/编辑应用程序扩展名映射”对话框。在“可执行文件”输入框中,指向d:\php\php5isapi.dll,在“扩展名”输入框里面输入“.php”,并选中“脚本引擎”和“检查文件是否存在”两个复选框,一路确定,选择文档,添加默认内容为 index.php ,确定并重启IIS后退出IIS。
此时PHP环境基本已经配置成功
在WEB根目录(如我的D:\website)里建一个名为test.php的文件内容如下
<? echo phpinfo(); ?>
用浏览器打开 http://localhost/test.php
如果可以看到php配置输出信息就OK了
第二步:安装MySql
1、先安装mysql,双击执行 Setup.exe,点Next选择Custom(自定义)安装,然后点Next(下一步),默认安装目录为 C:\Program Files\MySQL\MySQL Server 5.0\ 为了方便进入我们可以安装在D盘根目录下,点Change(改变目录)按钮来更改安装目录为D:\mysql。完成后出现创建 MySQL.com 帐号的界面,简单一点,我们选择Skip Sign-Up跳过这一步,既安装完成。这里有个配置向导的选项Configure the MySQL Server now默认的是选起的,我们就顺便完成配置吧。
这里的配置是很简单的,我们只要点Next(下一步)即可,有几个地方要说明:Install As Windows Service默认的是选中的,这一选项要选上,作用是将MySQL作为Windows的服务运行。Service Name(服务名)默认的“MySQL”,可以改你喜欢的服务名。下面的Launch the MySQL Server automatically要勾选,这样Windows启动时,MySQL就会自动启动服务。Include Bin Directory in Windows PATH这一选项是修改环境变量,在PATH的值中增加../bin目录,可以根据怎么的爱好来决定是否选上,如果选上,在CMD下不需要进入bin目录就可以运行mysql。在Manual Selected Default Character Set / Collation 下 Character Set: 选择 gbk 或 gb2312,接着点下一步,Modify Security Settings是设置根帐号的密码,设置后点下一步,excute完成安装。
如果是zip文件,用解压缩软件将压缩包直接解压到指定目录,如 D:\mysql;
2、安装完成后,打开“开始”按钮中的“运行”,输入命令:D:\mysql\bin\mysqld-nt.exe --install,并执行;
3、打开“开始”按钮下的“程序”=》“管理工具”=》“服务”,找到“mysql”服务,启动它;
4、至此,mysql安装完成,重启win2003 server。您还可以打开D:\mysql\bin\MySQLInstanceConfig.exe,再次配置MySQL,在Manual Selected Default Character Set / Collation 下 Character Set: 选择 gbk 或 gb2312(我选择的是 gbk ),后面还会要求输入 root 登录密码(如:123456)。
至此,mysql安装完成。
第三步:PHPMyAdmin 的安装配置
1、将phpMyAdmin-2.9.1.zip解压到WEB根目录(d:\website\中去),重命名文件夹为myadmin或其它
打开myadmin 目录中的 config.sample.inc.php
找到以下这些(以下我已改好):
$cfg['blowfish_secret'] = 'cookie'; //在等号后的单引号内加入 cookie
$cfg['Servers'][$i]['controluser'] = 'root'; //将 pmausr 改为 root
$cfg['Servers'][$i]['controlpass'] = '123456'; //分别填上你mysql的用户和密码即可
改好了保存并将config.sample.inc.php改为config.inc.php,在浏览器打开http://localhost/myadmin 输入你的用户名和密码,便可以管理mysql了。
如果以上都正常的话,开始建网站吧 ^-^
其实,在服务器的安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事。
本文更侧重于防止ASP漏洞攻击,所以服务器防黑等方面的讲解可能略嫌少了点。
基本的服务器安全设置 安装补丁安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows Update,安装所有的关键更新。
安装杀毒软件虽然杀毒软件有时候不能解决问题,但是杀毒软件避免了很多问题。我一直在用诺顿2004,据说2005可以杀木马,不过我没试过。还有人用瑞星,瑞星是确定可以杀木马的。更多的人说卡巴司机好,不过我没用过。
不要指望杀毒软件杀掉所有的木马,因为ASP木马的特征是可以通过一定手段来避开杀毒软件的查杀。
设置端口保护和防火墙、删除默认共享都是服务器防黑的措施,即使你的服务器上没有IIS,这些安全措施都最好做上。这是阿江的盲区,大概知道屏蔽端口用本地安全策略,不过这方面的东西网上攻略很多,大家可以擞出来看看,晚些时候我或者会复制一些到我的网站上。
权限设置阿江感觉这是防止ASP漏洞攻击的关键所在,优秀的权限设置可以将危害减少在一个IIS站点甚至一个虚拟目录里。我这里讲一下原理和设置思路,聪明的朋友应该看完这个就能解决问题了。
权限设置的原理- WINDOWS用户,在WINNT系统中大多数时候把权限按用户(組)来划分。在【开始→程序→管理工具→计算机管理→本地用户和组】管理系统用户和用户组。
- NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限。【文件(夹)上右键→属性→安全】在这里管理NTFS文件(夹)权限。
- IIS匿名用户,每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫“IIS匿名用户”),当用户访问你的网站的.ASP文件的时候,这个.ASP文件所具有的权限,就是这个“IIS匿名用户”所具有的权限。
- 要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。
- 在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。
- 设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。
这样设置了之后,这个站点里的ASP程序就只有当前这个文件夹的权限了,从探针上看,所有的硬盘都是红叉叉。
我的设置方法我是先创建一个用户组,以后所有的站点的用户都建在这个組里,然后设置这个组在各个分区没有权限或者完全拒绝。然后再设置各个IIS用户在各在的文件夹里的权限。
因为比较多,所以我很不想写,其实知道了上面的原理,大多数人都应该懂了,除非不知道怎么添加系统用户和組,不知道怎么设置文件夹权限,不知道IIS站点属性在那里。真的有那样的人,你也不要着急,要沉住气慢慢来,具体的方法其实自己也能摸索出来的,我就是这样。当然,如果我有空,我会写我的具体设置方法,很傲能还会配上图片。
改名或卸载不安全组件 不安全组件不惊人我的在阿江探针1.9里加入了不安全组件检测功能(其实这是参考7i24的代码写的,只是把界面改的友好了一点,检测方法和他是基本一样的),这个功能让很多站长吃惊不小,因为他发现他的服务器支持很多不安全组件。
其实,只要做好了上面的权限设置,那么FSO、XML、strem都不再是不安全组件了,因为他们都没有跨出自己的文件夹或者站点的权限。那个欢乐时光更不用怕,有杀毒软件在还怕什么时光啊。
最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。
谨慎决定是否卸载一个组件组件是为了应用而出现的,而不是为了不安全而出现的,所有的组件都有它的用处,所以在卸载一个组件之前,你必须确认这个组件是你的网站程序不需要的,或者即使去掉也不关大体的。否则,你只能留着这个组件并在你的ASP程序本身上下工夫,防止别人进来,而不是防止别人进来后SHELL。
比如,FSO和XML是非常常用的组件之一,很多程序会用到他们。WSH组件会被一部分主机管理程序用到,也有的打包程序也会用到。
卸载最不安全的组件最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:\WINDOWS\ )
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。
改名不安全组件需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shell.application为例来介绍方法。
打开注册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。为了确保万无一失,把这两个注册表项导出来,保存为 .reg 文件。
比如我们想做这样的更改
13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001
Shell.application 改名为 Shell.application_ajiang
那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。
下面是我修改后的代码(两个文件我合到一起了):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}]
@="Shell Automation Service"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32]
@="C:\\WINNT\\system32\\shell32.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID]
@="Shell.Application_ajiang.1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib]
@="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version]
@="1.1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID]
@="Shell.Application_ajiang"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang]
@="Shell Automation Service"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang\CLSID]
@="{13709620-C279-11CE-A49E-444553540001}"
[HKEY_CLASSES_ROOT\Shell.Application_ajiang\CurVer]
@="Shell.Application_ajiang.1"
你可以把这个保存为一个.reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。
防止列出用户组和系统进程我在阿江ASP探针1.9中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来,方法是:
【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。
防止Serv-U权限提升其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。
用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。
另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。
利用ASP漏洞攻击的常见方法及防范一般情况下,黑客总是瞄准论坛等程序,因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具。
如果论坛管理员关闭了上传功能,则黑客会想办法获得超管密码,比如,如果你用动网论坛并且数据库忘记了改名,人家就可以直接下载你的数据库了,然后距离找到论坛管理员密码就不远了。
作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。另外就是防止攻击者使用一个被黑的网站来控制整个服务器,因为如果你的服务器上还为朋友开了站点,你可能无法确定你的朋友会把他上传的论坛做好安全设置。这就用到了前面所说的那一大堆东西,做了那些权限设置和防提升之后,黑客就算是进入了一个站点,也无法破坏这个网站以外的东西。
后记也许有安全高手或者破坏高手看了我的文章会嘲笑或者窃喜,但我想我的经验里毕竟还是存在很多正确的地方,有千千万万的比我知道的更少的人像我刚开始完全不懂的时候那样在渴求着这样一篇文章,所以我必须写,我不管别人怎么说我,我也不怕后世会有千千万万的人对我唾骂,我一个人承担下来,我也没有娘子需要交代的……
因为这其实只是抛砖引玉的做法,从别人的笑声中,我和我的读者们都可以学到更多有用的东西。
Cain是大家都熟悉的一款软件,具有arp欺骗加嗅探和密码破解的功能,这里提供一个最新版的下载地址:http://www.ncph.net/cain.exe,具体用法就不多讲了,相信大家都会用这个。本来cain就自带了嗅探终端(3389)密码的功能,但没有听用过,以前我也没有用过这个功能,但一次无意间使用嗅探时开了嗅探3389的功能,最后其它的什么都没有嗅探到,去嗅探到了一个RDP值,打开一分析,原来3389的密码就在其中。
很多朋友看了我的blog中的那个网站的渗透,都问我怎么嗅探到3389密码的,所以我打算把这个写出来共享给大家,转载请注明。
这里给大家做一个图文教程:首先安装cain.exe,默认安装就ok.
1.打开sniffer页面:
2.打开端口配置,设置嗅探3389端口:
3.点击嗅探和右击扫描mac:
4.打开arp页面,单击“+”号,打开欺骗设置:
5.左边选网关,右边选欺骗的ip:
6.点击欺骗按钮开始欺骗:
7.显示欺骗到一条数据:
8.选择arp-rdp,在右边栏中右击数据:
9.右击后打开的文档:
10:在文档中找到3389的管理员登录用户名和密码:
以上在外网和内网中测试通过,可以准确地抓到管理员密码,但必须是管理员登录成功后才能抓到,其实cain利用了arp欺骗截取数据传输封包,并且能破解3389的加密协议,软件不错