小迪安全课程第一节复习笔记

网站搭建基础与安全测试影响因素


一、课程概述与核心思路

1.1 课程定位

  • 章节:基础入门 → 网站产品 → 常规类网站搭建

  • 课时:3次直播(本次为第1次,聚焦常规搭建)

  • 核心目标:从搭建角度理解组成结构,分析对应安全问题

  • 关键价值:8个知识点直接影响后续漏洞学习与渗透思路

1.2 课程覆盖范围

plain

复制

复制代码
网站产品(3次直播)
├── 常规类网站搭建(本次)
├── 集成软件/Docker/分站搭建(下次)
└── 小程序/人机应用/APP(后续)

其他章节:安全产品、抓包技术、算法等

二、网站搭建核心架构

2.1 四大组件(必备)

表格

组件 功能说明 安全影响
操作系统 Windows/Linux服务器系统 系统级漏洞、权限体系
中间件 IIS/Nginx/Apache等Web服务器 配置决定漏洞利用成败
数据库 数据存储与管理 架构决定数据获取难度
程序源码 网站业务逻辑实现 类型决定测试方法

2.2 环境搭建流程(云服务器版)

步骤1:资源准备

  • 购买云服务器(推荐阿里云/腾讯云按量付费,约0.3元/小时)

  • 注册域名并完成实名认证

步骤2:中间件安装

  • Windows Server示例:通过"添加角色和功能"安装IIS

  • 路径:服务器管理器 → 添加角色和功能 → 勾选"Web服务器(IIS)"

步骤3:源码部署

plain

复制

复制代码
1. 下载目标源码(如Z-Blog ASP博客程序)
2. 解压至网站目录(如C:\inetpub\wwwroot\blog)
3. IIS中添加网站 → 绑定域名 → 指定物理路径
4. 配置域名解析(A记录指向服务器IP)
5. 等待TTL生效(通常10分钟内)

关键注意点:域名解析与主机名绑定需一致,否则出现"未绑定"错误


三、网站部署模式与安全影响

核心原则:部署模式直接决定攻击面范围,信息收集需针对性调整

3.1 子域名模式

原理:同一主域名下,不同子域名指向不同程序/目录

表格

示例 指向内容 安全意义
www.xxx.com 官网首页 主站程序漏洞
bbs.xxx.com Discuz论坛 论坛程序漏洞
oa.xxx.com 通达OA系统 OA系统漏洞
blog.xxx.com WordPress博客 WP插件漏洞

测试要点

  • 每个子域名 = 独立目标

  • 需全面子域名枚举(工具:Sublist3r、OneForAll、Layer子域名挖掘机)

  • 不同程序 = 不同漏洞面

3.2 端口模式

原理:同一IP,不同端口运行不同应用

plain

复制

复制代码
示例:
8.218.70.35:80   → 企业官网(IIS+ASP)
8.218.70.35:8080 → 管理后台(Tomcat+Java)
8.218.70.35:8888 → 宝塔面板(集成环境)

测试要点

  • 端口扫描发现隐藏应用(nmap -sV -p 1-65535 target.com

  • 域名相同≠目标相同,每个端口是独立攻击点

  • 常见Web端口:80/443/8080/8443/8888/7001等

3.3 目录模式

原理:同一网站下,子目录部署独立源码

plain

复制

复制代码
示例:
http://xxx.com/        → 主站(Z-Blog)
http://xxx.com/blog/   → 子目录(WordPress)
http://xxx.com/bbs/    → 子目录(Discuz)

测试要点

  • 目录爆破发现嵌套应用(Dirsearch、御剑)

  • 任何子目录程序漏洞都会影响整体安全

  • 注意路径穿越与目录权限问题

3.4 特殊部署模式

表格

模式 特征 安全差异
集成软件(宝塔/PHPStudy) 一键部署环境 可能存在统一漏洞点,版本集中
Docker容器 镜像化部署 隔离性强,需容器逃逸
分站系统(网校平台) 平台分配子域名 测试对象是平台本身,非单个用户
自建机房 企业级物理服务器 与传统云架构差异大,需定制化思路

四、中间件配置与安全防御

核心原则:中间件三道防线(权限/认证/解析)可直接阻断漏洞利用

4.1 目录权限控制

防御原理:限制脚本执行权限

配置方法(IIS示例):

plain

复制

复制代码
1. 右键目标目录 → 编辑权限 → 安全选项卡
2. 选择用户组 → 勾选"拒绝"执行权限
3. 应用场景:图片上传目录、静态资源目录

攻防对抗

  • 防御效果:后门文件无法执行,返回401未授权

  • 绕过限制:寻找其他有执行权限的目录(如缓存目录、日志目录)

  • 关键限制:不能全局禁用执行权限,否则正常网站无法运行

4.2 身份验证机制【高频考点】

防御原理:操作系统级认证拦截

配置方法

plain

复制

复制代码
IIS → 身份验证 → 启用Windows身份验证 → 禁用匿名认证

核心特征

  • 访问需服务器本地账号密码

  • 无法绕过(Web层漏洞无法突破操作系统认证)

  • 有账号密码 = 可直接登录服务器,无需搞网站

测试应对:寻找未启用认证的其他入口,或转向其他攻击面

4.3 MIME类型解析

防御原理:控制文件解析方式

配置方法

plain

复制

复制代码
IIS → MIME类型 → 添加/修改扩展名映射
示例:.asp → image/png(将ASP解析为图片)

攻防对抗

  • 正常配置.aspapplication/x-asp(脚本执行)

  • 防御配置.aspimage/png(静态显示)

  • 攻击影响:WebShell上传后无法执行,仅显示乱码


五、数据库架构与安全演进

5.1 三种架构对比

表格

架构类型 部署方式 连接特征 渗透难度
本地存储(Access) 与源码同服务器 无账号密码,文件直读 ⭐⭐
站库分离 数据库独立服务器 需外网连接权限+账号密码 ⭐⭐⭐⭐
云数据库RDS 云服务托管 IP白名单/密钥认证/安全组 ⭐⭐⭐⭐⭐

5.2 Access数据库(本地存储)

特征

  • 单文件存储(.mdb.accdb

  • 无账号密码机制

  • 通过文件路径访问

渗透方法

plain

复制

复制代码
1. 定位数据库文件(常见路径:/data/、/database/、/app_data/)
2. 通过目录遍历或下载漏洞获取文件
3. 使用Office Access或专用工具打开
4. 提取敏感表:admin、users、config
5. 解密管理员密码(常见MD5或自定义加密)

关键文件conn.asp中通常包含数据库连接路径

5.3 站库分离架构

配置特征

asp

复制

复制代码
' conn.asp 示例
db_host = "8.218.72.88"      ' 数据库服务器IP(非Web服务器)
db_user = "sa"                ' 数据库账号
db_pass = "Password123"       ' 数据库密码
db_name = "zblog"             ' 库名

渗透影响

  • 即使获取账号密码,需外网连接权限才能访问

  • 数据库服务器可能限制连接IP(仅允许Web服务器访问)

  • SQL注入利用受限(无法直接连接提权)

5.4 云数据库RDS【新兴架构】

安全机制

  • 安全组规则:限制连接源IP

  • 密钥认证:替代传统账号密码

  • 内网隔离:无公网IP,需通过VPC访问

渗透适配

  • 传统连接方式可能完全失效

  • 需寻找SSRF漏洞访问云元数据服务

  • 利用云API密钥横向移动


六、源码类型与审计方法

6.1 三大类型特征

表格

类型 获取难度 安全系数 测试方法
开源代码 低(网上可下载) 白盒审计+黑盒测试
商业闭源 中(需购买) 黑盒测试为主
自研代码 高(无法获取) 纯黑盒,需定制化思路

6.2 开源代码的细分

表格

可见性状态 成因 处理方法
完全可见 原始源码未处理 直接代码审计
加密混淆 PHP/Zend加密、.NET混淆 寻找解密工具或转黑盒
语言特性 Java编译为.class、C#编译为DLL 反编译工具还原(JD-GUI、ILSpy)

6.3 源码结构识别

关键目录功能

表格

目录名 功能推测 安全价值
admin/manage/ 后台管理 未授权访问、弱口令
data/database/ 数据存储 数据库文件、备份文件
config/include/ 配置文件 数据库连接、密钥硬编码
upload/files/ 文件上传 上传漏洞、WebShell入口
template/themes/ 模板文件 模板注入、文件包含
api/mobile/ 接口目录 API未授权、越权漏洞

七、路由访问模式【易混淆点】

7.1 常规路由模式

特征:URL路径与文件系统路径一一对应

plain

复制

复制代码
示例:
URL: http://xxx.com/post/1.txt
实际路径:C:\inetpub\wwwroot\post\1.txt

访问逻辑:
域名绑定根目录 → 按URL路径逐级查找 → 返回对应文件

利用特征:上传后门后,直接访问URL即可触发

7.2 框架路由模式【高频考点】

特征:URL由配置文件映射,与物理路径无关

常见于:Java(Spring)、Python(Django/Flask)、PHP(ThinkPHP/Laravel)

plain

复制

复制代码
示例:
物理路径:/WEB-INF/classes/action/UserAction.class
URL路由:/user/login(通过web.xml或注解配置)

结果:
直接访问 /WEB-INF/classes/action/UserAction.class → 404
访问 /user/login → 正常触发

渗透影响

  • 文件存在≠可访问,必须按路由规则构造URL

  • 后门上传后需分析路由配置才能触发

  • 信息收集需识别框架类型(看URL特征、报错信息)


八、云原生架构安全【趋势重点】

8.1 对象存储OSS

传统上传漏洞利用链

plain

复制

复制代码
上传恶意脚本 → 保存至Web目录 → 访问执行 → GetShell

OSS架构改变

plain

复制

复制代码
上传文件 → 转存至OSS(如阿里云OSS、AWS S3)→ 返回访问URL
                              ↓
                    文件仅存储,无执行环境
                    访问URL返回静态文件内容

安全影响 :传统上传漏洞完全失效,需寻找其他入口

8.2 云数据库渗透路径

表格

传统手法 云环境限制 适配方案
直接连接数据库 安全组拒绝 SSRF访问元数据服务
账号密码爆破 使用IAM密钥 窃取凭证调用云API
SQL注入提权 无系统权限 利用注入读取其他租户数据

九、核心工具与命令汇总

9.1 信息收集(必学)

表格

工具 核心命令 用途
Nmap nmap -sV -p 1-65535 target.com 全端口扫描
nmap -sC -sV --script=vuln target.com 漏洞脚本扫描
Dirsearch python dirsearch.py -u http://target.com -e php,asp,aspx 目录爆破
Sublist3r python sublist3r.py -d target.com 子域名枚举

9.2 WebShell管理(必学)

表格

工具 适用场景 特征
哥斯拉(Godzilla) 加密通信需求 流量加密,绕过WAF
蚁剑(AntSword) 插件扩展需求 开源,插件市场丰富
冰蝎(Behinder) 高隐蔽需求 加密流量,特征隐蔽

9.3 数据库与反编译

表格

工具 用途 适用场景
Navicat 数据库可视化管理 常规数据库连接
SQLMap sqlmap -u "http://target.com?id=1" --dbs SQL注入自动化
JD-GUI Java反编译 .class/.jar文件还原
ILSpy/dnSpy .NET反编译 DLL/EXE还原源码

十、可复现操作流程

流程1:完整信息收集

bash

复制

复制代码
# 步骤1:子域名枚举
python sublist3r.py -d target.com -o subdomains.txt

# 步骤2:端口扫描(对主域+子域)
nmap -sV -p 1-65535 -iL subdomains.txt -oN port_scan.txt

# 步骤3:目录爆破(对每个开放Web服务的端口)
python dirsearch.py -u http://sub.target.com:8080 -e php,asp,aspx,jsp -t 50

# 步骤4:指纹识别(识别CMS/框架)
whatweb http://sub.target.com

流程2:Access数据库利用

plain

复制

复制代码
1. 访问目标网站,识别技术栈(ASP+Access特征)
2. 目录爆破寻找数据库目录(/data/、/database/、/app_data/)
3. 尝试下载数据库文件(如/download/data.mdb)
4. 使用Access或MDB Viewer打开
5. 定位admin表,提取用户名+加密密码
6. 在线解密或本地爆破获取明文
7. 登录后台,寻找上传点

流程3:WebShell植入与连接

plain

复制

复制代码
1. 定位上传点(头像上传、附件上传、编辑器上传)
2. 上传测试:先上传正常图片,确认目录可写
3. 上传WebShell(根据语言选择:asp、php、jsp、aspx)
4. 使用哥斯拉/蚁剑配置连接:
   - URL:http://target.com/upload/shell.asp
   - 密码:自定义密钥
   - 编码器:根据目标选择(ASP、PHP等)
5. 连接失败排查:
   - 401错误 → 检查目录执行权限
   - 404错误 → 检查路由模式(框架路由需特殊URL)
   - 显示乱码 → 检查MIME解析配置

本章核心考点总结(SRC/CTF/面试)

简答题高频考点

表格

考点 标准答案要点 考察频率
WebShell植入条件 ①上传/写入点 ②目录执行权限 ③MIME解析允许 ④无身份验证拦截 ⭐⭐⭐⭐⭐
站库分离原理 网站与数据库分属不同服务器,需外网连接权限,直接影响SQL注入利用 ⭐⭐⭐⭐⭐
框架路由vs常规路由 常规路由URL=路径;框架路由URL由配置映射,文件存在≠可访问 ⭐⭐⭐⭐⭐
中间件三道防线 目录权限(可部分绕过)、身份验证(无法绕过)、MIME解析(可配置绕过) ⭐⭐⭐⭐⭐
云数据库RDS特征 IP白名单、密钥认证、安全组限制,传统连接方式可能失效 ⭐⭐⭐⭐

实操题高频场景

  1. 子域名枚举+端口扫描:发现隐藏管理后台

  2. Access数据库下载:从配置文件定位到密码提取

  3. 目录权限绕过:寻找可执行目录植入后门

  4. 框架路由分析:构造正确URL触发上传的后门

关键记忆口诀

plain

复制

复制代码
子域端口和目录,每种模式都独立
身份验证绕不过,拿到账号登系统
站库分离云数据库,传统手法要升级
框架路由看配置,文件存在访不了
OSS存储无执行,上传漏洞变无效

文档版本 :v1.0
适用课程 :小迪安全-基础入门-网站搭建与安全测试
建议配套:动手搭建IIS+ASP+Access环境,复现课程演示场景

相关推荐
free_732 小时前
超越“回答”,AI Agent迎来全链路安全治理挑战
人工智能·python·网络安全
努力的lpp3 小时前
小迪安全课程第二节复习笔记
网络安全
谪星·阿凯3 小时前
从入门到拿Flag:XXE漏洞全解析
安全·web安全·网络安全
乾元4 小时前
全球治理: 从《AI 法案》看安全合规的国际趋势
网络·人工智能·安全·机器学习·网络安全·架构·安全架构
枫叶丹45 小时前
【HarmonyOS 6.0】使用PAC脚本灵活管理网络连接
开发语言·网络安全·华为·信息与通信·harmonyos
乾元5 小时前
未来展望: 当 AGI(通用人工智能)出现,网络安全是否会消失?
网络·人工智能·安全·机器学习·网络安全·架构·安全架构
小小邵同学18 小时前
jsp payload解析
网络安全
土豆.exe20 小时前
OpenClaw 安全保险箱怎么做?从 ClawVault 看 AI Agent 的原子化控制、检测与限额
人工智能·网络安全·ai安全·openclaw
Chengbei111 天前
Chrome浏览器渗透利器支持原生扫描!JS 端点 + 敏感目录 + 原型污染自动化检测|VulnRadar
javascript·chrome·安全·web安全·网络安全·自动化·系统安全