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. mybatis框架的第二天

    一.mybatis的基础crud的操作 先在接口中,写对应的方法名称,返回类型,访问符. 之后在映射配置文件中,写具体的实现 二.mybati中crud的细节 1.模糊查询 这是接口中 这是xml中 ...

  2. postgresql行列转换

    --安装扩展 CREATE EXTENSION tablefunc --使用CROSSTAB函数 SELECT * FROM CROSSTAB('SELECT 主键, 需转换的列名, 需转换的列值 F ...

  3. 2021最新WordPress安装教程(二):安装PHP和MySQL

    这是 2021最新WordPress安装教程系列的第二篇文章,前一篇文章< 2021最新WordPress安装教程(一):Centos7安装Apache>已经完整的介绍了如何在Centos ...

  4. CVE-2017-12615 Tomcat远程代码执行

    影响版本: Apache Tomcat 7.0.0 - 7.0.81 ps:安装Tomcat需要安装jdk(JAVA环境) 下面来正经复现,Payload: 利用burpsuite 进行抓包 发送到r ...

  5. 学前端的第一门语言HTML

    学前端最终要做的就是制作各种各样的网页,html就相当于网页的骨架,所以我们学习前端的第一步就是先学html,接下来学习什么是html. 什么是HTML? HTML指的是超文本标记语言(Hyper T ...

  6. [刘阳Java]_CSS鼠标悬停

    小白在学习前端技术时候,一定会在刚开始的时候学习CSS2和CSS3的相关知识.这篇内容给大家介绍一个CSS鼠标悬停的效果.大家可以先看下面的效果图,然后我们在说一下实现的效果要求吧 上图效果非常简单和 ...

  7. 莫比乌斯反演&整除分块学习笔记

    整除分块 用于计算$\sum_{i=1}^n f(\lfloor{n/i} \rfloor)*i$之类的函数 整除的话其实很多函数值是一样的,对于每一块一样的商集中处理即可 若一个商的左边界为l,则右 ...

  8. 每天五分钟Go - 闭包

    闭包的示例代码 func getSequence() func() int{ i:=0 return func() int { i+=1 return i } } 首先,函数名getSequence, ...

  9. 【知识详解】Https详解

    Https详解 1.什么是Https Http + SSL = Https 一句话说:Https是身披SSL的Http,当使用了SSL后,Http先和SSL通信,再由SSL和TCP通信, 2.为什么需 ...

  10. C++第四十三篇 -- VS2017创建控制台程序勾选MFC类库

    用VS2017创建EXE带MFC类库方法 1. File --> New --> Project 2. Windows桌面向导 3. 勾选MFC类库 4. 创建成功 如果项目编译出错 1. ...