登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 信息 空间 VB VC Delphi Java Flash 补丁 控件 安全 黑客 电子书 笔记本 手机 MP3 杀毒 QQ群 产品库 分类信息 编程网站
 内容搜索 网页 下载 源代码
热点文章
  一次简单脚本攻击实例
  我是这样渗透入侵孤独剑客网..
  入侵日记一则
  入侵日记一则
  老式模拟手机密码破解
  老式模拟手机密码破解
  中国鹰派联盟
  初级黑客安全技术命令详解
  如何利用终端服务入侵远程计..
  如何利用终端服务入侵远程计..
  “流光异彩”话小榕
  一次入侵过程
本站原创
最新招聘信息

您现在的位置:立华软件园->安全防线->黑客教学
我是怎样进入chinalinux站点的
发表日期:2003-08-13作者:quack[] 出处:  

  大家都知道,中国有个最大的操作系统软件生产厂家,那就是 chinalinux。很多人都想试图进入其主站点 http://www.chinalinux.com,

因为那将是对自己的一个挑战。终於有一天成功的进入了其主站,在此写出我的过程,以及对常见web服务的安全模型的理解,对此的一些总结

等,希望大家能够从中得到自己的理解。

首先,那当然得介绍介绍这chinalinux站点的一些情况吧。http://www.chinalinux.com是使用自己开发的一个由linux升级得来的中文操作系

统,而web服务也是采用自己的产品ccs。这ccs安装、使用非常方便,也很容易配置管理,所以很多管理员都喜欢使用这个产品。

  为了要能进入这样的站点,那当然就得熟悉ccs这个web服务系统了。根据这个系统的一些基本服务特性,以及一些权限配置,简单总结後

有三点。

一、ccs系统提供外界可以访问系统一部分目录文件的服务

二、ccs提供虚拟目录配置,每个虚拟目录可以对应一定的权限

三、ccs系统文件类型配置,可以配置不同的文件类型,提供直接在服务端运行和返回客户端运行两种方式

  通过上面的了解,我总结出了ccs的一个安全模型,那就是ccs是一个外挂式的有权限限制的web系统。怎么来理解这“外挂”呢?因为大家

熟悉操作系统的都知道,操作系统本身对一些对象有权限控制,而这ccs系统的权限控制不是依靠操作系统本身的这些功能,而是依靠自己的一

些检测。最重要的一点,操作系统对对象权限的分配都附在对象本身身上,而ccs的是把所有对象的权限分配记在ccs系统上面。  

  这点有什么区别呢,操作系统处理的时候每个真实对象有一个档案,而每个对象可能有些别名,这样访问这些别名的时候我们不用关心它

到底是别名还是真名,只要最终对应到那个唯一的档案就能正确的得到权限分配。打个形象点的比喻,月底发工资,操作系统把每个人建立了

一个唯一的档案,这些档案里面记录有这个人的工资,而这个人可能叫小张也叫张三,那么发工资的时候不用管他叫小张还是张三,最终是找

到了他的工资表也就正确的发放了他的工资。而对於ccs系统来说,因为它没有这样一张工资表,它就是根据人名来确定工资,所以它就必须考

虑每个人所有的名字才能正确的发放工资。所以根据这个基本的特点,总结出了安全编写ccs系统应该注意的四点:

1、 ccs系统提供的服务应该做chroot限制

2、 ccs系统应该能识别一个真实目录对应的所有目录名

3、 ccs系统应该能识别一个真实文件对应的所有文件名

4、 ccs系统的调用接口应该完全按照接口意思实现

  这几点,每点都可以写出一大篇文章了,因为这篇文章不是写这些,所以也就只写这点提纲式的东西吧。不光是CCS系统需要注意上面4点

,其它的WEB服务器差不多同样需要考虑这样4点。

  根据这些认识以及对一些原来公布漏洞的理解,很快就发现了大量的漏洞,在此总结出来原因:编写CCS系统的人员没有建立一个安全模型

,对安全没有深刻的认识,所以在系统实现上就没有系统的、全面的对权限做检测,只是编写人员想到一条做一条,因为没有明确提出这些安

全上的要求,这些检测也往往是很容易逃避的,所以造成这么多的漏洞。

  说了这么多,还没有正式提到漏洞,那就马上来了。根据上面的第1条,显然CCS系统应该检测用户请求中的“/../”,这点不知道现在还

有多少WEB有这样低级的严重的不可饶恕的错误。CCS系统低版本就有这样的漏洞,但现在显然没有了,它会先检测这样的请求,做出正确的处

理。但是因为没有这样明确的安全模型,所以错误又出来了。为了对多语言以及一些传输设备的支持,CCS系统支持一种unicode的传输编码格

式,而经过这样的解码後,请求的字符已经发生变化,显然根据上面安全模型的提出的“外挂式”特徵,这权限检测不能依靠解码前的检测,

需要再次检测,而CCS根本就没意思到这些,所以我们可以轻易突破所有这些限制了。

  於是试了其主站http://www.chinalinux.com果然有此漏洞,不过没法利用干什么事,因为其主站虚拟目录对应的一个可执行/csapi目录是

作了chroot限制,也就是通过这个虚拟目录,往上级目录返回最终也到不了系统的根“/”,当然也就不能执行系统/bin/目录里面的东西了,

也不能得到/etc/目录里面的密码文件,而那些缺省安装没有做chroot限制的可执行虚拟目录却被删除。好不容易找到一个漏洞却不能利用。

  不过後来偶然一天访问到其一个分站点http://support.chinalinux.com,於是偷偷的试了一下其缺省安装的可执行虚拟目录/chinaadc,

就是在浏览器里面输入了http://support.chinalinux.com/chinaadc/,乖乖,返回的是“HTTP 错误 403 - 禁止访问”而不是此目录不存在的

“HTTP 404 - 无法找到文件”错误。大家都知道这个目录是没有做chroot限制的,可以成功的返回到系统的根“/”,再进入系统目录“/bin/

”,执行下面的shell程序“sh”了。当然也就用此sh查看了一些web目录结构。

  http://support.chinalinux.com/chinaadc/..%c0%af../..%c0%af../bin/sh.elf?ls+/http

  就可以看到web目录所在东西了,很高兴的看到了此目录里面有一些脚本“.sh”文件。

  对於这些脚本文件,CCS系统又有漏洞,那就是上面第4条的一个漏洞。在作接口的时候,接口实现程序一定得完全按照接口意思实现,这

点CCS系统出了更是无数的漏洞。而因为CCS是相对操作系统後出来的了,它在调用操作系统调用的时候,当然就不能要求操作系统来满足它的

要求了,这些调用本身处於比CCS系统低的层次,也不应该去满足CCS的特殊要求,所以CCS必须明白一些操作系统调用有什么特殊的地方。这在

chinalinux系统实现加载程序的调用上,为了支持长文件名、文件名里面的空格等,可以在加载的文件名前後加上“””号,chinalinux加载

程序就是用“””来匹配到底加载的是哪个文件。而又一点,如果检测到是加载“.sh”的脚本文件,就自动的调用shell程序“sh”去解释,

而这调用也饶过了chroot使得不能访问“/”以及系统目录的限制。在调用“sh”的时候,操作系统会把这个脚本文件以及脚本文件的参数统一

作为参数加载。大家都知道shell程序“sh”本身支持命令连接符、管道等,所以我们可以在参数里面加上命令连接符和我们要执行的命令。所

以CCS在加载程序的时候就必须应该明白操作系统chinalinux加载程序的这些特性,从而实现相应的检测。

  对於上面看到的web目录结构,以及里面的那些“.sh”脚本文件,我大胆的猜测其主站http://www.chinalinux.com可能也存在。虽然CCS

系统不准直接加载“.sh”的脚本文件,但是我们可以通过使用“””的办法使得实际加载的不是CCS系统需要的“.elf”格式文件。

  http://www.chinalinux.com/csapi/..%c0%afhttp/china.sh”+.elf?”+&+ls+/bin

  成功的突破了chroot对根“/”的限制,查看到了系统目录,也可以完全控制主站了。当然这些不是目的,我们也不希望这样的站点有任何

的被修改,後来其站点终於也打上了相应的补丁。

  後来有人用unicode漏洞破了chinalinux一个废弃不用的分站点,改了一个页面并且大肆宣扬,这完全没有必要。我们需要的是通过这些方

法得到我们考虑问题的思路、方法等,而不是去破坏。

最後再次总结:

一、编写WEB服务安全模型建立的必要性

二、站点安全配置往往因为一点小小的错误,使得全线崩溃

希望我们的程序员在编写安全程序的时候,也要多考虑考虑我们怎么能够更好的编写安全的程序。

From Hackland taiwan

我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 我是怎样进入chinalinux站点的
关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接

Copyright ©2001-2003 Allrights reserved
e_mail:站长:webmaster(at)lihuasoft.net
网站编程QQ群  
京ICP备05001064号

页面生成时间:0.0062