网安基础教程系列
Hyplus目录
1 Web应用
1.1 基本概念
系统:Windows Server、Linux……
常规Web应用搭建:
- 购买云服务器,购买域名
- 在云服务器搭建中间件
- 下载并上传Web程序源码
- 添加网站并绑定域名目录
常规搭建方式:
- 子域名站(
www.hyperplasma.top
PHP程序、kina.hyperplasma.top
Next.js程序、api.hyperplasma.top
……) - 端口站(
www.hyperplasma.top:443
、www.hyperplasma.top:8080
……) - 目录站(
www.hyperplasma.top/game
……) - 其他搭建方式(详见后述):集成软件(宝塔、phpStudy)、Docker容器、分配站(cnblog、凡科建站)
中间件——配置:
- 身份验证
- 目录权限
- 解析规则:MIME类型
网站数据库:
- 本地一致(和网站在同一台服务器)
- 站库分离
- 独立服务器的数据库
- 云数据库应用
Web程序源码:
- 类型:
- 开源
- 源码可见
- 源码不可见:不可代码审计(白盒测试)
- 加密(ASP代码加密)
- 语言特性决定(
.java
源码编译为.class
字节码文件)
- 商业
- 自用
- 开源
- 结构组成:
- 数据库目录
- 后台目录
- 文件目录
路由访问:
- 绝对路径、相对路径
- 常规访问(根据网站目录结构访问文件):URL与文件目录直接对应
- 路由配置(Java、Python Web等):URL与文件目录对应不上,需根据配置路由决定
1.2 常见搭建模式
常规化搭建:
- 原理:源码数据都在同服务器
- 影响:无(常规安全测试手法)
站库分离:
- 原理:源码数据库不在同服务器
- 存储:其他服务器上数据库;云数据库产品
- 影响:数据被单独存放,能连接才可影响数据
前后端分离:
- 原理:前端JS框架,API传输数据
- 影响:
- 前端页面大部分不存在漏洞
- 后端管理大部分不在同域名
- 获得权限有可能不影响后端(原因即第2条)
集成软件(宝塔、phpStudy):
- 原理:软件式搭建,打包类集成化环境,权限配置或受控制
- 影响:攻击者权限(执行
whoami
命令来确认用户)各异,宝塔、phpStudy以及自行搭建的IIS(Internet Information Services,运行在Windows操作系统上的Web服务器软件,类似于Apache、NGINX)网站(参照组)的对比如下——- 宝塔(最新版):文件管理锁定目录;命令无法执行
- phpStudy:可以执行命令
- IIS网站:可以执行部分命令
Docker容器:
- 原理:虚拟化技术独立磁盘空间,非真实物理环境
- 影响:攻击者位于虚拟空间硬盘
建站分配站(cnblog、凡科建站):
- 原理:利用别人域名模板建立,查询域名可分辨是否为分配站
- 特点:托管 + 申请
- 影响:实质安全测试非目标资产(攻击者攻击基于凡科建立的站点,攻击的是凡科自身服务器)
静态Web(纯HTML网站):
- 原理:数据没有传输性(JS传输除外)
- 影响:无漏洞
伪静态(Z-blog等伪静态博客):
- 原理:动态转静态技术(伪装的静态)
2 APP应用
WIP
3 小程序应用
WIP
4 WIP
WIP