网络空间安全(37)获取webshell方法总结

news2025/3/20 17:32:03

一、直接上传获取Webshell

       这是最常见且直接的方法,利用网站对上传文件的过滤不严或存在漏洞,直接上传Webshell文件。

常见场景

       许多PHP和JSP程序存在此类漏洞。例如,一些论坛系统允许用户上传头像或心情图标,攻击者可以将Webshell伪装成这些文件类型进行上传。

示例

①PHP系统:在允许上传图片或头像的地方,将Webshell代码嵌入图片中(如使用GIF图片作为载体,将Webshell代码写在图片文件的注释部分),然后上传。

②JSP系统:直接上传JSP格式的Webshell文件,利用系统对文件类型检测不严的漏洞。

二、添加或修改上传类型

       许多脚本程序的上传模块允许用户添加上传类型,攻击者可以通过修改上传类型来绕过限制,上传Webshell。

操作方式

①在后台管理界面中,找到上传类型设置选项。添加允许上传的文件类型,如.asa.asp.php.gif等。

②由于某些服务器或脚本解析引擎对文件后缀的解析存在漏洞,这些看似非可执行的文件类型实际上可以被当作脚本执行。

示例

①在某些论坛系统的后台,添加.asa类型,然后上传.asa后缀的Webshell文件。

②利用PHP的特性,上传.php.gif文件,由于PHP会忽略点号后的内容,将其作为PHP脚本执行。

三、利用后台管理功能写入Webshell

       进入网站后台后,通过修改配置文件或利用后台的某些功能,将Webshell代码写入服务器。

常见方法

①修改配置文件:在后台找到网站配置文件(如config.phpweb.config等),直接插入Webshell代码。

②利用友情链接等功能:某些系统允许用户添加友情链接,攻击者可以在链接名称或URL中写入Webshell代码。

示例

1.在某论坛系统的后台,找到友情链接管理界面,添加一个新的友情链接,在链接名称处写入Webshell代码。

2.修改网站配置文件,如config.php,在其中插入<?php eval($_POST['cmd']); ?>等代码。

四、利用后台数据库备份及恢复功能

       许多网站后台提供数据库备份和恢复功能,攻击者可以通过该功能将Webshell代码写入数据库备份文件,然后恢复为Webshell文件。

操作步骤

①上传一张包含Webshell代码的图片或文件。

②在后台数据库备份功能中,将上传的文件备份为可执行的脚本文件(如.asp.php)。

③通过恢复备份文件,将Webshell部署到服务器上。

示例

1.在某CMS系统的后台,上传一张包含<% eval request("cmd") %>代码的JPG图片。

2.在数据库备份功能中,将该图片备份为shell.asp文件。

3.通过恢复备份,将shell.asp文件部署到网站根目录。

五、利用解析漏洞

       某些服务器或脚本解析引擎对文件后缀的解析存在漏洞,攻击者可以利用这些漏洞将非可执行文件类型解析为可执行脚本。

常见漏洞

1.IIS解析漏洞:IIS服务器在某些情况下,会将.asp;jpg后缀的文件解析为ASP脚本。2.Apache解析漏洞:Apache服务器在解析PHP文件时,如果文件名中包含.php.,会将其后的内容忽略,只解析.php部分。

示例

1.利用IIS解析漏洞,上传shell.asp;jpg文件,服务器会将其解析为shell.asp并执行。

2.利用Apache解析漏洞,上传info.php.jpg文件,服务器会将其解析为info.php并执行。

六、利用编辑器漏洞

许多网站在编辑界面使用了存在已知漏洞的编辑器,攻击者可以利用这些漏洞直接上传Webshell或配合解析漏洞进行攻击。

  • 常见编辑器漏洞

    • FCKeditor漏洞:允许用户上传任意类型的文件,并通过修改文件后缀绕过限制。
    • ewebeditor漏洞:存在文件上传类型绕过漏洞,允许上传非法的文件类型。
  • 示例

    • 在使用FCKeditor的网站编辑界面中,上传一个.php后缀的文件,并通过修改文件后缀为.jpg绕过限制。
    • 利用ewebeditor的漏洞,上传一个包含Webshell代码的.asp文件。

七、修改网站模板或脚本文件

       攻击者可以通过修改网站模板或脚本文件,将Webshell代码嵌入其中,当页面被访问时,Webshell代码被执行。

常见方法

1.修改模板文件:找到网站使用的模板文件(如.html.asp.php等),插入Webshell代码。

2.修改脚本文件:在网站的脚本文件(如登录脚本、注册脚本等)中插入Webshell代码。

示例

1.在某CMS系统的模板文件中,插入<% eval request("cmd") %>代码。

2.修改网站的登录脚本文件,在登录成功后执行的代码中插入Webshell代码。

八、利用SQL注入写入Webshell

       如果网站存在SQL注入漏洞,攻击者可以通过注入SQL语句,将Webshell代码写入数据库,然后利用数据库导出功能或文件包含漏洞将Webshell部署到服务器上。

操作步骤

①利用SQL注入漏洞,获取数据库的管理权限。

②通过SQL语句,将Webshell代码写入数据库的某个表中。

③利用数据库导出功能或文件包含漏洞,将Webshell代码导出为文件并执行。

示例

1.在存在SQL注入漏洞的网站中,注入INSERT INTO users (username, password) VALUES ('admin', '<?php eval($_POST['cmd']); ?>')语句,将Webshell代码写入users表。

2.通过某种方式(如文件包含漏洞)访问该记录,触发Webshell代码的执行。

九、文件包含漏洞

       某些网站存在文件包含漏洞,攻击者可以利用该漏洞,上传一个包含Webshell代码的文本文件(如.txt),然后通过文件包含功能执行其中的代码。

常见漏洞

①本地文件包含:允许包含服务器上的任意文件。

②远程文件包含:允许包含远程服务器上的文件。

示例

1.在存在本地文件包含漏洞的网站中,上传一个包含<?php eval($_POST['cmd']); ?>代码的shell.txt文件。

2.通过文件包含功能访问shell.txt文件,触发Webshell代码的执行。

十、其他高级方法

1.0day漏洞:指尚未被公开披露的软件漏洞,攻击者可以利用这些漏洞直接获取服务器的控制权。

2.社会工程学攻击:通过欺骗、诱导等手段,获取目标系统的访问权限或敏感信息,进而获取Webshell。

防范措施:

1.加强文件上传管理:严格限制上传文件的类型,对上传的文件进行严格的安全检测。

2.修复已知漏洞:定期更新网站软件和插件,及时修复已知的安全漏洞。

3.配置防火墙和入侵检测系统:配置防火墙规则,限制对敏感端口的访问;部署入侵检测系统,及时发现并阻止可疑的攻击行为。

4.定期备份数据:定期备份网站数据和配置文件,以便在遭受攻击时能够快速恢复。

5.加强权限管理:对网站文件和目录设置合理的权限,限制用户对敏感文件和目录的访问。

 结语         

不要只想努力成为一个成功的人

更要努力成为一个有价值的人

!!!

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

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

相关文章

第十三次CCF-CSP认证(含C++源码)

第十三次CCF-CSP认证 跳一跳满分题解 碰撞的小球满分题解遇到的问题 棋局评估满分题解 跳一跳 题目链接 满分题解 没什么好说的 基本思路就是如何用代码翻译题目所给的一些限制&#xff0c;以及变量应该如何更新&#xff0c;没像往常一样给一个n&#xff0c;怎么读入数据&…

swagger ui 界面清除登录信息的办法

我们在开发过程中&#xff0c;用swagger ui 测试接口的时候&#xff0c;可能会要修改当前登录的用户。 但是如果我们在谷歌中对调试的本地swagger ui 登录地址存储过账户密码&#xff0c;每次启动项目调试之后&#xff0c;都会自动登录swagger ui &#xff0c;登录界面一闪就…

TensorFlow 的基本概念和使用场景

TensorFlow 是一个由 Google 开发的开源机器学习框架&#xff0c;主要用于构建和训练深度学习模型。下面是一些 TensorFlow 的基本概念和使用场景&#xff1a; 基本概念&#xff1a; 张量&#xff08;Tensor&#xff09;&#xff1a;在 TensorFlow 中&#xff0c;数据以张量的…

基于x11vnc的ubuntu远程桌面

1、安装VNC服务 sudo apt install x11vnc -y2、创建连接密码 sudo x11vnc -storepasswd3、安装lightdm服务 x11vnc 在 默认的 GDM3 中不起作用&#xff0c;因此需要使用 lightdm 桌面管理环境 sudo apt install lightdm -y切换至lightdm&#xff0c;上一步已经切换则跳过该…

Cursor解锁Claude Max,助力AI编程新突破!

Cursor 最新推出的 Claude Max 模型&#xff0c;以其卓越的性能和创新的能力&#xff0c;正在重新定义我们对 AI 辅助编程的认知。这款搭载 Claude3.7 大脑的超级模型&#xff0c;不仅具备超强智能&#xff0c;还凭借一系列技术突破&#xff0c;向传统 AI 编程工具发起了挑战。…

ESP8266 与 ARM7 接口-LPC2148 创建 Web 服务器以控制 LED

ESP8266 与 ARM7 接口-LPC2148 创建 Web 服务器以控制 LED ESP8266 Wi-Fi 收发器提供了一种将微控制器连接到网络的方法。它被广泛用于物联网项目,因为它便宜、体积小且易于使用。 在本教程中,我们将 ESP8266 Wi-Fi 模块与 ARM7-LPC2148 微控制器连接,并创建一个 Web 服务…

通过C#脚本更改材质球的参数

// 设置贴图Texture mTexture Resources.Load("myTexture", typeof(Texture )) as Texture;material.SetTexture("_MainTex", mTexture );// 设置整数material.SetInt("_Int", 1);// 设置浮点material.SetFloat("_Float", 0.1f);// 设…

FPGA管脚约束

目录 前言 一、IO约束 二、延迟约束 前言 IO约束包括管脚约束和延迟约束。 一、IO约束 对管脚进行约束&#xff0c;对应的约束语句&#xff1a; set_property -dict {PACKAGE_PIN AJ16 IOSTANDARD LVCMOS18} [get_ports "led[0]" ] 上面是单端的管脚&…

实现前端.ttf字体包的压缩

前言 平常字体包都有1M的大小&#xff0c;所以网络请求耗时会比较长&#xff0c;所以对字体包的压缩也是前端优化的一个点。但是前端如果想要特点字符打包成字体包&#xff0c;网上查阅资料后&#xff0c;都是把前端代码里面的字符获取&#xff0c;但是对于动态的内容&#xf…

uni-app集成保利威直播、点播SDK经验FQ(二)|小程序直播/APP直播开发适用

通过uniapp集成保利威直播、点播SDK来开发小程序/APP的视频直播能力&#xff0c;在实际开发中可能会遇到的疑问和解决方案&#xff0c;下篇。更多疑问请咨询19924784795。 1.ios不能后台挂起uniapp插件 ios端使用后台音频播放和画中画功能&#xff0c;没有在 manifest.json 进…

Sensodrive机器人力控关节模组SensoJoint在海洋垃圾清理机器人中的拓展应用

海洋污染已成为全球性的环境挑战&#xff0c;其中海底垃圾的清理尤为困难。据研究&#xff0c;海洋中约有2600万至6600万吨垃圾&#xff0c;超过90%沉积在海底。传统上&#xff0c;潜水员收集海底垃圾不仅成本高昂&#xff0c;而且充满风险。为解决这一问题&#xff0c;欧盟资助…

Git的基本指令

一、回滚 1.git init 在项目文件夹中打开bash生成一个.git的子目录&#xff0c;产生一个仓库 2.git status 查看当前目录下的所有文件的状态 3.git add . 将该目录下的所有文件提交到暂存区 4.git add 文件名 将该目录下的指定文件提交到暂存区 5.git commit -m 备注信…

Vitis 2024.1 无法正常编译custom ip的bug(因为Makefile里的wildcard)

现象&#xff1a;如果在vivado中&#xff0c;添加了自己的custom IP&#xff0c;比如AXI4 IP&#xff0c;那么在Vitis&#xff08;2024.1&#xff09;编译导出的原本的.xsa的时候&#xff0c;会构建build失败。报错代码是&#xff1a; "Compiling blank_test_ip..."…

Elasticsearch 在航空行业:数据管理的游戏规则改变者

作者&#xff1a;来自 Elastic Adam La Roche 数字化客户体验不再是奢侈品&#xff0c;而是欧洲航空公司必不可少的需求。它推动了客户满意度&#xff0c;提升了运营效率&#xff0c;并创造了可持续的竞争优势。随着行业的不断发展&#xff0c;优先投资前沿数字技术和平台的航空…

DeepSeek 模型的成本效益深度解析:低成本、高性能的AI新选择

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

利用knn算法实现手写数字分类

利用knn算法实现手写数字分类 1.作者介绍2.KNN算法2.1KNN&#xff08;K-Nearest Neighbors&#xff09;算法核心思想2.2KNN算法的工作流程2.3优缺点2.4 KNN算法图示介绍 3.实验过程3.1安装所需库3.2 MNIST数据集3.3 导入手写数字图像进行分类3.4 完整代码3.5 实验结果 1.作者介…

基于springboot+vue的调查问卷平台

一、系统架构 前端&#xff1a;vue | element-ui | echarts 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.8 | mysql | maven 二、代码及数据 三、功能介绍 01. 注册 02. 登录 03. web端-问卷中心 04. web端-文章中心 05. 管理端-…

美摄接入DeepSeek等大模型,用多模态融合重构视频创作新边界!

今年以来&#xff0c;DeepSeek凭借其强大的深度推理分析能力&#xff0c;在AI领域掀起新的热潮。美摄科技快速响应市场需求&#xff0c;迅速接入以DeepSeek、通义千问、商汤、文心一言为代表的大模型&#xff0c;为企业视频创作生产带来全新体验。 传统视频创作面临着同质化、…

网络编程之客户端聊天(服务器加客户端共三种方式)

最终效果&#xff1a; serve.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/select.h>#define MAX_CLIENTS 2 // 只允许两个客户端 #define BUF_SIZE 1024i…

图莫斯TOOMOSS上位机TCANLINPro使用CAN UDS功能时 编写、加载27服务dll解锁算法文件

【本文发布于https://blog.csdn.net/Stack_/article/details/146303690&#xff0c;未经许可不得转载&#xff0c;转载须注明出处】 软件安装目录下找到如下压缩包&#xff0c;此为dll文件示例工程 使用VisualStudio打开工程GenerateKeyExImpl.vcxproj&#xff0c;可能会提示版…