利用ewebeditor编辑器批量检测网站

    [晴 April 18, 2008 11:21 | by ]
作者: 伤心的鱼 出处:IT168

现在越来越多的入侵是针对第三方的插件或者文件。那么笔者就带领大家走进ewebeditor在线文本编辑器的世界。了解该如何利用ewebeditor在线文本编辑器的疏漏来获取网站的权限。
说起安全检测的方法大家可能最熟悉的要属注入,上传或者利用网站的配置不当或者管理员的疏忽等等,但是现在越来越多的入侵是针对第三方的插件或者文件。那么笔者就带领大家走进ewebeditor在线文本编辑器的世界。了解该如何利用ewebeditor在线文本编辑器的疏漏来获取网站的权限。

  正文:

  这天笔者正在工作,忽然MSN弹出消息,原来是朋友花钱制作了一个网站,并且买了域名跟空间,想让笔者测试一下网站的安全性与服务器的安全。尽量找出网站存在的一些安全隐患。在朋友的竭力邀请之下笔者开始了这次的入侵检测之旅。

  通过朋友对笔者的叙述笔者了解到。 朋友网站所用的空间就是他买程序的时候官方送他的免费一年使用权, 那么如此说来服务器上肯定会部署很多网站。 而且很有可能是相似的程序,那么是不是入侵其中一个网站然后了解他的配置信息以后再用同样的手法搞定服务器其他网站呢?按照这个思路笔者开始了入侵的旅途。

  首先打开朋友发来的域名,地址为www.pockxxx.com。粗略看了下页面为英文的,是一个卖手机与游戏机的网站。在IP138查询得知域名所对应的IP为210.51.22.X 为北京网通,看来是托管在IDC机房的服务器。使用superscan与IIS扫描器扫描服务器得到如下结果。

  1、服务器操作系统为windows2003 所用IIS版本为6.0

  2、服务器开放 80 1433与3389端口 三个端口

  3、使用telnet 220.250.64.X 1433与3389 端口发现均不能连通,相必服务器是安装了防火墙或者IDS之类软件。 那么既然只有80端口对外开放那么就只能从WEB程序入手了。

  首先打开网站,很漂亮的一个网站程序。大概看了下网站是使用ASP程序发开的。那么首先想到的就是sql injection 也就是SQL注射漏洞,随便打开一个连接,地址为http://www.pcokXXX.com/product.asp?id=1294 在地址后面加一个单引号发现返回的错误信息为:
  Microsoft OLE DB Provider for ODBC Drivers错误'80040e14'
  [Microsft][ODBC Micorsoft Access Diver] 字符串语法错误 在查询表达式'product。asp?id=1294'中。
  /product。asp,行 32

  从这个错误提示我们能看出下面几点:

  1、网站使用的是Access数据库,通过ODBC连接数据库,而不是通过JET引擎连接数据库

  2、程序没有判断客户端提交的数据是否符合程序要求。

  3、该SQL语句所查询的表中有一名为productID的字段。

  看来网站是基于ASP+ACCESS数据库的架构了。 使用and 1=1 与and 1=2 发现返回的信息不一样,说名存在SQL注射漏洞 不过网站数据库使用的是ACCESS数据库。那么只能猜解管理压密码登陆后台来拿WEBSHELL了 如果是sql server数据库的话有一定权限还可以使用BACK 来备份一个WEBSHELL。

在确定了存在注射漏洞后,笔者开始了艰辛的猜密码的过程,在注射点后使用SQL语句
And (Select Count(*) from Admin)>=0
发现页面返回正常说明存在admin表。那么既然知道了有admin表就继续猜字段吧。不过一般来说这样的程序用的字段无非这几个 username password id userid user_password pwd name userpwd什么的 所以猜这样的字段非常容易 语句一复制 挨个试就好了猜了半天 发现admin表里存在username password id三个字段。为了证明自己的猜解没有错误。笔者又使用了啊D的SQL注射工具。 结果发现确实存在username password与ID这三个字段如图1

Highslide JS
  

  很明显username 跟password是存放管理员用户名与密码的。继续猜
and (select top 1 len(username) from Admin)>0
这里笔者还是要先说下原理:如果top 1的username长度大于0,则条件成立;接着就是>1、>2、>3这样测试下去,一直到条件不成立为止,比如>7成立,>8不成立,就是len(username)=8 经过笔者的手工猜解与注射工具想结合终于成功找出管理员的后台密码为[username] : test [password] : katherine 居然还是明问的密码。到这里可能有读者会问?既然有了注射工具为什么还要去手工去猜解密码呢? 这里笔者告诉大家,工具毕竟是死的。不能什么事都依靠工具。如果某一天你在做测试的使用并没有工具的帮忙难道就会没办法么?

  既然知道了管理员的用户名与密码那么就直接准备登陆网站后台了哦?不过另笔者郁闷的事使用注射工具并没有发现网站的后台。并且网站没有admin目录。看来是为了防止网站被黑客攻击, 笔者的朋友已经更换了网站的后台路径。 不过这个时候笔者平时所搜索的一些路径就有了用武之地了。因为笔者平时喜欢搜索一些网站的后台地址等等的习惯。这样一旦遇到没有见过的路径 比如asdf/logi.asp dd.asp等等。

  所以笔者在这里建议各位读者。适当的多搜索一些有用的信息。 因为一个合格的安全工程师不但要有过人的技术,还需要掌握足够的资源 这样做起事来才能事半功倍。 笔者将自己所掌握的路径信息添加进到注射工具里。然后再一次使用后台地址扫描功能,成功的扫描出网站后台地址为10f2c1dd/login.asp,如图2

Highslide JS
  

  看到图片可知后台路径设置的是多么隐藏。另外这里还有一个小插曲。就是第一次添加完信息扫描的时候并没有扫描出后台地址, 这里笔者通过自己对朋友的了解,掌握朋友以前的一些习惯自己生成一个小的类似密码字典的东西 呵呵 这样就成功的找到了后台地址。 所以说有时候适时的利用自己掌握的信息与资源是在渗透或者是其他网络安全工作时必不可少的。
好了,既然知道后台地址了就使用我们猜解到的信息 [username] : test [password] : katherine

用户名为test 密码为katherine 来登陆后台。

进入后台后笔者发现这个网站的后台功能确实是很强大的。功能非常多并且发现支持的组件如下:

组件支持有关参数

  数据库(ADO)支持: √ (支持)
  FSO文本读写: √ (支持)
  Stream文件流: √ (支持)
  CDONTS组件支持: √ (支持)

  我们可能知道,只要是有FSO文本读写的组件我们就可以利用到网的站和后台了,比如上传我们的ASP木马控制网站。 下图为网站后台功能。如图3

Highslide JS
  

可能读者已经发现,网站的后台功能非常多, 但是大部分权限只能上传一些jpg jif的图片文件, 并不能直接上传ASP文件。 而且网站的后台没有数据库备份的功能。 一时之间还真是不知道该用什么办法去取得WEBSHELL 。 因为如果拿不到WEBSHELL的话只进入到后台并不能算检测成功的。 没办法,只能另外想取得WEBSHELL的方法。 经过半天的寻找,笔者发现网站的后台使用的类似ewebeditor在线文本编辑器的东西,(后经检测确实为ewebeditor在线文本编辑器) 。为了确定笔者的判断,笔者首先将自己的asp木马后缀改名为。jpg的文件格式。 然后利用网站后台编辑文章的地方进行上传。图片上传成功以后我们只需要右键点一个图片的属性就看到图片上传后的地址为

/10f2c1dd/inc/edit/uploadfile/ 可能有的朋友还对ewebeditor 在线文本编辑器不是很了解, 这里我简单叙述下 ewebeditor在线文本编辑器本身有一个控制后台,可能有很多网站的管理员在使用程序的使用并不知道程序本身已经带有了ewebeditor功能, 所以很大程度上没有对ewebeditor编辑器的重视。而ewebeditor在线文本编辑器的后台地址为admin_login。asp 所以我直接在路径改成/10f2c1dd/inc/edit/admin_login。asp 呵呵 成功的跳出来了ewebeditor编辑器的后台管理地址,如图4

Highslide JS
  

  使用ewebeditor管理后台的默认密码admin admin与admin888均不能进入。看来是管理员已经改掉了ewebeditor登陆后台的默认密码,看来管理员还是有一点防范意识的 。不过没关系。管理员的密码是保存在一个access 数据库里的, 我们使用ewebeditor默认的数据库地址DB/Ewebeditor。mdb 看看能不能下载它的默认数据库。 如果能下到数据库的话就有可能找到管理员的用户密码哦?马上在IE地址栏输入: 
http://www.pockxxx.com/10f2c1dd/inc/edit/DB/Ewebeditor.mdb

  成功的弹出了数据库,说明管理压虽然更改了ewebeditor的后台密码。但是并没有更改ewebeditor的数据库路径,使得我们有机可乘了。马上下载数据库到本地 ,打开以后马上找到eWebEditor_system 这里有管理员的帐号跟密码。 然后发现管理员的用户名为admin 密码的MD5散列为b008cd8de9071d72 马上拿到www。cmd5。com 去解开 发现密码为6553552 呵呵很顺的一个密码。立刻登陆ewebeditor 然后我们在样式管理那里随便选择一个样式。 然后在图片类型那里添加一个asa的类型,因为我们知道asa文件是跟asp文件一样解吸的。 另外ewebeditor在样式那里过滤了ASP文件 直接添加一个ASP文件是不可以的, 不过我们可以添加一个aaspsp的文件,因为这样他过滤掉了一个ASP还是存在一个ASP,所以就可以直接传我们的ASP木马啦,如图5

Highslide JS
  

  添加完我们需要上传的类型以后点最下面的确定,然后回到样式管理那里我们选择预览。 然后直接上传我们的ASA类型的木马,至此我们已经拿到了网站的最高权限 WEBSHELL了。
拿到了WEBSHELL以后发现权限设置的非常严格,除了网站所在的目录别的目录一律禁止访问。所有的危险组件都删掉了,看来是典型的虚拟主机配置。不过刚在检测前扫描的时候就发现服务器应该装了防火墙与IDS之类的东西, 提权应该是很困难的。 但是我们要注意到?服务器的空间是提供给购买他们程序的人?那么是不是有可能eWebEditor的路径都是一样的呢? 虽然不能提权 但是我们多拿一些网站的权限不是很好? 说做就做,笔者使用了明小子的旁注查询工具,发现服务器上一共捆绑了200多域名,看来网站还真是不少啊 。

  在旁注工具里随便找一个网站,在地址栏后边添加inc/edit/admin_login.asp, 因为我们知道这个路径是管理员隐藏好的 有的时候管理员 为了方便管理都会设置一样的路径 ,果然eWebEditor的后台又一次跳了出来。

  同样是手法。下载数据库,添加文件类型,上传。不费吹会之利又成功的拿到了服务器上另外网站的权限。 我记的以前我一个朋友在渗透内网时得到了一个SQL数据库的SA密码,因为管理员都是一个人,所以整个内网的服务器都被他所控制。没想到笔者今天也碰到了类似的事情。结果笔者用了几个小时的时间成功的拿到了服务器上 80%的网站权限。 因为有的网站程序不一样 而且可能是个人站长自己管理。 eWebEditor虽然有但是MD5的密码破解不出来。如图6

Highslide JS
  

  笔者将拿到的网站权限送给了朋友,并且告诉了他的漏洞所在。不过此次的安全检测偶然性比较大。运气成分很高吧。不过eWebEditor这个编辑器确实是害人不浅。很多网站站长都不知道自己用了他 更何况是去修改密码呢。所以在这里也提醒网站的站长,使用程序的时候一定要小心,说不定程序里就自带着“后门”呢。
Technology | Comments(0) | Trackbacks(0) | Reads(7984)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive