合租服务器大解密

0

分类 : 业界动态 | 发表时间 15-06-2006

作者:aileenguan
来源:绿光互联(http://www.phpidc.net)

搞合租也算是有些时间了,经历了一些,也有一些经验和感触,愿意拿出来跟朋友们分享。请注意,在这里,只是用经验,用事实,用监测说话,而且是在大量机器基础上得出的结论。

1.首先要解释一个带宽的问题。
有人号称服务器100Mb带宽,却不肯提共享两个字。事实上,独占一条100Mb带宽每个月的费用都得在千元左右,这样,仅仅是带宽一年都得上万的费用。所以一般的IDC是不会让你独占这个带宽,正常来讲,这个100M带宽要分配给15台左右的机器,黑心的服务器商可能分配给更多的机器。而且,一般会给每一个机器设置带宽上限为10M上下。所以,记住,不会有100M独占的机器给你用,所谓的100M基本都是共享,分配到一个服务器上的也就是10M上下

这里不得不提到一个带宽单位的问题,要注意KB不等于Kb MB也不等于Mb B代表着byte,而b则是bit 1B=8b 所以由此类推,其实10Mb的带宽在你机器上的理论上的速度上限只有1.25MB 而事实上,除去部分头文件信息,这个数量就更少了。

那么,有人会提出疑问了,这样一个带宽,让服务器上那么多的用户使用,够吗?答案是肯定的,只要你不提供下载,就web访问而言,这是很足够了。本人现在几台服务器上均安装了iis流量的监测工具,虽然小有限制,但是在访问量高的时候,同时的带宽也就能限制在1MB/s左右。带宽是够的。

2.内存的问题
应该说参与合租的站点都不会太大,因为本人是在PHPWind论坛基础上号召起来的,所以参与的用户多数都是要自己做论坛的,一开始,考虑的配置是P4 3.0 (64位) 1G DDR400内存,这样子。但是很快发现,就算按照原本的20个人的用户,这个内存也很快被耗尽,此前就听人说论坛是资源大户,就现在来看,mysql吃内存太厉害,在2003+IIS6+Mysql平台上,常常mysql就要占去服务器高达四五百兆的内存,这就占用了服务器物理内存的50%。再加上iis占用,还有其他一些服务,基本上内存很容易告罄。所以后来的机器,内存只好自己掏钱一律扩容了,因为没有办法。我觉得最佳的配置应该是2G内存,1G是绝对不够的。再多无益,服务器的资源这样搭配是比较好的。

3.CPU的问题
与内存持续走高正好相反的是,对iis的应用程序池适当限制,可以控制CPU即使在峰值的时候也不会太高,现在当前时间是19:47 算是访问量开始变高的时候,我监测几台服务器的CPU使用率,均在40%徘徊。如果访问量在大一点,也就百分之六七十。曾经有一个自认为资深的朋友对这个服务器配置嗤之以鼻,认为根本不能用。但是他却忽略了两点:第一、倘若流量达到一定程度,是没有必要还跟人合租服务器的。其二、服务器的配置如果提高,相应的租赁的用户所要承担的费用则也要提高。但是不得不说的是,在这个配置的CPU,在备份mysql数据的时候,常常要占用相当高的CPU,我曾经在自己的机器上备份mysql数据,如果数据量过大,我个人的机器都几乎处于当机状态。(个人电脑P4 2.4G 1G内存)。所以,必须承认,这个配置的服务器,在论坛数据备份的时候,常常会出现问题。解决的办法就是用单独的应用程序池来做一个phpmyadmin站点,不限CPU使用,来解决问题。好在其一,倘若你的论坛数据库好几百兆,而你又是合租服务器,那么你没有必要天天去备份,如果那样,两三天之后,你的服务器空间就让备份文件占据完了。

4.服务器对用户流量等限制的问题
开始的时候,也想让大家用的爽,用得自在,所以也不愿意做任何限制,不限制iis,不限制cpu,不限之内存等等,但是后来才发现,就好像这个天底下的任何地方一样,不自觉的人总是太多,而且有的人程序出问题之后可能影响到其他人。所以到最后只是得到一个这样的结论对服务器不做任何限制是一个天大的谎言,那是不可能的。所以最理想的方法是建立独立的应用程序池,然后每一个用户占用一个应用程序池,在进行对CPU份额、内存使用、带宽占用的限制。服务器上20个用户,我一般限制每一个人最高8%的CPU,如果你去计算8%*20=160%,那无疑你是愚蠢的。一个服务器上的站点总是有大有小,而且,也基本不可能在同一瞬间都达到各自的峰值。所以有些小用户可能cpu永远也就1% 2%

5.服务器空间的小,5G = 10G = 20G
空间大可以说是合租服务器最大的亮点,但事实上,这个亮点也有值得商榷的地方,标榜的网络空间大也是服务器合租最大的幌子。常常有人问我单租不单租1G的空间。我都是一口拒绝,其实,磁盘空间只是一个幌子而已,因为可以说没有几个人用得了那么大的空间,给你1G的空间,但是你的cpu和内存份额仍然是一样,这有什么意义呢?其实可以说你跟5G的用户享受了一样的待遇。真正决定服务器合租价格的是分配给你的CPU和内存,而不是空间大小 所以如果你问我1G怎么卖,我会告诉你 Never. 但是如果你说空间可以不可以多给你几G,我会告诉你,No problem. 同样的CPU,同样的内存,如果我要1G单卖,1G300吧。但是我已知的成本固定,那么这就意味着我需要更多的用户才能拿回成本,那么,是否意味着你所使用的CPU份额就要更低呢?可以说零售小额空间,是某种程度上对合租用户权益的侵害。

6.电信网通双线以及相关问题
很多用户希望有一个双线机房,这样就能保证南北方访问的速度都很快,众所周知,当今中国ISP天下,南方电信北方网通,间或又有移动、铁通等也能够提供ISP接入服务。网络之间的互访互连速度慢,这是举国尽知的事实。如果是电信机房,是不敢打包票说网通的用户访问也能够如同电信用户一样快的,而作为网通机房,电信的用户去访问,那速度也是要比网通自己的用户去访问打一个折扣。应该说对于相关业务的具体内涵,本人也就是略知一二,曾和一个专门搞IDC的朋友谈,说及双线机房,他告诉我:双线机房都是个人搞的小机房,真正的骨干级机房,是不可能搞双线的,如果那样,还存在什么互联互通的问题?思索一二,也觉得有些道理。然后便访网上的主流IDC,确实难觅双线机房的踪迹。

7.合租服务器价格
一台普通的服务器租赁的一年的费用一般在1万元左右,便宜的可能在八九千,再低我就要对他的服务质量——譬如机器的性能,网络服务的质量产生怀疑了。因为这个价格是很容易计算出来的。服务器托管一年的费用一般在四千左右,如果一台机器一年送产权,莫非一台机器只价值2000元?一个P4 3.0 64位CPU的价钱大家都可以查得到。一般来说都是第二年送产权。很多合租者所看重的则是这个产权。而用户则是看中的便宜,空间大。组织有信誉的、值得信赖的合租,双方受益,反之则都彼此头疼不已。想要让服务器稳定的运行,并不是一件太简单的事情,经验的积累和自身的技术同样重要,两者不可或缺。

山穷水尽的突破

0

分类 : 技术文摘 | 发表时间 03-01-2006

资料来源:网络收集 原始作者:剑心 x-safe


以前的黑x中有对Php的注射的很多介绍,我等菜鸟也很是心痒,于是趁着有点时间就想练习练习在黑x里学的一些东西。
目标当时是选很经典的Php下载系统夜猫了,因为我没有Php和Mysql的测试环境,只有选这个结构比较熟悉的系统了,呵呵^_^。在google里搜索/down/show.php?id=,有几个这样的系统,可是测试了很多,却少有可以union出预期的结果的,都是union到50多个字段都不出结果,应该是Mysql不支持union查询的结果。又不愿意去像access一样猜测管理员密码,理由很简单,有了强大的load_file函数为什么还有做这些无聊的事情呢?有了密码不一定知道后台,有了后台不一定有上传,有……郁闷,总之就是想找到一个支持union和load_file的系统好好看看,一睹传说中的php注入直接得到系统权限的强大威力。
呵呵,工夫不负有心人,还真让我找到了一个。直接在url的id后加’如图1。哈哈,知道了是windows主机,还有绝对路径,呵呵!再判断1=1与1=2返回的页面基本知道漏洞存在。可是不知道支不支持union啊,马上在后面依次递增提交and 1=2 union select到20的时候返回正常页面如图2。哈哈!高兴Ing!根据显示的字段显示,9那个地方是软件介 绍一定是字符的了,可以用load_file()替换了。由于已经知道这个下载系统的敏感文件globl.asp,config.inc.php,就分别读出来了。哈哈居然得到root的密码啊,如图3,顺利多了!还有默认的后台,可是表好象被改过了,不是默认的字段与表名了。可是我们有load_file()啊,读取那个/admin/user.php(就是得到的后台登陆),仔细观察几个读取数据的地方,果然有了表名和字段!马上union查询出用户密码登陆,如图4。后台有点简陋,根本没有上传的地方。可是没有关系,我们有root数据库密码啊!我有Root我怕谁?
初步成功,整理思路先(好象很简单啊,就是以前高手所做的简单重复嘛!但是……当然没这么简单了,不然也不会有这篇文章了)。有了Root等数据库密码,可以试试远程连接mysql,导出个webshell就不错了。也可以在浏览器提交,但是这里有个Php的设置问题,如果那个magic_qutoes_gpc=on为打开的话,浏览器提交给服务器的变量都会被处理的,备份webshell基本就不可能了(除非你浏览器里提交的路径不包含被过滤的字符,但好象是不可能的)。如果开了对管理员极为方便(当然也对我们)的Phpmyadmin,那也可以很简单的备份得到webshell!。
废话不说了,这么久还没有进行主机探测呢,现在该看看了。打开x-scan选择只扫开放服务,因为这些已经够了,不可能给你一些n年前的溢出吧,呵呵^_^。等了一会看结果,晕!只开了80,21端口。理想中的3306没有扫到,侥幸地telnet他的3306端口,(这台主机好象有措施防御扫描。)结果还是没有!郁闷!远程登陆不可能了!那就看看Php.ini的设置吧,猜测了几次Php.ini的位置,最后发现是c:\winnt\php.ini,转换下用load_file()读出来,果然是magic_qutoes_gpc=on如图5。那只有看看有没有Phpmyadmin了,于是找到他的ip,在后面加上Phpmyadmin/,这是Phpmyadmin的默认目录,但是,最后一丝希望也被毁灭了!果然不存在,返回404!
基本上的经典招式都用完了,我也晕了。我们注入只是得到了敏感的密码信息,一些敏感文件信息,主机已经屏蔽了3306端口,也不存在Phpmyadmin,没有办法数据库备份得到webshell了!菜鸟的入侵也已经山穷水尽。郁闷Ing!
中间就这样停了一段时间,甚至忘记了这次入侵。但是最近把以前的黑x拿出来温习,忽然看到紫幻大哥提到的关于serveru的远程管理缺陷。只要webshell读取ServUAdmin.ini加密密码就可以本地替换拿到serveru的远程管理权限。注意!是只要读到的权限就可以啊!想到什么没有,希望注入漏洞还在,哈哈,不用多说了,马上将C:\program files\Serv-U\ServUAdmin.ini转换成67,58,92,112,114,111,103,114,97,109,32,102,105,108,101,115,92,83,
101,114,118,45,85,92,83,101,114,118,85,65,100,109,105,110,46,105,110,105

放在load_file(char())函数里提交。可惜我们的运气不好啊,没有那个密码,不过注意到没有,我们本质上已经拿到了只读的系统权限的webshell啊!(嘿嘿,有点奇怪吧!)因为是mysql函数所以只有读取的权限,他读取时用的mysql服务的权限,当然是系统权限了!毫不犹豫,马上找其他的敏感信息存在的文件,读取C:\program files\Serv-U\ServUDaemon.ini得到了好多东西,如图6!有用户的敏感信息啊!得到了所有的用户名,我们可不可以根据已经得到的数据库的密码信息和后台密码等信息找个字典挂上去猜那个对网站目录有权限的www帐户的密码啊,猜到了不就可以上传php木马了。但是我没有,人家有防范的,我猜了一次就被封IP了^_^。不过这里有已经加密的密码,正好最近Hak_Ban给我了一个暴力server-u工具,只能猜数字密码,很快的哦~马上弄到肉鸡上跑密码!(尽管偶不喜欢暴力,但是运气好的话也很方便的,为什么不试试呢?)
暴力的同时我也没有闲着,马上用我们得到的另类只读webshell尽情的刺探系统!首先提交
view-source:http://www.asianheros.com/down/show.php?id=105%20and%201=2%20union

%20select%201,2,3,4,5,6,7,8,9,10,11,load_file(char(100,58,92,119,101,98,92,97,104,99,115,

92,100,111,119,110,92,115,104,111,119,46,112,104,112)),13,14,15,16,17,18,19,20
也就是load_file()读取他的d:\web\ahcs\down\show.php,得到了一些好东西ftp://ahgame:ahgam

edown@61.241.130.38:33333/”.$downurl;
ftp://ahlt:ahlt@61.241.130.38:33333/”.$downurl;
“update $down_table SET downnum=”.$downnum.” where id=$id”;
等其他重要的信息。哈哈~~不过还有其他的啊,譬如那个flashftp的sites.dat的文件,不过目录很复杂,一般管理员也不会在网站上上传东西,有耐心的话可以找找,这些有安全缺陷的配置文件本身就是很大的突破口,这里提出来的意思就是不要局限于固定的思维,黑客不能缺乏想象力(不是我说的!)。呵呵,现在既然玩就要玩大啊!
现在看看站点本身,偶不玩单纯的Php注入了!前阵子旁注很流行,那我们也可以用load_file()这样玩玩啊!先进行一下信息的刺探!拿出域名查询工具(当时的黑站必备工具啊),得到了一些主机的信息,比较关心的是他有几个站点在上边!如图7,嘿嘿,域名很少啊!估计是自己的主机!有3个站,其他的站点里面也许有比较有意思的东东哦。随便找个,呵呵,又是Php的,马上找个有参数传递的页面进去,哈哈,又有个类似的下载系统,/show.php?id=305后加’暴出了路径,以为可以像前面一样union然后暴出内容呢,结果发现版本太低不支持union,一台主机怎么会两种结果?以前这时候会很郁闷,但是现在没关系了!我们有”只读webshell”呢,读出来他的配置文件发现数据库果然不在一个机器上!得到的敏感信息:
$dbhost = “61.241.x.31″; // 数据库主机名
$dbuser = “mxhah”; // 数据库用户名
$dbpasswd = “07448″; // 数据库密码
$dbname = “down”; // 数据库名
现在不想连上去,网站还有几个其他的模块呢!于是跑去读了一些文件的原代码,屡试不爽啊!已经没有敏感信息瞒得住我们的眼睛,整个主机上的文件因为这
个注入点的存在而没有任何安全性可言了。如果是虚拟主机的话,不说大家也知道会怎么样了。
已经刺探出这么多的信息了,发现数据库密码等很有规律哦,有兴趣的可以社会工程学试下,serveru的密码暴力中,整个系统的缺陷也慢慢呈现,得到一个shell什么的不是问题了!由于只是学习,入侵到这里也该结束了,因为是个大型站点,给管理员发了个邮件提示了一下走人了。
这次实践没有什么技术可言,若给你一点思路这文章就有存在的价值了。有大哥说过黑客不能缺乏想象力,有什么问题欢迎来x论坛讨论。(Su-Crack.exe暴力工具网站上有收录。)

服务器完美设置方案

0

分类 : 技术文摘 | 发表时间 23-11-2005

服务器完美设置,支持asp php cgi jsp asp.net mysql!

  首先下载我们要用到的程序:

  php-4.3.0-installer下载地址: http://www.php.net/get/php-4.3.0-installer.exe/from/cn.php.net

  mysql下载地址: http://www.onlinedown.net/mysql.htm

  myodbc下载地址: http://www.onlinedown.net/myodbc.htm

  perl解析软件下载地址: http://www.onlinedown.net/activeperl.htm

  phpmyadmin下载地www.baidu.com搜索!很多的!我没有搜索!抱歉!

  CLR runtime下载地址:
  http://download.microsoft.com/download/.netframesdk/Redist/1.0/W98NT42KMeXP/EN-US/dotnetredist.exe

  NET framework SDK131M下载地址:
  http://download.microsoft.com/download/.netframesdk/SDK/1.0/W98NT42KMeXP/EN-US/setup.exe

  MDAC2.7下载地址:http://download.microsoft.com/download/dasdk/install/2.70/W98NT42KMe/en-us/mdac_typ.exe

  jdk到java.sun.com下载。

  tomcatwww.chinaz.com去下载

  第一步:支持asp
  win98要安装pws!但我们谈论的是如何使win2000支持!只要你在安装win2000的时候使用的是完全安装!那么iis就安装好了,有了iis就支持asp了!如果没有安装iis!那么请在控制面板里面点击”添加/删除程序”里面的”添加/删除组件”安装iis!

  第二步:支持php
  首先下载一个php解析软件!安装PHP。执行下载到硬盘里面的php-4.3.0-installer.exe 安装提示,我们回车就可以。选择PHP路径,没有太大的影响的话,一般不要更改(默认c:),填写邮件服务器,一般是LOCALHOST,还有发送的电子邮件信箱。要让你选择安装什么类型的服务器了,我们一般是iis,所以就选iis!安装完成之后会弹出2个提示,提示你看看说明,一般可以看看。(还可以安装php加速器,zend!安装ZendOptimizer,可以在ZEND官方站点上免费得到,下载完毕之后执行ZendOptimizer-2.0.0-Windows-i386.exe 安装目录,一般不改动。PHP类型,我们知道我们安装的是4.2.3版本,所以我们自己选择,然后提示输入php.ini目录,win2000存放在c:winnt里面。按照需要输入。找到了php.ini,确认安装就成功了)然后打开:开始-》程序-》管理工具-》internet服务管理器-》默认网站-右键-》属性-》主目录-》把执行许可改成脚本和可执行程序-》配置-》添加,在可执行程序里面输入”c:phpphp.exe %s %s”在扩展名里面写入.php,应用!确定!
  在isapi里面添加:筛选器名称:php 筛选器c:perlphp4ts.dll 应用!确定!
  现在支持php了!!!!!!!!!!!!!!!!!

  第三步:支持cgi:
  下载完成后运行!选择安装路径:我们一般安装在c:perl!注意安装雷傲论坛时perl一定要
  安装在c:!!!!!!以后一直点击下一步!直到安装完成!然后打开:开始-》程序-》管理工具-》internet服务管理器-》默认网站-右键-》属性-》主目录-》把执行许可改成脚本和可执行程序-》配置-》添加,在可执行程序里面输入”c:perlinperl.exe %s %s”在扩展名里面写入.cgi
  再次添加:”c:perlinperl.exe %s %s”在扩展名里面写入.pl
  再次添加”c:perlinperl.exe %s %s”在扩展名里面写入.plx
  应用!确定!
  在isapi里面添加:筛选器名称:cgi筛选器c:perlinperlis.dll 应用!确定!
  现在支持cgi了!!!!!!哈哈!,可以装雷傲论坛了啊!!!!!!

第四步:支持asp.net(aspx):
  ASP.NET 是ASP3.0的下一代版本(先前稱之為ASP+)
  但是與前幾代差別相當大
  首先您必須下載安裝.NET framework 的執行環境.目前正式版1.0已經發行
  下载地址:
  CLR runtime (英文版) 20.4M
  http://download.microsoft.com/download/.netframesdk/Redist/1.0/W98NT42KMeXP/EN-US/dotnetredist.exe
  或 .NET framework SDK (英文版) 131M
  http://download.microsoft.com/download/.netframesdk/SDK/1.0/W98NT42KMeXP/EN-US/setup.exe (最好下载这个)
  除此之外您还必须下载MDAC2.7(如果要连接资料库)(中文版)
  http://download.microsoft.com/download/dasdk/install/2.70/W98NT42KMe/en-us/mdac_typ.exe (先安装这个才安装.net framework sdk)
  操作系统最好为win2000及以上
  详情请参阅:
  http://www.microsoft.com/data/
  http://msdn.microsoft.com/netframework/
  http://msdn.microsoft.com/downloads/default.asp
  直接安装完成就可以了!!!now!你的服务器支持aspx了哦!

  第五步:支持mysql:
  运行mysql安装程序!完成!在开始运行里面输入:cmd 出现dos系统:依次输入
  cd..,
  cd..,
  cd mysql,
  cd bin,
  mysqld-nt.exe –install,
  winmysqladmin.exe
  提示输入管理员用户和密码,输入后确定!输入的用户名和密码是以后管理mysql的账号!还可以安装mysql驱动程序myodbc,下载后直接安装!不要改变路径!安装完全!
  可以用phpmyadmin管理!(在网页上管理!)phpmyadmin放在你的网站目录下,访问的时候用http://*.*.*.*/phpmyadmin访问,可以建立账号和数据库!到此支持mysql数据库了。

  第六步:jsp环境的安装:
  1.下载jdk1.3和tomcat;
  2.安装jdk1.3和解压tomcat到c:盘根目录下;
  3.进入tomcat的目录里,找到startup.bat文件,打开编辑。
  在行call tomcat start的前面加上两行:
  SET TOMCAT_HOME=c: omcat 和 SET JAVA_HOME=c:jdk1.3
  注:c:jdk1.3是jdk1.3安装的位置。
  4.然后鼠标右键点击”我的电脑”,选择属性。在系统属性中打开高级选项,点击”环境变量
  ”,在”用户变量”和”系统变量”中都加入两个变量classpath和path,它们的值是:class
  path的值c:jdk1.3in ools.jar;C:jdk1.3libdt.jar
  path的值为 c:jdk1.3in;c:jdk1.3
  5.运行tomcat服务器(即startup.bat文件),假如有个dos窗口停留着没关闭,并有一些运行成功tomcat和初始化信息,证明tomcat运行成功。
  6.ie地址栏中输入127.0.0.1:8080,假如成功的话,就会出现tomcat的欢迎画面,上面有一些jsp和servlet的例子,至此jsp环境搭建完成!

  一般情况下任何一台主机支持的服务器语言越多,使用出现的问题也就越多。

phpMyAdmin (安装及配置)

0

分类 : 技术文摘 | 发表时间 12-11-2005

前言
  phpMyAdmin可以管理整个MySQL服务器(需要超级用户),也可以管理单个数据库。为了实现后一种,你
将需要合理设置MySQL用户,他只能对允许的数据库进行读/写。那要等到你看过MySQL手册中相关的部分。

快速安装

将phpMyAdmin软件包解到一个目录下。
打开config.inc.php3,根据你的环境,修改$cfgServers[1]['host'],$cfgServers[1]['user']和
$cfgServers[1]['password']的值。可以看一下下面的配置部分所列出的所有可配置的变量,根据情
况对其它参数进行修改。
建议在安装完phpMyAdmin之后,对其目录进行保护(除非在一个企业内部网上)。例如,可以使用HTTP-AUTH(用一个.htaccess文件)。
在浏览器中打开文件:安装主机域名/安装目录/index.php3。phpMyAdmin应该显示一个欢迎屏和你的数
据库。
phpMyAdmin支持多语言。如果要改成中文版本,则修改config.inc.php3中的require(“english.inc.php3″);为require(“chinese_gb.inc.php3″)。这样界面就是中文的了。好棒噢!
保存config.inc.php3。
安装注意
请确认保护了phpMyAdmin目录。缺省是没有任何保护的!它不应该被随便一个人特别是搜索引擎读到。
尽管我在每一页中都加了一个”nofollow”指令,也可能有的搜索引擎不考虑仍然继续访问页面的链接。
想象一下AltaVista访问了一个名叫”Drop Dtabase”的链接会怎么样吧。你可以
在http://www.apacheweek.com/features/userauth对Apache的认证方法有一个全面了解。另一个教程
在http://deepthought.texsci.edu/protected_dirs.html
PHP3应该被配置为magic_quotes=on。
配置
  所有可配置数据都放在config.inc.php3中。

$cfgServers 数组
  从1.4.2版本开始,phpMyAdmin支持对多个MySQL-server的管理。所以,增加了$cfgServers数组来存放
不同服务器的登录信息。$cfgServers[1]['host']包含了第一个服务器的主机名,$cfgServers[2]['host']
为第二个服务器的主机等,等等。如果你只有一个服务器要管理,可以简单地不去理会其它$cfgServers入
口的主机名。

$cfgServers[n]['port'] 字符串
  第n个MySQL服务器的端口号。缺省值为3300(保留空值)。

$cfgServers[n]['host'] 字符串
  第n个MySQL服务器的主机名。例如,localhost。

$cfgServers[n]['adv_auth'] 布尔值
  对这个服务器应该使用基本或是高级认证方式。基本认证方式($adv_auth = false)是普通的老的作法:
用户名和口令被存在config.inc.php3中。高级认证方式($adv_auth = true)从1.3.0版开始引入,允许你通
过HTTP-Auth来作为合法的MySQL的用户进行登录。在config.inc中你只需要提供一个标准用户,他能够连接
到MySQL上并且可以读出mysql库的user/db表(看$cfgServers[n]['stduser'])。

推荐使用高级方式管理的场合:

当phpMyAdmin运行在多用户环境下,人们拥有shell处理权限时,你不想知道MySQL的用户名/口令。
当你想让用户存取他们自已的数据库,并且不想他们干扰其他人。
  高级认证方式是安全的,因为标准用户只需要对mysql库的只读权限。MySQL口令不能被容易的破解,所
以对于一个普通用户没有机会看到其它用户的明文口令。

$cfgServers[n]['user'] 字符串
$cfgServers[n]['password'] 字符串
  当使用基本认证方式时,phpMyAdmin将使用用户名/口令对同这个MySQL服务器连接。当使用高级认证方
式时则不需要。

$cfgServers[n]['stduser'] 字符串
$cfgServers[n]['stdpass'] 字符串
  当使用高级认证方式时,用户名/口令对被用于校验真正的用户名/口令对。这个用户必须能够连接MySQL,
而且可以读取mysql库的user表。当使用基本认证方式时则不需要。

$cfgServers[n]['only_db'] 字符串
  如果设置了一个数据库名,只有这个数据库将显示给用户。

$cfgServers[n]['verbose'] 字符串
  只有在多服务器入口时使用phpMyAdmin才有用。如果设置了,这个字符串将被显示出来,用来代替在主页面中的下接菜单中的主机名。例如,如果你想在系统只显示某些数据库,这个可能就有用了。


$cfgManualBase 字符串
  如果设为一个URL(它指向MySQL文档),就会创建相应的帮助链接。


$cfgPersistentConnections 布尔值
  是否使用持续连接(mysql_connect或mysql_pconnect)。

$cfgConfirm 布尔值
  当你将要丢失数据时是否应该显示一个警告信息(“你真的确定要…”)。

$cfgMaxRows 整数
  当浏览一个结果集时显示的记录数。如果结果集包含了更多的数据,将显示前页/后页的链接。

$cfgMaxInputsize 整数
  当向一个表增加一条新的记录时,编辑字段的大小。

$cfgBorder 整数
  表格边界的大小。

$cfgThBgcolor 字符串 [HTML 颜色]
  用在表头的颜色。

$cfgBgcolorOne 字符串 [HTML 颜色]
  表格行第一行的颜色。

$cfgBgcolorTwo 字符串 [HTML 颜色]
  表格行第二行的颜色。

$cfgOrder 字符串 ["DESC"|"ASC"]
  定义了当你点击字段名时,字段是以升序(“ASC”)显示还是以降序(“DESC”)显示。

$cfgShowBlob 布尔值
  定义了当浏览一个表的内容时,是否显示BLOB字段。

$cfgShowSQL 布尔值
  定义了是否显示phpMyAdmin所生成的sql查询语句。

$cfgColumnTypes 数组
  MySQL列的所有可能的类型。大多数情况下你不需要编辑它。

$cfgFunctions 数组
  MySQL支持函数的列表。大多数情况下你不需要编辑它。

$cfgAttributeTypes 数组
  字段可能的属性。大多数情况下你不需要编辑它。

FAQ – 常见问题
我不能向表中插入新记录 — MySQL返回一个SQL错误。

  仔细检查SQL错误。我发现很多的程序员使用了错误的字段类型。普通的错误包括:

使用VARCHAR没有指定大小
使用TEXT或BLOB指定了大小
  另外,查看一下MySQL手册中的语法章节以确认你的语法是正确的。

phpMyAdmin不能连接MySQL。出了什么错?

   或者是PHP安装的问题或者是你的用户名/口令错了。试着编一个小的用了mysql_connect的脚本,看一
下是否它能工作。如果不能,那就可能是还没有在PHP中将MySQL的编译进去。

我不能编辑表的内容,尽管README中说这是phpMyAdmin的一个特色。


  phpMyAdmin只允许编辑拥有主键或唯一键值的表的内容。

当使用高级认证管理时,phpMyAdmin总是给出”处理禁止(Access denied)”。

发生可能有几种原因:

$stduser/$stdpassword不正确。试着关掉$adv_auth,然后使用这个用户名及口令来连接MySQL。
在登录对话框中指定的用户名/口令是错的。试着用上面同样的方法看一下是否可以工作。
你已经给phpMyAdmin安装目录建立了安全机制,例如,.htaccess文件。这个可能干扰phpMyAdmin的认
证管理,那么把它删除。
我想对phpMyAdmin的开发提供帮助。我应该如何进行?

下面的方法对于新的开发者来说是首选的:

取出在匿名CVS上的当前的CVS:
cvs -d :pserver:anon@www.htmlwizard.net:/usr/local/cvsroot login
[Password: phpMyAdmin]
cvs -d :pserver:anon@www.htmlwizard.net:/usr/local/cvsroot checkout phpMyAdmin
[这样将创建一个名为phpMyAdmin
的新的子目录]
加入你的东西
将修改的文件发给我(tar格式或gzip格式) 对CVS树的写权限只授权给有经验的已经对phpMyAdmin作出
了贡献的开发者。

另外看一下DEVELOPERS文件。
有什么好的方法可以让phpMyAdmin更安全对付恶意的攻击?

  这要看你的系统了。如果你正在运行一个无法被其它人使用的服务器,使用web服务器的目录保护绑定
就已经足够了(例如,对于Apache你可以使用.htaccess文件)。如果其它的人可以通过telnet存取你的服务
器,将MySQL口令以明文形式保存在你的config.inc.php3 文件中就不是一个好方法了。在这种情况下你应
该使用phpMyAdmin的高级认证方式功能。

如何才能向我的表中插入一个null值呢?

  输入”null”(没有引号)作为字段的的值。这个对于时间戳或自动增加字段特别有用。

我是一个ISP供应商。我可以安装一个主控的phpMyAdmin拷贝吗?或需要为每一个客户都安装一个?

   从2.0.3版本开始,你可以安装一个主控的phpMyAdmin拷贝为你的所有的用户。这个特性的开发是由
NetCologne GmbH倡议的。这样就要求合理地设置MySQL用户,并且设置phpMyAdmin的高级认证方式。当认证
一个用户时,phpMyAdmin执行这些步骤:

从mysql.user表中选出所有用户名/口令与申请用户相匹配的记录。如果没有记录被返回,认证失败。
否则,phpMyAdmin继续第2步。
如果用户的global Select_Priv是”N”(也就是用户不允许存取所有的数据库),phpMyAdmin搜索mysql.db
表,查找对于这个用户的Select_Priv=”Y”的记录。如果没有记录被找到,认证失败。否则,phpMyAdmin
显示所有允许用户查看的数据库。
如果用户的global Select_Priv是”Y”,系统中所有的数据库都显示出来。

  这就意味着你需要向mysql库中如下增加用户:

INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES (‘localhost’, ‘foo’, PASSWORD(‘bar’), ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’, ‘N’)
INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES (‘localhost’, ‘foo_db’, ‘foo’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ”, ”, ”, ”)

  那样,对于用户foo,只有”foo_db”库将被显示出来。

phpMyAdmin主页:http://www.htmlwizard.net/phpMyAdmin/

半小时构建稳定高速的PHPMYSQL服务器EasyPHP

0

分类 : 技术文摘 | 发表时间 23-10-2005

目前Apache的市场占有率已经远远超过IIS等服务器软件
它的高速稳定,免费开放也是其他同类软件无法比拟的,
加上它的完美搭档MYSQL,不让它红也难.
但你要是以为本文要写Apache的安装之类的那就错了
因为有个软件可以让Apache+MYSQL麻烦的安装设置,变的相当轻松.
今天的主角是EasyPHP
虽然现在市面上同类的整合软件包很多,但大多是简单的捆绑了Apache+MYSQL的Pack,而不像EasyPHP是个彻彻底底的Program.
通过简单的整合后的Apache和MySQL明显苗条了许多,运行速度相对单独安装的Apache和MySQL快了7%~15%,而且EasyPHP可以方便的开始/停止,设置httpd.conf,my.ini,PHP Extensions;扩展Apache功能如添加ASP支持等等;虽然是整合的软件但EasyPHP的功能和单独安装的Apache+Mysql并不逊色……
更重要的是EasyPHP是免费的.
——————————-软件功能————————————————–
1.整合安装Apache 1.3.27 – php 4.3.3 – MySQL 4.0.15 – phpmyadmin 2.5.3.
2.网页即时添加Alias文件夹(可以是你计算机上任何文件夹,甚至是网上的资源)
3.快速设置httpd.conf,my.ini,PHP Extensions
——————————安装,设置攻略————————————————–

1.在http://www.easyphp.org下载EasyPHP1.7.0版
软件大小:10.8M
软件类型:GPN免费软件但版权保护
应用平台:Win9x/NT/2000/XP/2003

2.在http://www.oyido.com.ru/bak/easyhh.rar下载我做的汉化包
软件大小:65.3K

3.运行下载到的EasyPHP安装文件easyphp1-7_setup.exe,有些界面是法语的
因为这个软件是三个法国人写的.
点是,
然后Next这个界面是法文的大意是备份原来的MYSQL设置文件my.ini,并用新的设置文件代替.
Next,这个是GPL(自由软件条款),选中I accept the agreement,
Next,显示的是EasyPHP的软件功能,
Next,选择安装路径,例如D:servEasyPHP,那么你的网页根目录在D:servEasyPHPwww,当然这个文件夹可以通过Apache的httpd.conf修改为其他路径.
Next,开始菜单名称,
Next,确认信息,
Install,等待安装完成.
这个是PHP.ini的全局函数设置说明,
注意:EasyPHP的php.ini是在Apache的根目录下而非Widows文件夹中!!
Next,是否察看说明文件(法文的),
Finish.

4.将我做的汉化包easyhh.rar中的文件解压到EasyPHP的主目录
替代原文件既可。
注意:安装汉化包必须在关闭EasyPHP的情况下进行.

5.运行EasyPHP.exe

6.右击系统托盘中的那个黑色的E,设置,Apache,
查找ServerName将localhost修改为你的域名.

(这时的MYSQL的Root用户密码是空的通过下面方法修改密码)

7.在http://127.0.0.1/mysql/index.php中点右边的Privileges在User overview 下面点root旁的Edit
在 Change password选择 Password:输入密码 Re-type:确认密码点Go

(由于EasyPHP默认的设置无法使用Discuz2.X/3.X/4.x请按下列步骤修改Php.ini)

8.在EasyPHP的目录下找到Apache文件夹找到php.ini,用记事本编辑它,查找magic_quotes_gpc设置为On,如果需要安装Zend加速器,然后将下列代码复制到
;/PHPExt下面

Code:
[Zend]
zend_optimizer.optimization_level=15
zend_extension_ts=”Zend的安装路径libZendExtensionManager.dll”
zend_extension_manager.optimizer_ts=”Zend的安装路径libOptimizer-2.5.5″
[Ctrl+A Select All]

9.在IE中输入http://127.0.0.1/home/点击ajouter添加别名(也可以直接输入http://127.0.0.1/home/index.php?to=add_alias_1)
saisir un nom pour l’alias (ex.: site1)
在此输入别名如:music
saisir le chemin du répertoire créé (ex.: C:weblocalsitessite1)
别名指向地址,如:D:music
paramètres par défaut du répertoire
设置浏览权限
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow
Allow from all
OK
不用重启服务器
在浏览器中输入Http://你的地址/music就可以看到你的D盘里的Music文件夹中的内容.

10.在IE中输入http://127.0.0.1/home/phpinfo.php参看PHP属性

Apache+php+mysql+phpmyadmin+j2sdk+tomcat整合方法

0

分类 : 技术文摘 | 发表时间 03-09-2005

Windows 2003平台下Apache2.0.49+PHP4.3.6+MySQL4.0.18+PhpMyadmin2.5.6+JK2.0.4+J2S
DK1.4.2_4+Tomcat5.0.19完全整合方法
flyfox

首先从internet上下载以上所有软件包
以下是下载地址:
Apache http://httpd.apache.org/

PHP:http://www.php.net/

MySQL:http://dev.mysql.com/downloads/

PhpMyadmin:http://sourceforge.net/projects/phpmyadmin/

J2SDK:http://java.sun.com/j2ee/download.html

Tomcat:http://apache.linuxforum.net/dist/jakarta/tomcat-5/

JK2:http://apache.linuxforum.net/dis … ctors/jk2/binaries/

注意以上软件包,如果有的选择的应该选用windows平台下的。

安装和配置步骤:
1. 先装Apache,按缺省安装即可(假设安装到D:\Aache2),测试方法在浏览器中输入
2. 解开PHP zip包至D:\PHP,然后将该目录下的php.ini-dist 拷贝到系统%WINDOWS%(一般是C:\windows)目录,然后改名为php.ini,编辑该文件,搜索”doc_root”,将该行改成: doc_root = “d:\webroot” ; 搜索”extension_dir”将该行改成:
extension_dir = “d:\php” (假设PHP安装目录为D:\PHP,假设web文档放在D:\webroot)
将D:\PHP下的php4ts.dll和D:\php\sapi\下的php4apache2.dll拷贝到系统%SYSTEMROOT%\System32目录下
(一般是C:\windows\system32),为了保险起见,可以将D:\php\sapi\和D:\php\dlls\
目录下的所有文件都拷贝到%SYSTEMROOT%\System32目录下。
3. 编辑设置D:\Apache2\conf\httpd.conf文件(编辑前关掉Apache服务),加入以下几行:
###Add surport to PHP script document
LoadModule php4_module D:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php .php3
找到AddDefaultCharset ISO-8859-1这行,在前面加个#号注释掉。然后在下边添加
AddDefaultCharset GB2312
DefaultLanguage GB2312
AddLanguage zh-cn .cn
这是设置APACHE2对中文支持。
4. 安装MySQL,按缺省安装即可,假设安装在D:\MySQL下,运行D:\mysql\bin\winmysqlad
min.exe,会在系统 %WINDOWS%目录下生成my.ini,检查C:\windows目录下是否存在该文件,如果不存在创建并编辑成如下样子:

#This File was made using the WinMySQLAdmin 1.4 Tool
#2003-12-15 17:53:46
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=D:/mysql
#bind-address=10.10.10.10
datadir=D:/mysql/data
#language=D:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLAdmin]
Server=D:/mysql/bin/mysqld-nt.exe
5. 解压缩PhpMyadmin软件包至D:/webroot/phpmyadmin,编辑D:\Apache2\conf\httpd.conf文件(编辑前关掉Apache服务),
在文件最后加上几行:
NameVirtualHost 127.0.0.1

DocumentRoot “d:/webroot/phpMyAdmin”

Options ExecCGI
Order allow,deny
Allow from All

DirectoryIndex index.php index.php3 index.htm index.html

6. 重新开启Apache服务,现在在浏览器输入http://127.0.0.1,此时应该进入了PhpMyadmin管理界面,选择Language为
Chinese Simplified (zh),点击进入“权限”设置,将用户“任意,%,否,ALL
PRIVILEGES ”用户删除,给两个root用户设置密码。
7. 然后编辑D:\Webroot\phpMyAdmin\config.inc.php,搜索”cfg['PmaAbsoluteUri']“,
将其修改成: cfg['PmaAbsoluteUri'] = ‘http://127.0.0.1;
搜索“cfg['Servers'][i]['auth_type'] = ‘config’;”,将其修改成:
cfg['Servers'][i]['auth_type'] = ‘http’;
8. 重新在浏览器输入http://127.0.0.1,此时应该进入了PhpMyadmin登录界面,要求提供用户名和密码,输入root,密码为刚才你修改的。至此Windows 2003平台下Apache2.0.49+PHP4.3.6+MySQL4.0.18+PhpMyadmin2.5.6的整合已经完成了。
9. 安装J2SDK1.4.2_04,可以不用安装demo和sourece,假设安装至C:\j2sdk1.4.2_04。然
后配置环境变量:在我的电脑上点击鼠标
右键-属性-点选高级-点选环境变量,弹出环境变量对话框,新建以下变量名和值:
变量名:path
变量值:.;C:\j2sdk1.4.2_04\bin; C:\j2sdk1.4.2_04
变量名:JAVA_HOME
变量值:C:\j2sdk1.4.2_04
变量名:CLASSPATH
变量值: .;C:\j2sdk1.4.2_04\lib\tools.jar;C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\jre\lib\ext
重新启动计算机使配置的环境变量生效
10.安装Tomcat,按缺省值安装,假设安装至D:\Tomcat,安装要求设置用户名和密码,自己设置。
启动TOMCAT服务,在浏览器输入http://127.0.0.1:8080
应该能看到Tomcat的欢迎界面,表示安装成功,
运行各种Examples,检查其对JSP和Servlet等的支持,虽然TOMCAT有内置的HTTP服务,
但是它仅仅对JSP程序体现出比较好的执行效率和性能,对于静态页面的处理速度远不如APACHE,所以为了一个完美的WEB系统,我们要将APACHE和TOMCAT集成在一起!
(下面就是集成他们的具体配置步骤,请注意仔细认真,比较繁琐)。
11. 将下载的jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip解包,将其中modules目录下的mod_jk2.so拷贝至
D:\Apache2\modules\下,然后编辑D:\Apache2\conf\httpd.conf文件(编辑前关掉Apache服务),加入以下几行:
### Add surport to jsp with the jk2 mod connector to tomcat
LoadModule jk2_module modules/mod_jk2.so
12. 现在假设我们要发布的web文件要放在D:\webroot下,不同的虚拟站点用不同的目录,总站点: http://www.example.com 对应IP 10.10.10.10 对应目录D:\webroot\WWW
总站点别名:10.10.10.10 对应IP 10.10.10.10 对应目录D:\webroot\WWW
IT部门: surport.example.com对应IP 10.10.10.10 对应目录D:\webroot\surport
PhpMyadmin:对应IP 127.0.0.1对应目录D:\webroot\phpmyadmin
13.设置jk2的tomcat方配置,编辑D:\Tomcat\conf\jk2.properties文件(编辑前关掉Tomcat服务),使其如下:
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.
## COMMENTS WILL BE _LOST_
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
# Set the desired handler list
handler.list=apr,request,channelJni
#
# Override the default port for the socketChannel
channelSocket.port=8019
# Default:
channelUnix.file={ jkHome }/work/jk2.socket
# Just to check if the the config is working
shm.file={ jkHome }/work/jk2.shm
# In order to enable jni use any channelJni directive
channelJni.disabled = 0
# And one of the following directives:
apr.jniModeSo=d:/apache2/modules/mod_jk2.so
# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
apr.jniModeSo=inprocess
14.设置jk2的Apache方配置,在D:\Apache2\conf目录下创建workers2.properties并编辑
如下:
[shm]
file={ serverRoot }/logs/shm.file
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8019]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:www.example.com/*.jsp]
worker=ajp13:localhost:8009
[uri:surport.example.com/*.jsp]
worker=ajp13:localhost:8009
[uri:10.10.10.10/*.jsp]
worker=ajp13:localhost:8009
[uri:127.0.0.1/*.jsp]
worker=ajp13:localhost:8009
15.设置Tomcat的虚拟站点,编辑D:\Tomcat\conf\server.xml(编辑前关掉Tomcat服务),
搜索
修改成
搜索<Host name=”localhost” debug=”0″ appBase=”webapps”

Google Hacking 的实现以及应用

0

分类 : 技术文摘 | 发表时间 04-08-2005

本文仅做于技术讨论于研究,请勿用做其他用途.
PS:庆祝一下暂时摆脱应试教育的魔爪,向那些打着素质教育暗地里搞应试教育的学校竖起中指!

前言
google hacking其实并算不上什么新东西,在早几年我在一些国外站点上就看见过相关的介绍,但是由于当时并没有重视这种技术,认为最多就只是用来找找未改名的mdb或者别人留下的webshell什么的,并无太大实际用途.但是前段时间仔细啃了些资料才猛然发觉google hacking其实并非如此简单…

google hacking的简单实现

记得以前看见过一篇文章写的就是简单的通过用www.google.com来搜索dvbbs6.mdb或conn.inc来获得一些站点的敏感信息.其实使用google中的一些语法可以提供给我们更多的信息(当然也提供给那些习惯攻击的人更多他们所想要的.),下面就来介绍一些常用的语法.
intext:
这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含”动网”的网页.allintext:使用方法和intext类似.

intitle:
和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:安全天使.将返回所有网页标题中包含”安全天使”的网页.同理allintitle:也同intitle类似.

cache:
搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦.

define:
搜索某个词语的定义,搜索:define:hacker,将返回关于hacker的定义.

filetype:
这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的对特定目标进行信息收集都需要用到这个.搜索指定类型的文件.例如输入:filetype:doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富:)

info:
查找指定站点的一些基本信息.

inurl:
搜索我们指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接:http://www.xxx.com/xxx/admin,用来找管理员登陆的URL不错.allinurl也同inurl类似,可指定多个字符.

link:
例如搜索:inurl:www.4ngel.net可以返回所有和www.4ngel.net做了链接的URL.

site:
这个也很有用,例如:site:www.4ngel.net.将返回所有和4ngel.net这个站有关的URL.

对了还有一些操作符也是很有用的:
+ 把google可能忽略的字列如查询范围
- 把某个字忽略
~ 同意词
. 单一的通配符
* 通配符,可代表多个字母
“” 精确查询

下面开始说说实际应用(我个人还是比较习惯用google.com,以下内容均在google上搜索),对于一个居心叵测的攻击者来说,可能他最感兴趣的就是密码文件了.而google正因为其强大的搜索能力往往会把一些敏感信息透露给他们.用google搜索以下内容:

intitle:”index of” etc
intitle:”Index of” .sh_history
intitle:”Index of” .bash_history
intitle:”index of” passwd
intitle:”index of” people.lst
intitle:”index of” pwd.db
intitle:”index of” etc/shadow
intitle:”index of” spwd
intitle:”index of” master.passwd
intitle:”index of” htpasswd
“# -FrontPage-” inurl:service.pwd

有时候因为各种各样的原因一些重要的密码文件被毫无保护的暴露在网络上,如果被别有用心的人获得,那么危害是很大的.下面是我找到的一个FreeBSD系统的passwd文件(我已做过处理):

同样可以用google来搜索一些具有漏洞的程序,例如ZeroBoard前段时间发现个文件代码泄露漏洞,我们可以用google来找网上使用这套程序的站点:
intext:ZeroBoard filetype:php

或者使用:
inurl:outlogin.php?_zb_path= site:.jp

来寻找我们所需要的页面.phpmyadmin是一套功能强大的数据库操作软件,一些站点由于配置失误,导致我们可以不使用密码直接对phpmyadmin进行操作.我们可以用google搜索存在这样漏洞的程序URL:
intitle:phpmyadmin intext:create new database


还记得http://www.xxx.com/_vti_bin/..%5C..%5C….m32/cmd.exe?dir吗?用google找找,你也许还可以找到很多古董级的机器。同样我们可以用这个找找有其他cgi漏洞的页面。
allinurl:winnt system32

前面我们已经简单的说过可以用google来搜索数据库文件,用上一些语法来精确查找能够获得更多东西(access的数据库,mssql、mysql的连接文件等等).举个例子示例一下:

allinurl:bbs data
filetype:mdb inurl:database
filetype:inc conn
inurl:data filetype:mdb
intitle:”index of” data //在一些配置不正确的apache+win32的服务器上经常出现这种情况

和上面的原理一样,我们还可以用google来找后台,方法就略了,举一反三即可,毕竟我写这篇文章的目的是让大家了解google hacking,而不是让你用google去破坏.安全是把双刃剑,关键在于你如何去运用.

利用google完全是可以对一个站点进行信息收集和渗透的,下面我们用google对特定站点进行一次测试。www.xxxx.com是全国著名大学之一,一次偶然的机会我决定对其站点进行一次测试(文中所涉及该学校的信息均已经过处理,请勿对号入座:).
首先用google先看这个站点的一些基本情况(一些细节部分就略去了):
site:xxxx.com

从返回的信息中,找到几个该校的几个系院的域名:

http://a1.xxxx.com
http://a2.xxxx.com
http://a3.xxxx.com
http://a4.xxxx.com

顺便ping了一下,应该是在不同的服务器.(想想我们学校就那一台可怜的web服务器,大学就是有钱,汗一个)。学校一般都会有不少好的资料,先看看有什么好东西没:
site:xxxx.com filetype:doc

得到N个不错的doc。先找找网站的管理后台地址:
site:xxxx.com intext:管理
site:xxxx.com inurl:login
site:xxxx.com intitle:管理

超过获得2个管理后台地址:
http://a2.xxxx.com/sys/admin_login.asp
http://a3.xxxx.com:88/_admin/login_in.asp

还算不错,看看服务器上跑的是什么程序:
site:a2.xxxx.com filetype:asp
site:a2.xxxx.com filetype:php
site:a2.xxxx.com filetype:aspx
site:a3.xxxx.com filetype:asp
site:…….
……

a2服务器用的应该是IIS,上面用的是asp的整站程序,还有一个php的论坛
a3服务器也是IIS,aspx+asp。web程序都应该是自己开发的。有论坛那就看看能不能遇见什么公共的FTP帐号什么的:
site:a2.xxxx.com intext:ftp://*:*

没找到什么有价值的东西。再看看有没有上传一类的漏洞:
site:a2.xxxx.com inurl:file
site:a3.xxxx.com inurl:load

在a2上发现一个上传文件的页面:
http://a2.xxxx.com/sys/uploadfile.asp

用IE看了一下,没权限访问。试试注射,
site:a2.xxxx.com filetype:asp

得到N个asp页面的地址,体力活就让软件做吧,这套程序明显没有对注射做什么防范,dbowner权限,虽然不高但已足矣,back a shell我不太喜欢,而且看起来数据库的个头就不小,直接把web管理员的密码暴出来再说,MD5加密过。一般学校的站点的密码都比较有规律,通常都是域名+电话一类的变形,用google搞定吧。

site:xxxx
.com //得到N个二级域名
site:xxxx.com intext:*@xxxx.com //得到N个邮件地址,还有邮箱的主人的名字什么的
site:xxxx.com intext:电话 //N个电话

把什么的信息做个字典吧,挂上慢慢跑。过了一段时间就跑出4个帐号,2个是学生会的,1个管理员,还有一个可能是老师的帐号。登陆上去:
name:网站管理员
pass:a2xxxx7619 //说了吧,就是域名+4个数字

要再怎么提权那就不属于本文讨论访问了,呵呵,到此为止。

关于google hacking的防范

以前我们站的晓风·残月写过一篇躲避google的文章,原理就是通过在站点根目录下建立一个robots.txt以避免网络机器人获得一些敏感的信息,具体大家看原文章:
http://www.4ngel.net/article/26.htm

不过这种方法我个人不推荐,有点此地无银三百两的味道。简单一点的方法就是上google把自己站点的一些信息删除掉,访问这个URL:
http://www.google.com/remove.html

前几天看见又有人讨论用程序来欺骗robot的方法,我觉得可以试试,代码如下:
<?
if (strstr($_SERVER['HTTP_USER_AGENT'], “Googlebot”))
{
  header(“HTTP/1.1 301″);
  header(“Location: http://www.google.com”);
}
?>

后记

这段时间在国外的一些google hack的研究站点看了看,其实也都差不多是一些基本语法的灵活运用,或者配合某个脚本漏洞,主要还是靠个人的灵活思维。国外对于google hack方面的防范也并不是很多,所以大家还是点到为止,不要去搞破坏拉,呵呵。对于一些在win上跑
apache的网管们应该多注意一下这方面,一个intitle:index of就差不多都出来了:)

无觅相关文章插件,快速提升流量