|
炎炎夏日,激情八月,让人兴奋的北京奥运会终于圆满结束了!这是全中国人民的光荣,这是全中国人民的骄傲!那一刻你会为自己是个中国人而感到自豪,流在你身上的炎黄子孙的血液会沸腾……话说离上次写稿差不多有半年了,这半年里发生了许许多多事,其实好多次都想写点什么,却一直都提不起创作的热情。繁华的街市,喧嚣的人群,吵杂的车声,浑浊的空气……一切的一切从什么时候起竟变得如此令人讨厌,竟变得如此陌生,竟变得如此令人窒息……北京,中国的首都之城,再加之奥运的点缀,更让它成为了全球瞩目的世界之都,而我却竟然开始对它有种莫名的抵触……
好了,感慨完了,该开始正题了。这次要介绍的是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!NT 2.5,顺利安装成功,测试链接为:http://discuznt.estidc.com...。漏洞利用起来相当简单,只需要一个浏览器即可,无需任何多余的工具(当然了,马还是得准备一个的)大家可以通过Google以关键字为“Powered by Discuz!NT 2.5.0”搜索到使用该程序的网站。
一、注册用户
这一步并非必须,如果你懂SQL语句,完全可以更改任意用户密码,或者直接自己插一个管理员到数据库里,但要求对Discuz!NT 2.5的数据库要比较了解,所以这里采用大众化操作来介绍。首先注册一个用户名为hackest的用户(密码随意,6位以上),如图1。
如果遇到某些关闭了注册的网站,可以直接更改某个不是十分重要的用户的密码以达到目的,访问showuser.aspx文件就能显示该论坛所有用户列表了,比如:http://discuznt.estidc.com...(当然了搞技术追求对他人造成的影响最小化,所以我们自己注册一个),如图2。
二、提升为管理员
注册完毕后会自动登录,况且该漏洞即使不登录也可以利用!然后我们直接执行把自己提升为管理员的SQL语句:
http://discuznt.estidc.com/showuser.aspx?ordertype=desc;update%20dnt_users%20set%20adminid=%271%27,groupid=%271%27%20where%20username=%27hackest%27;--
[1] [2] [3] 下一页 |