Web应用&架构搭建&站库分离&路由访问&配置受限&DNS解析
字数 1639 2025-08-22 12:23:41
Web应用安全基础:架构搭建与关键概念详解
一、云服务器搭建基础
1.1 阿里云服务器快速搭建
- 推荐使用Windows Server 2012 R2镜像
- 实例释放流程:不使用时应及时取消服务器以避免持续扣费
- 最佳实践:使用Windows自带的远程桌面连接(RDP)而非云平台自带操作窗口
二、域名与子域名
2.1 子域名概念
- 示例:
www.xiaosedi123.fun是主域名xiaosedi.fun的子域名 - 绑定原理:需在服务器上明确绑定子域名才能正常访问
- 渗透测试意义:
- 主域名防御强时,子域名可能成为薄弱环节
- 扩大攻击面的重要手段
- 子域名收集是信息收集的关键环节
三、端口基础
3.1 端口概念
- 默认HTTP端口:80(
www.baidu.com等价于www.baidu.com:80) - 非标准端口示例:
xiaodi.xiaosedi.fun:88 - 渗透测试意义:
- 端口总数:65535个
- 特定服务通常使用约定俗成的默认端口
- 端口扫描是信息收集的重要组成部分
四、目录与接口
4.1 目录概念
- 示例:
www.xiaosedi123.fun/blog/zb_install/中/blog/zb_install/为目录 - 常见敏感目录:
/admin/- 管理员后台/install/- 安装目录/backup/- 备份目录
4.2 接口概念
- 本质:程序方法的调用
- 示例:
www.baidu.com/com/example/animals/Animal.java - 渗透测试要点:
- 通过爆破、枚举、扫描收集接口
- 检查未授权访问漏洞
- 验证接口权限控制是否合理
五、网站权限控制
5.1 目录权限设置
- 权限类型:读、写、执行
- 安全影响:
- 限制目录权限可阻止木马执行
- 但过度限制会影响正常用户访问
- 渗透测试要点:
- 上传目录的选择至关重要
- 检查目录是否具有执行权限
5.2 身份验证配置
- 示例:Windows身份验证要求服务器账号密码
- 绕过难度:通常较难,需依赖社工或信息收集
- 防御价值:有效增加未授权访问的难度
六、站库分离架构
6.1 基本概念
- 传统架构:网站与数据库同服务器
- 分离架构:网站与数据库位于不同服务器
6.2 数据库部署形式
- 云数据库
- SQL注入危害降低,仅能获取数据
- 数据库服务器
- 可配置IP白名单限制连接
- 对象存储OSS
- 仅提供存储功能,无法执行上传文件
6.3 安全优势
- 大幅提高安全性
- 限制攻击者横向移动能力
- 数据库服务器被攻陷不代表网站服务器失陷
七、源码分类
7.1 主要类型
- 开源代码
- 可查看与不可查看两种形式
- 示例:加密开源代码、Java的.class文件
- 商业代码
- 自写代码
- 大公司常用
- 保密性最高,安全性通常较好
7.2 白盒测试条件
- 依赖开源代码或源码泄露
- 加密或编译后的代码难以直接分析
八、路由访问控制
8.1 基本概念
- 限制特定IP才能访问特定目录
- 示例配置:
允许:192.168.1.100访问/admin/ 拒绝:其他IP访问/admin/
九、文件解析机制
9.1 文件处理设置
- 可配置不同文件类型的处理方式
- 常见情况:
- 图片:直接打开
- PHP/ASP/JSP:下载或执行
- 安全影响:
- 决定上传文件能否被执行
- 错误配置可能导致安全漏洞
十、站点分类
10.1 主要类型
- 云站点
- 基于阿里云、华为云等平台
- 安全性由云服务商部分保障
- Docker站点
- 基于镜像构建
- 分站点
- 主站点下嵌套子站点
- 攻击面实际指向主站点
- 集成软件站点
- 基于宝塔、小皮面板等搭建
10.2 安全性比较
- 云站点和分站点相对更安全
- 集成软件站点可能存在已知漏洞
渗透测试关键点总结
-
信息收集是基础:
- 子域名枚举
- 端口扫描
- 目录爆破
-
权限控制是核心防御:
- 最小权限原则
- 身份验证机制
- 站库分离架构
-
攻击面扩展策略:
- 主站防御强时转向子域名
- 标准端口受限时尝试非常规端口
- 常规路径受阻时寻找隐藏接口
-
环境配置影响攻击有效性:
- 文件解析设置决定木马能否执行
- 目录权限限制攻击者活动空间
- 路由访问控制限制攻击入口