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

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


一、课程概述与核心思路

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环境,复现课程演示场景

相关推荐
千枫s11 小时前
kali 免杀木马
网络安全
AI_Claude_code12 小时前
ZLibrary访问困境方案三:Web代理与轻量级转发服务的搭建与优化
爬虫·python·web安全·搜索引擎·网络安全·web3·httpx
乾元13 小时前
《硅基之盾》番外篇二:算力底座的暗战——智算中心 VXLAN/EVPN 架构下的多租户隔离与防御
网络·人工智能·网络安全·架构
pencek14 小时前
HakcMyVM-CoffeeShop
网络安全
Pure_White_Sword15 小时前
[广东省大学生攻防大赛 2022]pyre
网络安全·ctf·reverse·逆向工程
pencek15 小时前
HackMyVM-XMAS
网络安全
千枫s17 小时前
kali arp欺骗
网络安全
每天一把堆栈17 小时前
pctf-pwn(2025)
网络安全·pwn
菩提小狗17 小时前
每日安全情报报告 · 2026-04-10
网络安全·漏洞·cve·安全情报·每日安全
JS_SWKJ17 小时前
网闸核心技术详解:数据“安全渡河”的物理密码
网络安全