被忽视的大型互联网企业安全隐患:第三方开源WiKi程序

0x00 前言


Wiki一词来源于夏威夷语的“wee kee wee kee”, 是一种多人协作的写作工具。在大型互联网企业(如腾讯、360、小米)的业务线中笔者都有遇见过他们的身影,而其常被用作介绍业务功能的说明书以及内部项目工作协同平台。目前常见且使用率较高的WiKi程序有Miediawiki、DoKuWiKi、HDWiki等,但由于这些程序平时受到关注度不足,程序存在很多设计上面的缺陷并没有被公开和修复,很多甚至足以可以导致服务器被轻松getshell,使其成为互联网企业信息安全的一颗“隐形炸弹”。本文将着重介绍渗透第三方Wiki程序常用的思路,然后附上攻击两个被广泛使用WiKi系统的Expolit和实例危害证明,最后给出解决方案。

0x01 常用思路


一、前期准备:批量收集大型企业渗透目标

1)使用百度或者是谷歌等搜索引擎,关键词”site:XXXX.com inurl:wiki”,可以轻松获取很多目标,

2)使用子域名爆破工具,批量收集企业子域名,然后分离出wiki站点

二、着手攻击:分析Wiki品牌,收集管理员列表,爆破进入后台

不同品牌的Wiki程序的渗透方式略为不同,大型互联网企业常用的Wiki程序有两个:Mediawiki和Dokuwiki,这两个程序都可以通过技巧快速搜集到管理员的用户名,然后通过没有限制登录次数以及验证码的登录页面爆破弱口令进入系统,下面分别做介绍:

渗透Mediawiki系统思路: 如果你看到地址栏中有如下结构的wiki程序,那一定就是Meidawiki没错了,接下来您只需要三步就能渗透进入目标了:

Step1: 通过MediaWiki默认携带的搜索功能查找,搜索“用户创建日志”,MediaWiki系统中的用户列表: Expolit:http://www.xxx.com/index.php?title=%E7%89%B9%E6%AE%8A%3A%E6%97%A5%E5%BF%97&type=newusers&user=&page=&year=&month=-1

Step2: 通过MediaWiki默认携带的搜索功能,搜索“权限变更日志”,帮助我们快速分离出系统中的管理员进一步获得用户名: Expolit: http://www.xxx.com/index.php?title=%E7%89%B9%E6%AE%8A%3A%E6%97%A5%E5%BF%97&type=rights&user=&page=&year=&month=-1

Step3: MediaWiki系统默认登录入口,没有任何次数验证和验证码,所以最后一步就是直接载入之前用户名和字典进行弱口令爆破: Expolit: http://www.xx.com/index.php?title=Special:UserLogin

如果运气好的话管理员存在常见弱口令就可以登录后台,修改WiKi的内容,由于MediaWiki管理员后台上传权限并不高,并不能上传php文件,getshell可能有些困难,不过现在您已经足以可以修改整个企业业务介绍网站的内容了,这些业务以企业重点开放平台居多,影响已经足够大了。

渗透DokuWiki系统思路

如果您看到下面UI风格的WIKI程序,那它就是Dokuwiki没错了,接下来只需要三步就能渗透进入目标了。值得注意的是,因为Dokuwiki后台的设计缺陷,只要能够登录管理员账户就意味着可以getshell接着渗透内网:

Step1: 查找DoKuWiki系统中用户列表:

在Dokuwiki的媒体管理器中,每一个文件修订历史中明确罗列了系统中存在的用户和用户名

Expolit: http://www.xxx.com/doku.php?id=start&do=media&ns=

在Dokuwiki的Wiki修订历史中,也可以轻松收集到系统中用户的蛛丝马迹

Expolit: http://www.xxx.com/doku.php?id=start&do=revisions

有些WIKI系统甚至直接开放了注册的权限,你甚至可以尝试通过下面的Expolit链接注册一个用户,试着进入企业WIKI系统内部

Expolit: http://www.xxx.com/doku.php?id=start&do=register

Step2: 查找DoKuWiki系统默认登录入口,同样没有任何次数验证和验证码,所以直接载入之前用户名和字典进行弱口令爆破,Doku的默认登录入口

1

2

<code>http://www.xxx.com/doku.php?id=start&do=login

</code>

Step3:登录管理后台,利用Dokuwiki的插件管理功能Getshellhttp://www.xxx.com/doku.php?id=start&do=admin&page=extension

0x02 真实案例


[例一] 某Dokuwiki系统管理员弱口令,直入后台getshell 白帽子发现某DokuWiki系统的管理员存在弱口令,登录以后,直接通过上文渗透Dokuwiki思路中提到的进入插件管理界面成功getshell到了服务器的权限。

[例二] 网易某内部门户WIKI未设置注册权限验证,直接注册用户窃取内部信息 笔者曾通过百度搜索引擎发现网易内部WIKI系统对外,并且开放了注册功能,只要通过自己的邮箱注册就可以成功获取账号登录进入该系统,获得了少量的内部信息,因为做了一定的防护,对用户组权限进行了隔离,所以笔者并没有获得更高级别的权限。

0x03 解决方案


  1. 其实第三方开源Wiki的漏洞有点类似于之前很火的Wordpress和Discuz后台弱口令漏洞,很显然,目前前面提到的两个类型的第三方建站系统已经被给与了足够的重视,而目前Wiki系统却并没有。只要在开发完成以后对对默认的登录和注册页面进行删除或者修改名称,企业后端WAF进行访问限制配置,同时强化员工安全意识,杜绝弱口令,就能有效防止企业Wiki系统被攻击者渗透,从而丧失服务器的最高权限。

  2. 使用第三方开源WIKI作为内部协同平台时应特别注意对每个页面设置权限以及严格限制外部用户注册系统的用户。

3.GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,如果产品需要做说明介绍的话,完全可以用Gitbook替代这些第三方Wiki,不失Wiki的美观和简洁方便。

官网:GitBook - Where software teams break knowledge silos.

本文章来源于乌云知识库,此镜像为了方便大家学习研究,文章版权归乌云知识库!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Winform是一种Windows桌面应用程序开发框架,而第三方开源UI库则是为了简化和增强Winform开发而诞生的工具。使用第三方开源UI库可以帮助开发者更快速地创建漂亮、交互丰富的Winform界面。 首先,第三方开源UI库提供了丰富的UI控件和组件,使得开发者可以轻松地创建各种复杂的界面元素,如按钮、标签、文本框等。这些UI控件通常具有更好的可定制性和灵活性,可以满足不同项目的UI设计需求。 其次,第三方开源UI库还提供了多种主题和样式,可以帮助开发者轻松改变应用程序的外观。开发者可以根据项目需求选择合适的主题,以便给用户提供更加优雅、现代化的界面体验。 此外,第三方开源UI库还提供了一些实用的工具和扩展,帮助开发者简化代码的编写和重用。比如,一些库提供了数据绑定、布局管理和验证等功能,可以加快开发速度并提升开发效率。 虽然第三方开源UI库可以帮助开发者快速构建出漂亮的Winform界面,但也需要注意一些潜在的问题。首先,由于库的代码是由第三方开发者维护的,可能存在一些质量和稳定性方面的问题。因此,选择可信赖、活跃开发和维护的库非常重要。其次,过多地依赖第三方开源UI库可能会增加项目的复杂性,增加维护和升级的难度。因此,在使用之前需要仔细评估库的性能、兼容性和生命周期。 总之,第三方开源UI库可以提供丰富的UI控件、主题和工具,帮助开发者快速构建出漂亮、现代化的Winform界面。在选择和使用时,需要注意库的品质和稳定性,并确保合理使用,避免过度依赖。 ### 回答2: WinForm是一种运行于Windows操作系统上的用户界面(UI)框架,用于开发Windows应用程序。由于WinForm自带的控件样式和功能有限,所以许多开发者选择使用第三方开源UI库来增强和定制他们的应用程序界面。 WinForm第三方开源UI库有很多优点。首先,这些库通常提供了丰富多样的扩展控件,使得开发者可以轻松地创建出现代化、高度可自定义的用户界面。这些库还提供了各种样式和主题供选择,使得开发者可以根据特定需求灵活地设计和美化应用程序界面。 其次,第三方UI库的开源性质使得开发者可以以源代码的形式获取,允许他们自由地修改和定制库中的控件,以满足特定需求。这种开源性还带来了更高的安全性,因为开发者可以审查和修复库中的潜在漏洞。 另外,第三方UI库还能大幅提高开发效率。这些库通常提供了简洁易用的API和可视化设计器,使得开发者可以快速地构建复杂的用户界面,节省大量的开发时间和精力。此外,由于这些库经过了广泛的测试和优化,所以它们通常能够提供更好的性能和响应能力。 不过,使用第三方开源UI库也存在一些潜在的问题。首先,由于这些库是由个人或团队开发和维护的,所以其稳定性和可靠性可能不如官方提供的WinForm控件。此外,由于这些库经历了不同的开发阶段和版本迭代,所以与其它库或组件的集成可能会有一些兼容性问题。 综上所述,WinForm第三方开源UI库能够提供更丰富的控件和功能,增强开发者的应用程序界面。然而,开发者在选择和使用这些库时需要权衡其优点和缺点,并确保库的稳定性和兼容性。 ### 回答3: WinForms是微软.NET框架下的一个用户界面设计工具,用于开发Windows桌面应用程序第三方开源UI库是一种可以在WinForms中使用的开源用户界面库。这些UI库提供了丰富的控件和自定义样式,帮助开发人员更快速、更方便地构建各种功能强大的桌面应用程序。 使用第三方开源UI库可以带来以下几个好处: 1. 丰富的控件和样式:第三方开源UI库通常提供了大量的控件和样式,使得界面设计更加灵活多样。开发人员可以根据需求选择合适的控件和样式,以实现更丰富的用户界面效果。 2. 提高开发效率:第三方开源UI库往往提供了一些可视化的设计器,使得界面设计更加直观和便捷。此外,库中也有许多已经封装好的控件和组件,可以直接拖拽使用,减少重复编写代码的工作量,提高开发效率。 3. 社区支持和更新:第三方开源UI库通常有庞大的用户和开发社区,可以获得丰富的技术支持和资源分享。同时,这些库也会不断更新和维护,修复bug和提供新功能,保持与时俱进。 当然,使用第三方开源UI库也有一些注意事项: 1. 可能存在兼容性问题:第三方开源UI库与WinForms原生控件可能存在一些兼容性问题。在使用时需要仔细测试和处理,以确保应用程序的稳定性和正确性。 2. 资源和性能消耗:一些强大的开源UI库可能会引入较多的资源文件,增加应用程序的体积。同时,它们的复杂性和功能也可能导致性能方面的牺牲。因此,在选择UI库时需要权衡开发需求和应用程序的资源与性能要求。 总的来说,第三方开源UI库在WinForms应用程序开发中具有重要的作用,可以提高开发效率,丰富用户界面设计,同时也需要谨慎选择和使用,以确保应用程序的稳定性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值