现在的位置: 首页 > 综合 > 正文

最新的Discuz!NT2.5漏洞

2013年10月16日 ⁄ 综合 ⁄ 共 2428字 ⁄ 字号 评论关闭

导读:
  最新的Discuz!NT2.5漏洞
  此文章已发表在《黑客X档案》2008年第10期杂志上
  后经作者发布在博客上,如转载请务必保留此信息!
  炎炎夏日,激情八月,让人兴奋的北京奥运会终于圆满结束了!这是全中国人民的光荣,这是全中国人民的骄傲!那一刻你会为自己是个中国人而感到自豪,流在你身上的炎黄子孙的血液会沸腾……话说离上次写稿差不多有半年了,这半年里发生了许许多多事,其实好多次都想写点什么,却一直都提不起创作的热情。繁华的街市,喧嚣的人群,吵杂的车声,浑浊的空气……一切的一切从什么时候起竟变得如此令人讨厌,竟变得如此陌生,竟变得如此令人窒息……北京,中国的首都之城,再加之奥运的点缀,更让它成为了全球瞩目的世界之都,而我却竟然开始对它有种莫名的抵触……
  好了,感慨完了,该开始正题了。这次要介绍的是Discuz!众多程序中的NT版社区系统中的漏洞(Discuz!NT 2.5 是康盛创想(北京)科技有限公司旗下的一款功能强大的基于 ASP.net 平台的社区软件。基于先进的 .Net Framework,默认支持 SQLServer数据库,可扩展支持Access、MySQL等多种数据库,支持IIS5、IIS6、IIS7,安全高效、稳定易用,充分发挥 ASP.net特性,支持自由选择切换皮肤,支持多种其它论坛的数据转换。)漏洞文件为showuser.aspx,该文件在对变量ordertype的处理中过滤不严格,导致出现SQL注入漏洞。利用该漏洞构造SQL语句可以获取论坛管理员权限并登录后台得到Webshell,危害相当大,希望使用此程序的各站长尽快打好补丁,以免被恶意攻击(特别鸣谢提供漏洞资料的哥们)。
  我们仅从技术讨论的角度出发来做一个简单的漏洞利用测试。鉴于我现在和朋友合作做了IDC,有自己的服务器,所以测试起来相当方便(以前都是自己架这个架那个测试的,往事不堪回首呀!需要Web空间可以找我,嘿嘿……)。给自己开通了一个全能的标准IDC专用空间,再开通了一个MsSQL的数据库,然后到官方下载最新版的Discuz!NT2.5,顺利安装成功,测试链接为:http://discuznt.estidc.com...。漏洞利用起来相当简单,只需要一个浏览器即可,无需任何多余的工具(当然了,马还是得准备一个的)大家可以通过Google以关键字为“Powered by Discuz!NT2.5.0”搜索到使用该程序的网站。
  一、注册用户
  这一步并非必须,如果你懂SQL语句,完全可以更改任意用户密码,或者直接自己插一个管理员到数据库里,但要求对Discuz!NT 2.5的数据库要比较了解,所以这里采用大众化操作来介绍。首先注册一个用户名为hackest的用户(密码随意,6位以上),如图1。
  
  
  如果遇到某些关闭了注册的网站,可以直接更改某个不是十分重要的用户的密码以达到目的,访问showuser.aspx文件就能显示该论坛所有用户列表了,比如:http://discuznt.estidc.com...(当然了搞技术追求对他人造成的影响最小化,所以我们自己注册一个),如图2。
  
  
  二、提升为管理员
  注册完毕后会自动登录,况且该漏洞即使不登录也可以利用!然后我们直接执行把自己提升为管理员的SQL语句:
  
  
  三、获取Webshell
  好了,现在你已经是管理员权限,利用简单吧,只是一条SQL语句就可以了!接下来就是看怎么拿Webshell了。提为管理员后要重登录一下才能看到进入后台的“系统设置”,如图4。
  
  
  登录管理后台之后,点“帖子”->“帖子相关”->“附件类型尺寸”,然后把原来的rar类型改为aspx,再点“保存附件修改”如图5。
  
  
  会提示“操作成功执行”,不必理会,接着到前台发帖或者编辑已有帖子,通过上传附件直接上传ASPX的马,如图6。
  
  
  上传完毕后再到后台管理页面,“论坛”->“论坛维护”->“管理附件”->“搜索附件”,这样搜索出来的附件是全部附件,马一般在最后一页,附件较多的话直接跳转到最后一页即可查看。这时候我们发现马儿已经乖乖的躺在那里等我们了,如图7。
  
  
  直接点击访问,自动跳转至Webshell登录入口,登录进去即可,如图8。
  
  
  至此就得到了Webshell,整个过程相当简单。接下来还得做一些收尾工作,处理掉你所留下的操作日志(要养成良好的黑客习惯,不要嫌麻烦)。先用你的马往别的目录上传一个马,再在之前上传附件的地方编辑掉所改帖子,然后参照刚才改允许上传后缀的方法把aspx改回rar(其实就是一个复原过程了)。然后再在后台管理页面找到“其他”->“运行记录”->“后台日志”,选择操作者为你注册的用户名的日志,然后删除,如图9(注意,一般不要全删,删日志也是需要技巧的,全删的话会令人生疑,只要把与自己相关的删掉即可)。
  
  
  或者用SQL语句删除也可以,执行如下SQL语句也能达到同样的效果:
  http://discuznt.estidc.com/showuser.aspx?ordertype=desc;delete%20from%20dnt_users%20where%20username=%27hackest%27;--
  四、漏洞修补
  Discuz!官方的漏洞响应速度还是相当快的,对此漏洞已经发布了相关补丁程序。到官方下载补丁包,其实里面就两个dll文件,FTP上传替换即可。具体可参照官方公告:http://nt.discuz.net/showt...。最后呼吁一下:技术不是为了破坏而诞生的,请为你的行为负责!本文仅作技术交流之用,后果自负。
  黑客任务:http://www.hackertask.com

本文转自
http://www.hackertask.com/thread-165-1-1.html

【上篇】
【下篇】

抱歉!评论已关闭.