简要描述:
简单到你难以想象,只要网站还可以注册就可以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. Gitlab Issue Tracker and Wiki(一)
  2. 用git进行项目搭建
  3. linux怎么安装vim?
  4. 十二、深入Java的循环语句
  5. CRM数据如何让企业未卜先知
  6. 文献记录(part16)--Learning Bayesian Network Classifiers: Searching in a Space of Partially ...
  7. mvn 打包_Spark源码打包编译的过程
  8. bzoj2282 [Sdoi2011]消防 直径+二分+树dp
  9. 震惊!原来leetcode竟然真的能中奖?
  10. 项目开发文档编写规范
  11. android 让程序在后台运行,android – 如何让我的应用程序在后台运行?
  12. Android AVD 存放路径修改
  13. 什么是零点漂移,怎么抑制零点漂移?(硬件每日一题)
  14. 如何用自签名证书为.sis文件签名
  15. 使用vite安装vue3.0(不是脚手架)
  16. 【操作系统】判断题汇总大全
  17. 使用BadBoy录制JMeter脚本
  18. dumpsys activity 查看系统运行了哪些任务?
  19. SOI round1 题解
  20. solidity 基础讲解

热门文章

  1. 销售管理之调拨销售管理
  2. car-evaluation/逻辑回归
  3. DSP处理FFT和DFT时需要运算的次数及计算公式
  4. Beat 'Em Up Game Starter Kit (横版格斗游戏) cocos2d-x游戏源码
  5. 发力新基建 易捷行云EasyStack跻身政务云创新排行榜TOP10
  6. ActiveMQ的消息重发机制
  7. 机器学习项目(五) 电影推荐系统(七)WideDeep
  8. 倪健中会长应邀出席首届世界数贸易博览会致辞:把杭州打造成全球数字贸易元宇宙之都
  9. 操作系统常问面试问题 3 —— 死锁(deadlock)(产生的条件、死锁避免(银行家算法)、死锁检测)
  10. oracle怎么deadlock,Oracle Deadlock