简要描述:
简单到你难以想象,只要网站还可以注册就可以GETSHELL,无视GPC,无视WAF。4.1beta版本,其他版本未测

详细说明:
1.在审计PHPYUN的时候一度对PHPYUN的WAF非常无语,但是在大家都痴迷于寻找SQL注入漏洞的时候,确实忽略了一个很简单的上传漏洞。首先定位到漏洞文件wap/member/model/index.class.php

function photo_action(){if($_POST['submit']){preg_match('/^(data:\s*image\/(\w+);base64,)/', $_POST['uimage'], $result);$uimage=str_replace($result[1], '', str_replace('#','+',$_POST['uimage']));$new_file = time().".".$result[2];if (!file_exists(DATA_PATH."upload/user/".date('Ymd')."/")){mkdir(DATA_PATH."upload/user/".date('Ymd')."/");chmod(DATA_PATH."upload/user/".date('Ymd')."/",0777);}$re=file_put_contents(DATA_PATH."upload/user/".date('Ymd')."/".$new_file, base64_decode($uimage));chmod(DATA_PATH."upload/user/".date('Ymd')."/".$new_file,0777);if($re){$user=$this->obj->DB_select_once("resume","`uid`='".$this->uid."'","`photo`,`resume_photo`");if($user['photo']||$user['resume_photo']){unlink_pic(APP_PATH.$user['photo']);unlink_pic(APP_PATH.$user['resume_photo']);}$photo="./datahttps://images.seebug.org/upload/user/".date('Ymd')."/".$new_file;$this->obj->DB_update_all("resume","`resume_photo`='".$photo."',`photo`='".$photo."'","`uid`='".$this->uid."'");$this->obj->DB_update_all("resume_expect","`photo`='".$photo."'","`uid`='".$this->uid."'");echo 1;die;}else{unlink_pic("../datahttps://images.seebug.org/upload/user/".date('Ymd')."/".$new_file);echo 2;die;}} else{$user=$this->obj->DB_select_once("resume","`uid`='".$this->uid."'","`photo`");if($user['photo']==""){$user['photo']='/'.$this->config['sy_member_icon'];}$this->yunset("user",$user);$this->waptpl('photo');}}

2.这里的file_put_contents接收两个参数,两个参数均是来自于$_POST[‘uimage’],而且还经过了base64_decode的反编码,就可以无视WAF了。首先注册一个普通的用户,随便填一个简历,然后构造payload,如测试代码,就可以在我们的根目录下面生成一个php的一句话webshell。 官网没找到demo,就以官网中的排名第一个的案例http://.../(电商人才网)演示漏洞 参照测试代码,构造payload,你以为最后的时间戳还要爆破么,完全不用,使用burp抓包(不能直接访问,除非你是用手机访问的,因为这里验证了UA头,是电脑会被重定向,但是后面的代码仍然可以执行),访问http://.../wap/member/index.php?c=photo&m=index(这里不post任何数据,就可以直接看到当前的头像,里面有我们传好的webshell)

http://.../datahttps://images.seebug.org/upload/user/20160330/1459344569.php 3,同样的问题还出现在wap/member/model/com.class.php。
漏洞证明:

http://.../datahttps://images.seebug.org/upload/user/20160330/1459344569.php 按照管理员大大的要求再提供案例吧,都只传phpinfo,没问题吧 1.http://.../datahttps://images.seebug.org/upload/user/20160331/1459407471.php 2.http://.../datahttps://images.seebug.org/upload/user/20160331/1459407615.php 3.http://.../datahttps://images.seebug.org/upload/user/20160331/1459407983.php 4.http://.../datahttps://images.seebug.org/upload/user/20160331/1459408176.php 5.http://.../datahttps://images.seebug.org/upload/user/20160330/1459344569.php 6.http://.../datahttps://images.seebug.org/upload/user/20160331/1459408409.php

PHPYUN任意文件上传导致GETSHELL相关推荐

  1. 任意文件上传mysql_[代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)...

    0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...

  2. php批量getshell,任意文件上传引发的批量Getshell到服务器 - WileySec's Blog

    昨天闲来没事干,看了看娱乐网,看到有人发布了表白墙源码,本着这肯定有漏洞的心去测了一下,果然有漏洞存在任意文件上传直接Getshell,而后写了一个一键Getshell脚本批量. Feature 漏洞 ...

  3. 文件上传漏洞_通达OA前台任意文件上传漏洞+文件包含漏洞导致getshell

    点击蓝字|关注我们 通达OA前台任意文件上传漏洞 +文件包含漏洞导致getshell 一.漏洞介绍/Profile/ 通达OA介绍: 通达OA(Office Anywhere网络智能办公系统)是由北京 ...

  4. 通达+oa+php+文件+乱,通达OA 任意文件上传+文件包含导致RCE

    0x00 漏洞描述 ispirit/im/upload.php存在绕过登录(任意文件上传漏洞),结合gateway.php处存在的文件包含漏洞,最终导致getshell,或者直接利用日志文件写入she ...

  5. 某OA ajax.do 未授权漏洞任意文件上传getshell复现

    某OA ajax.do 未授权漏洞任意文件上传getshell复现 0x00 简介 某OA A8 是一款流行的协同管理软件,在各中.大型企业机构中广泛使用. 由于某旧版本某些接口能被未授权访问,并且部 ...

  6. 通达OA v11.3 以下版本 任意文件上传加文件包含导致命令执行漏洞在线实验环境

    转载自: [通达OA <= v11.3 任意文件上传+文件包含导致命令执行漏洞利用]- https://store.vsplate.com/cn/post/519/ 在线环境地址:https:/ ...

  7. FHAdmin任意文件上传getShell渗透测试

    简介 FHAdmin于2014年发布,由JAVA语言编写,是集成了代码生成.权限管理等基础功能的Java快速开发框架及平台,同时为适应技术的更新的迭代,也推出了更新框架和技术架构后的版本. 漏洞复现 ...

  8. UEditor 任意文件上传漏洞

    1 漏洞简介 1.1 漏洞描述 Ueditor是百度开发的一个网站编辑器,目前已经不对其进行后续开发和更新,该漏洞只存在于该编辑器的.net版本.其他的php,jsp,asp版本不受此UEditor的 ...

  9. 畅捷通T+ v17任意文件上传漏洞复现

    1.前言 8月29晚上就开始收到通知,让我们来排查一下是否有使用畅捷通的系统,说是疑似0day导致很多用户被植入勒索病毒,一时间风头十足.第二天很多平台都更新的防护策略,本次漏洞是任意文件上传漏洞,如 ...

最新文章

  1. torch.nn.softmax()
  2. configure: error: newly created file is older than distributed files!
  3. oracle 12.1的那些坑
  4. 舒尔特注意力训练表格_星孩注意力总是不集中?这些方法别错过
  5. wxWidgets:类型Types 示例
  6. gan神经网络_神经联觉:当艺术遇见GAN
  7. Taro+react开发(10)--多行选择
  8. python-kafka 常用 api 汇总
  9. mvc 调用其他控制器方法session丢失_Java从入门到放弃;MVC 模式
  10. LUNA16_Challange数据预处理4
  11. mysql密码登陆过程_mysql单实例忘记密码如何登陆过程
  12. 二叉树进阶之寻找一棵二叉树中的最大二叉搜索子树
  13. TatukGIS - GisDefs - CanonicalSQLName 函数
  14. LCD12864显示屏原理及使用教程
  15. ios手机上java最好的编辑器_程序员编程利器:20款最好的免费的IDEs和编辑器
  16. 宁静以致远——浅析《临江仙.滚滚长江东逝水》
  17. 【深入理解TcaplusDB技术】详细介绍TDR表数据类型
  18. 计算机学习(四)基本电路原理——实现反相控制
  19. 3d打印,机器人,计算机,3D打印的机器人将教孩子计算机编码!
  20. 英文写作中常用的逻辑词汇

热门文章

  1. 社区发现算法SCAN(python实现)
  2. python中len用法_Python Pandas Series.str.len()用法及代码示例
  3. 网站建设过程中流行的50种字体—金瑞帆高端建站
  4. 一张图说明TCP和UCP协议
  5. 简单文件备份工具(C#)
  6. Opencv VideoCapture读取高帧率摄像头
  7. Python实现基于Fasttext的商品评论数据分类
  8. 6、远程终端工具安装
  9. buuctf 梅花香之苦寒来(根据坐标绘图)
  10. 2014年12月23号 中兴通讯南京研发中心实习生面试