51cto.com是我常去的一个网站,最近找了点时间对它进行了一次比较严格的黑盒安全检测,发现了几个小问题,正所谓“攻易守难”,连51CTO这个国内最大的网络技术网站,也不免存在一些安全方面的问题。
 
    大体先把51cto网站结构介绍一下:网站由新闻发布管理系统、blog系统、招聘系统、论坛、技术圈等模块组成,新闻发布管理系统是php+mysql结构,blog系统使用的是phpwind blog 4.3.2,可能在原有的基础上做了很多功能改动。招聘系统也是php+mysql结构,应该是自己开发的,论坛是DZ定制的,在原有的基础上也有不少变动。
 
    新闻发布管理系统没发现有什么bug,在很早以前在网友对新闻的评论处有对特殊字符过滤不严谨的漏洞,现在已经补上了。
 
    blog系统使用的是phpwind blog 4.3.2,不知道是phpwind blog 4.3.2存在漏洞,还是增加一些功能后产生的漏洞,在blog的“首页管理”处有跨站漏洞,添加友情连接时,可以在“文字”处输入挂马代码,如图1所示。前几天我测试的时候把自己的blog搞坏了,塞了一个网页进去,整个页面不能拖拽了。
对51cto进行的一次安全检测_第1张图片
图1
    另外在登陆blog处,有个不算bug的bug,还是对特殊字符过滤不严谨,用户可以提交特殊字符和超长字符串。因为是php的代码,我在用户名处输入””,如图2所示。
对51cto进行的一次安全检测_第2张图片
图2
    想通过远程执行获得服务器的信息,可是没有成功,只是提示“用户不存在”。我想这个地方可能有利用的价值,请各位高手指点一下。还有后台地址太好找了些: [url]https://blog.51cto.com/admin.php[/url],如果4.3.2被暴出漏洞,这样很危险。不过还好管理员的登录名不是传统的admin什么的,否则就更容易破了。

    招聘系统的个人会员和公司会员登录处因为没有设置验证码和限制密码输入次数,***者可以利用溯雪这类破解工具挂字典进行破解。论坛使用的是dz,没发现什么问题,如果要检测,着重在51cto自己增加的一些功能那里进行测试。

    在浏览51cto网站的过程中我通过连接访问到某个网站,发现这个网站的界面风格与51cto很相似,通过测试,初步判断应该使用的是一套系统,先注册个用户看一下吧,发现可以注册“零距离”这个id,这个id在51cto是管理员的身份,这时你想到了什么?cookie欺骗。尽管两个网站在不同的服务器上,可是后台的代码应该是一样的,cookie应该也是通用的,经过测试确实如此,这样我就拥有了“零距离”在51cto上所有的权限(论坛除外,因为登录论坛有安全问题)。如图3所示。
对51cto进行的一次安全检测_第3张图片
图3
 
接下来可以做的事情就很多了,通过cookie欺骗,可以获得blog系统“小废物”、“kiddymeet”等高级别用户在blog的权限,招聘系统管理员的权限,然后就是找后台路径,如果运气好可以上传php一句话***,获得服务器的webshell。到了这一步就没有再测试下去,担心测试会给网站带来大的影响,毕竟是51cto的忠实用户,不能乱搞破坏嘛。

    总的来说,51cto的安全性在我测试过的IT类门户网站中还是不错的。这次检测我没有使用工具对php注入进行测试,只是简单的手工测试了一下,现在的***工具太多捆绑***,因为计算机不快,我又懒得在虚拟机测试,所以没做。

    后记:51CTO技术人员看到此文后已经在第一时间修补了这些漏洞。我测试出的这些问题的原理其实不复杂,大家按此思路去其他网站找找,也许能找到更多的安全漏洞——不过可别干太坏的事哈。如果是自己做网站的,可以看看自家网站有没有类似的安全漏洞,及时堵上。这篇文章能与大家见面首先要感谢零距离和小废物,他们为这篇文章能重见天日付出了不少时间和精力,也要感谢51cto的技术人员能够及时修补漏洞,更要感谢51cto的各位领导,是他们的开明才使这篇文章得以在51cto发表。