1. 靶机环境搭建与初始扫描
这个靶机环境基于Ubuntu系统构建,模拟了一个存在多个漏洞的Web应用。我们需要通过渗透测试技术逐步获取系统权限并最终拿到flag。首先需要确保攻击机(Kali Linux)和靶机处于同一网络环境。
在VMware中配置网络时,建议使用NAT模式或桥接模式。我个人的经验是,桥接模式更容易出现IP冲突,而NAT模式更稳定。配置完成后,可以使用以下命令确认网络连通性:
bash复制ping -c 4 192.168.103.150
如果无法ping通,需要检查VMware的网络设置,确保两台虚拟机都使用相同的网络适配器。常见问题包括:
- 防火墙阻止了ICMP请求
- 靶机未正确获取IP地址
- 网络适配器配置错误
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 信息收集与端口扫描
使用arp-scan可以快速发现同一网段内的主机:
bash复制sudo arp-scan -l
这个命令会发送ARP请求并监听响应,比常规的ping扫描更可靠,特别是在某些主机禁用了ICMP响应的情况下。在实际渗透测试中,我经常遇到目标主机不响应ping但能通过arp-scan发现的情况。
接下来使用nmap进行更详细的端口扫描:
bash复制nmap -sV -O -T4 192.168.103.150
参数说明:
-sV:服务版本探测-O:操作系统探测-T4:加快扫描速度
扫描结果显示开放了22(SSH)和80(HTTP)端口。对于Web渗透测试,80端口通常是我们的首要目标。
3. Web应用漏洞挖掘
访问Web界面发现是一个登录页面。常见的测试方法包括:
- SQL注入测试
- 弱口令尝试
- 查看页面源代码寻找线索
尝试基本的SQL注入payload:
admin' --admin' OR '1'='1admin" OR ""="
发现输入特殊字符时返回"Illegal username"错误,初步判断有基本的输入过滤。使用sqlmap进一步验证:
bash复制sqlmap -u "http://192.168.103.150/login.php" --data="user=test&pass=test" --level=3 --risk
