0x01 写在前面

某次对目标的渗透中,发现了疑似前台上传漏洞,反复测试后无法成功利用,多方探寻最终成功getshell的过程。

0x02 信息收集

这次的目标是一个APP分发平台,对这一类的网站接触较少,事实上大都存在漏洞。

IPlocation:HK

环境:nginx + mysql + php

0x03 前台上传漏洞发现

打开首页,赫然发现登录与注册:

常规注册:

常规登录:

映入眼帘的便是一处上传,真是踏破铁鞋无觅处,安排!

我们先测试上传功能是否正常,先传个apk测试,当然了,这里不能没有我们的神器burp:



这个返回有点奇怪,是上传点的问题?还是检验了apk的真实性?为了验证答案,我们到应用宝随便下了个apk包,再次尝试:

成功传上去了,说明上传点是没有问题的,看下请求包:

与刚才上传失败的请求包没有太大的异同,说明刚才其实也是上传成功了,只是没解析出来apk应用。

我们继续,该祭出我们的shell了,直接php后缀走起:



不出所料,卡在了解析应用这个步骤,但是请求包是没有问题了,到这里顿时感觉有戏。

0x04 踩坑过程

webshell成功上传上去了,但是此时的我并没有露出猥琐的微笑,因为此时遇到了一个世纪难题,php传到哪去了?

遇事莫慌,还记得刚才上传的apk吗?我们查找apk的上传路径,再顺推出php的上传路径不就完事了吗。点击管理:



果然发现apk地址,顺便还发现了另一处上传点:

愉快得点击提取:



what?竟然是MD5命名,你绝对是在刚我!不慌,先复制出文件路径:

https://www.xxxxx.com/data/attachment/5b324d160ef9bc0a5843235e6ebf9fce.apk

这里我们只能盲猜MD5的加密方式了,想起返回包中有时间戳参数,难道就是时间戳MD5命名,尝试一下:





看来事情并没有那么简单!此时我们又心生一计,既然我不知道你的MD5加密方式,那我找到你的源码不就知道了吗?嗯哼,百度谷歌大法:

在各大搜索引擎搜索了app分发平台源码、零度云分发平台源码、囤主题分发源码等关键词后,发现源码大都需要付费下载。

这里并不是我们抠门,而是万一我们下载回来的源码和目标对应不上那我们不就损失大发了(其实还是抠_)。好在我们还是得到了一份免费的源码:

但是遗憾的是这个源码并没有/source/pack/upload/index-uplog.php,简单查看了index-uping.php的代码,发现并没有apk文件后缀的处理:

uplog.php也没有有用的发现:

此时我们还不能放弃,通过fofa搜索关键词,我们可以找到很多类似的模板,后面的工作就是通过批量扫描网站备份文件来获取源码了。

0x05 突破

在扫描了N个同类型模板备份文件后,依然没有获得我们想要的源码,正在苦恼之际,无意中点开同类型网站的一个robots:

EarCMS?踏破铁鞋无觅处,得来还挺费功夫!火速百度:

what?已经有相关的分析文章了,一秒十行的速度通读了全文,原来我们的shell躺着/data/tmp/下,名字竟然只是时间戳!!

文章链接:

https://xz.aliyun.com/t/5873

火速测试:

诚不欺我!shell到手,上蚁剑:

打完收工。

0x06 写在最后

此次案例再次体现了信息收集的重要性!做好信息收集能让我们少走太多冤枉路。渗透的本质是信息收集~!

某次无中生有的getshell过程的更多相关文章

  1. GoldenEye靶机work_through暨CVE-2013-3630复现

    前言 备考OSCP,所以接下来会做一系列的OSCP向靶机来练手 靶机描述 I recently got done creating an OSCP type vulnerable machine th ...

  2. VulnHub靶场渗透之:Gigachad

    环境搭建 VulnHub是一个丰富的实战靶场集合,里面有许多有趣的实战靶机. 本次靶机介绍: http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文 ...

  3. c++ primer plus 第6版 部分二 5- 8章

    ---恢复内容开始--- c++ primer plus 第6版 部分二    5-  章 第五章 计算机除了存储外 还可以对数据进行分析.合并.重组.抽取.修改.推断.合成.以及其他操作 1.for ...

  4. 简单记录一次getshell到进服务器的过程

    通过st2命令执行上次木马进行getshell 查看whoami,发现权限是administrator,直接net user xxx xxx123.. /add,发现拒绝访问 通过命令tasklist ...

  5. Drupal 7.31SQL注入getshell漏洞利用详解及EXP

    0x00 这个漏洞威力确实很大,而且Drupal用的也比较多,使用Fuzzing跑字典应该可以扫出很多漏洞主机,但是做批量可能会对对方网站造成很大的损失,所以我也就只是写个Exp不再深入下去. 0x0 ...

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

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

  7. MIPCMS V3.1.0 远程写入配置文件Getshell过程分析(附批量getshell脚本)

      作者:i春秋作家--F0rmat 0×01 前言 今天翻了下CNVD,看到了一个MIPCMS的远程代码执行漏洞,然后就去官网下载了这个版本的源码研究了下.看下整体的结构,用的是thinkPHP的架 ...

  8. Typecho反序列化导致前台 getshell 漏洞复现

    Typecho反序列化导致前台 getshell 漏洞复现 漏洞描述: Typecho是一款快速建博客的程序,外观简洁,应用广泛.这次的漏洞通过install.php安装程序页面的反序列化函数,造成了 ...

  9. PHPCMS9.6.0最新版SQL注入和前台GETSHELL漏洞分析 (实验新课)

    PHPCMS9.6.0最新版中,由于/modules/attachment/attachments.php的过滤函数的缺陷导致了可以绕过它的过滤机制形成SQL注入漏洞,可导致数据库中数据泄漏. 而且在 ...

随机推荐

  1. 确保 PHP 应用程序的安全 -- 不能违反的四条安全规则(转)

      规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数 ...

  2. CSS 奇思妙想 | 巧妙的实现带圆角的三角形

    之前在这篇文章中 -- <老生常谈之 CSS 实现三角形>,介绍了 6 种使用 CSS 实现三角形的方式. 但是其中漏掉了一个非常重要的场景,如何使用纯 CSS 实现带圆角的三角形呢?,像 ...

  3. SpEL表达式总结(转)

    前言 SpEL(Spring Expression Language),即Spring表达式语言,是比JSP的EL更强大的一种表达式语言.为什么要总结SpEL,因为它可以在运行时查询和操作数据,尤其是 ...

  4. 小哈学Python ----XML

    XML XML是实现不同语言或程序之间进行数据交换的协议,XML文件格式如下: <data> <country name="Liechtenstein"> ...

  5. 【网络IO系列】 预备知识 操作系统之内核程序和用户程序

    一.概念 首先我们先来复习一下操作系统的概念和作用 操作系统是用户和硬件之间的一层媒介程序,为上提供编程接口,为下调用资源,管理驱动,以使用硬件. 从以上的表述我们可以看出OS的两点作用,第一个是对下 ...

  6. c语言:解释程序和编译程序

    编译程序和解释程序是程序执行的两种不同执行方式. 编译程序:编译程序的功能是把用高级语言书写的源程序翻译成与之等价的目标程序.编译过程划分成词法分析.语法分析.语义分析.中间代码生成.代码优化和目标代 ...

  7. 【重构】Bilibili UWP 客户端下载视频文件重命名 2.0

    代码已上传Github:https://github.com/zsy0216/BatchModifyBilibiliName 较 master 分支的改变: - 优化了重命名的代码,覆盖更全面,更准确 ...

  8. 【原创】如何通过-y和-v使用库文件

    在进行仿真时,经常遇到设计代码中需要调用一些标准的库文件,但是在设计的编译列表filelist中却没有相应的库文件,这时为了完成仿真,需要设计人员提供对应的库文件或者库文件所在的路径,然后仿真时将这些 ...

  9. 《鸟哥Linux私房菜》 全套视频和PDF资料—— 老段带你学鸟哥Linux视频课程

    <鸟哥的Linux私房菜-基础篇-服务器篇(第三版)>学习Linux极为经典的入门资料,但是还是很多同学难以坚持系统的看完整本书,最终以放弃而告终. 为了帮助大家更容易入门Linux,老段 ...

  10. React优化

    这里主要分析在函数式react中的优化,类组件有生命周期函数定义较明确 React的核心特征之一是单向数据流(props自上往下流) 这会导致一个问题:当父组件state更新后,其自身及其所有chil ...