网络安全学习路线
基础学习
行业介绍与网络安全法
- 网络安全行业介绍
- 什么是黑客和白帽子
- 网络安全的分类
- 渗透测试常用术语
- 《网络安全法》制定背景和核心内容
- 《全国人大常委会关于维护互联网安全的决定》
- 《中华人民共和国计算机信息网络国际联网管理暂行规定》
- 《计算机信息网络国际联网安全保护管理办法》
- 《互联网信息服务管理办法》
- 《计算机信息系统安全专用产品检测和销售许可证管理办法》
- 《通信网络安全防护管理办法》
- 《国家安全法》
- 《数据安全法》
- 《个人信息保护法》
- 《互联网安全产品漏洞管理规定》
Linux操作系统
- 操作系统发展历史与Linux
- 安装VMware
- VMware常用操作
- 安装和配置CentOS7
- 虚拟机设置静态IP并启用桥接模式
- CentOS安装软件的方式
- Linux 操作系统目录结构
- Linux 命令格式详解
- Linux 文件与目录管理
- Linux 用户和用户组管理
- Linux查看和操作文件内容命令
- Linux文件压缩和解压缩命令
- Linux网络管理命令
- Linux磁盘管理和系统状态命令
- Linux安全加固
SHELL
- Shell简介:介绍Shell是什么,它在操作系统中的作用,以及常见的Shell类型(如Bash, Zsh, Fish等)。
- 安装与配置:如何在不同操作系统(Linux, macOS, Windows的WSL)上安装和配置Bash或其他Shell。
- 脚本结构:如何编写一个简单的Shell脚本,包括shebang行、注释、变量定义等。
- 变量与参数:环境变量、局部变量、位置参数、特殊参数(如$0, $1, $#等)的使用。
- 条件判断:if语句、case语句的使用,以及文件测试操作符(如-e, -d, -f等)。
- 循环控制:for循环、while循环、until循环的语法和应用。
- 函数:定义和使用Shell函数,包括函数参数和返回值。
- 数组:Shell数组的声明、访问、遍历和排序。
- 字符串处理:字符串的截取、替换、删除等操作。
- 文件与输入/输出重定向:管道(|)、输入重定向(<)、输出重定向(>和>>)的使用。
- 子Shell与进程管理:子Shell的创建、后台运行进程、作业控制(&, fg, bg, jobs, kill等)。
- 调试技巧:使用set -x, trap命令,以及调试Shell脚本的其他方法。
- 正则表达式:在Shell脚本中使用正则表达式进行文本处理。
- Shell脚本与Web服务:使用Shell脚本与Web服务(如API)进行交互。
HTML基础
CSS
- CSS
- CSS的简介
- CSS常用属性-盒子
- CSS样式表的基本使用
- CSS选择器-基础选择器
- CSS选择器-高级选择器
- CSS继承性和层叠性
- CSS属性学习
- CSS属性学习-color
- CSS属性学习-font-family
- CSS属性学习-line-height
- CSS属性学习-font-weight
- CSS属性学习-font-style和综合属性
- CSS盒模型
- CSS盒模型简介
- CSS盒模型-width和height
- CSS盒模型-padding
- CSS盒模型-border
- CSS盒模型-margin
- CSS属性扩展-margin塌陷
- CSS浮动
- 浮动的基本使用
- 浮动的性质
- 浮动贴边特性练习
- 清除浮动方法
- CSS-background属性
- a标签的伪类
- background属性学习
- 综合应用
- CSS定位
- 相对定位(relative)
- 绝对定位(absoutle)
- 固定定位(fixed)
JavaScript
- JavaScript基础入门
- JavaScript简介
- JavaScript用途
- JavaScript组成
- 数字类型字面量
- 变量基本使用
- 变量提升
- 类型检测
- 流程控制语句
- 数学运算
- 比较运算
- 逻辑运算
- if语句
- switch基础应用
- 嵌套循环
- break,continue while do while
- Function 函数
- 函数认知
- 函数基本使用
- 局部变量
- 作用域
- return关键字
- 函数实战应用
- 回调
- 递归
- 函数自执行
- 数组
- 堆栈空间
- 正则表达式
- 正则表达式概述
- 正则使用技巧
- 正则字符集
- 正则边界符
- arguments
- 闭包
- DOM操作
- DOM认识
- DOM方法
- 操作节点属性
- 操作节点样式
- 节点事件
PHP入门
- PHP简介与开发环境搭建
- PHP基本语法
- PHP变量与变量作用域
- PHP常量与数据类型
- 数据类型之特殊类型
- PHP运算符
- PHP流程控制
- superglobals 超全局变量
- PHP+Bootstrap 实现表单校验功能
- PHP+Bootstrap 实现表单校验功能
- PHP+MySQL实现用户登录和注册功能
Mysql数据库
- 数据库基本概念
- 数据库类型和常见的关系型数据库
- 2.MySQL介绍
- 3.MySQL的安装
- 4.查看MySQL的安装结果
- 5.MySQL登录,访问,退出操作
- 6.数据库的卸载
- 7.使用图形客户端Navicat连接MySQL
- SQL语言入门
- 1.创建数据库表
- 2.数据库表列类型
- 3.添加数据
- 4.修改,删除数据
- 5.修改,删除数据库表
- 6.非外键约束
- 7.外键约束
- 8.外键策略
- 函数的分类
- 1.单行函数
- 2.多行函数
- 3.分组group by
- 4.having分组后筛选
- 5.单表查询总结
- 多表查询语法
- 1.多表查询语法
- 2.单行子查询
- 3.事务及其特征
- 4.事务隔离级别
- 5.事务并发问题
- 6.存储过程
Python
- Python介绍以及应用场景
- Python的安装
- Pycharm的安装
- Python 变量
- Python 数据类型
- Python 字符串
- Python 数
- Python 列表
- Python 元组
- Python 字典
- Python for循环
- Python while循环
- Python if语句
- Python 函数
- Python 模块
- Python 类
- python 虚拟环境
渗透阶段
信息收集
搭建漏洞环境
渗透工具
Kali渗透测试
- Kali Linux 简介
- Kali Linux 安装教程
- Kali 修改root密码
- Kali 切换中文模式
- Kali 关闭自动锁屏功能
- 使用Shell工具连接Kali Linux
- Kali 安装并配置 Nessus
- Kali 配置Proxychains4
Nmap扫描
Nessus漏洞扫描
- Nessus安装与激活、配置
- Nessus功能模块介绍
- Nessus 扫描Web服务
- Nessus生成扫描报告
- Nessus扫描报告解读
AWVS漏洞扫描
- AWVS多平台安装方式与激活
- AWVS功能模块介绍
- AWVS扫描web站点
- AWVS生成报告
- AWVS扫描结果分析
- AWVS+Burp联动
- AWVS+Goby联动
Appscan漏洞扫描
- AppSacn介绍
- AppSacn扫流程和扫描方式介绍
- AppSacn安装与激活
- web应用程序扫描
- 环境搭建
- 扫描web应用程序
- AppScan被动手动探索扫描
- AppScan绕过登录验证码深入漏洞扫描
- AppScan自定义扫描策略,扫描针对性漏洞
- AppScan扫描报告解读
MSF-Metasploit Framework
- msf发展历史
- 缓冲区溢出漏洞
- Linux安装msf
- Kali更新msf
- Windows安装msf
- msf图形化界面
- msf目录结构
- msf核心功能
- msf核心模块与功能
- msfvenom常用命令参数
- msfconsole漏洞利用流程
- meterpereter功能介绍
- PHP反弹连接演示
- MS17_010永恒之蓝漏洞演示
- Linux脏牛漏洞提权演示
- msf后渗透
- 后渗透之访问文件系统
- 后渗透之上传下载文件
- 后渗透之屏幕截图
- 后渗透之键盘记录
- 后渗透之调用摄像头
- 后渗透之创建账号
- msf进阶
- msf Auxiliary辅助模块
- msf编码免杀
- msf清除事件日志
SQL注入的渗透与防御
- 初识SQL注入
- SQL注入的业务场景以及危害
- 2.真实网站中的sql注入是怎样的
- 3.sql注入为什么有那么多分类
- SQL注入基础(一)
- 1.MySQL基础知识(库,表,结构,记录)
- 2.MySQL Base
- 3.项目实验环境搭建
- SQL注入基础(二)
- 1.SQL注入基础语法
- 2.工具介绍
- 3.查询用户和密码
- 4.判断SQL注入点
- 四,SQL注入实战(盲注)
- 1.布尔型注入
- 2.时间盲注
- 3.SQL注入函数使用
- 4.靶场实战演练
- 五,SQL注入实战(报错注入)
- 1.User-Agent注入
- 2.堆叠注入
- 3.验证报错
- 4.靶场实战演练
- 六,SQL注入实战(混洗注入)
- 1.floor报错
- 2.基于Xpath报错,实验
- 3.混淆注入
- 七,SQL注入之SQL使用
- 1.SQLmap知识点
- 2.SQLmap实战
- 3.脱库
- 八,SQL注入之SQL防御
- 1.两个reference
- 2.SQLmap
- 3.预处理
- 4.预编译
XSS攻击渗透与防御
- HTTP协议回顾
- Cookie和Session的作用
- XSS基本概念和原理介绍
- 反射型XSS和储存型XSS
- XSS获取Cookie
- XSS钓鱼获取用户密码
- XSS获取键盘记录
- XSS平台搭建xssplatform
- Kali beef-xss
- XSS漏洞检测和利用
- XSS防御与绕过
- XSS小游戏解题思路
上传验证渗透与防御
- 文件上传代码实现
- 文件上传常见场景
- 文件上传漏洞原理
- Webshell介绍
- 网站控制工具:蚁剑、冰蝎、哥斯拉
- 漏洞带来的危害有哪些
- 工具以及靶场安装介绍
- 上传文件代码函数原理&上传图片拦截
- 后缀客户端验证-JS禁用&BURP改包&本地提交
- 后缀黑名单验证-大小写&加空格&符号点&::$DATA
- 后缀白名单验证-MIME修改&%00截断&0X00截断
- 文件头变异验证-验证MIME
- 二次渲染
- 代码逻辑&&条件竞争
- 如何挖掘和利用文件上传漏洞
- 如何防御文件上传漏洞
文件包含渗透与防御
- 文件包含的作用
- 文件包含漏洞概述及分类演示
- CVE实际漏洞案例
- PHP相关函数和伪协议
- DVWA靶场案例演示
- CTF题目案例
- 中间日志包含绕过
- PHP包含读写文件
- STRREPLACE函数绕过
- 包含截断绕过FNM_TBH函数绕过
- 文件包含漏洞挖掘与利用
- 文件包含漏洞修复方案
CSRF渗透与防御
- CSRF漏洞概述及原理
- CSRF案例分析:Gmail、Weibo
- CSRF漏洞危害
- CSRF和XSS的区别
- CSRF常见payload写法
- CSRF漏洞挖掘与自动化工具
- CSRF漏洞防御之Referer、Token、二次验证
SSRF渗透与防御
- SSRF漏洞概述和演示
- PHP SSRF相关函数和协议
- SSRF常见场景
- SSRF CTF题目分析
- 如何发现SSRF漏洞
- 如何防御SSRF漏洞
XXE渗透与防御
- XML基础知识之外部实体
- XXE 危害:读取任意文件、探测内网端口、执行命令、DoS
- 微信支付XXE漏洞分析
- XXE 漏洞发现和利用
- XXE 漏洞修复:禁用外部实体、过滤XML内容、WAF
远程代码执行渗透与防御
- 远程代码执行原理介绍
- CVE实际漏洞分析
- Log4j RCE复现与原理详解
- PHP远程代码执行涉及函数
- pikachu和DVWA靶场案例分析
- CTF题目分析:eval执行、命令注入、过滤CAT、过滤空格、过滤目录符号
- 远程代码执行漏洞防御方法
反序列化渗透与防御
- PHP类与对象回顾
- PHP Magic函数介绍
- 什么是PHP对象反序列化操作
- 为什么会出现安全漏洞
- CTF题目分析:攻防世界 unserialize3
- CVE-2016-7124漏洞利用
- Typecho CMS反序列化漏洞复现
- PHP反序列化漏洞如何修复
- Java反序列化演示
- Java反序列化漏洞演示
- Java反序列化漏洞发现利用点
- 如何避免反序列化漏洞
逻辑漏洞
- 网络黑产事件与法律
- 逻辑漏洞挖掘必备技能
- 用户名遍历漏洞
- 恶意注册
- 未授权访问漏洞
- Session和Cookie伪造
- 验证码突破
- 密码找回漏洞
- 越权漏洞
- 短信轰炸漏洞
- 业务一致性相关漏洞
- 重定向漏洞
暴力猜解与防御
- 密码安全概述
- 什么样的密码是不安全的
- 密码猜解思路
- Python代码实现暴力破解
- Burp Suite Intruder实现暴力破解
- Hydra爆破SSH密码
- Medusa暴力破解SSH密码
- msf破解SSH密码
- wfuzz爆破web密码
- 密码暴力破解防御手段
- 用户如何提升密码安全性
Redis未授权访问漏洞
- Redis服务器被挖矿案例
- Redis常见用途
- Redis环境安装
- Redis持久化机制
- Redis动态修改配置
- Webshell提权案例
- 定时任务+Bash反弹连接提权案例
- SSH Key提权案例
- Redis安全加固分析
社会工程学
- 社工学之交流模型概述
- 社工学之通过交流方式收集渗透信息
- 社工学之“香农”-“韦弗”模型概述
- 社工学 香农-韦弗模型基础
- 社工学 香农-韦弗模型分层
- SMCR通信模型
- SMCR通信模型规则
- 制定交流模型
- 真实钓鱼邮件案例解说
- 工具-诱导篇
- 工具-诱导含义
- 工具-诱导交谈的步骤
- 工具-成功诱导的条件和技巧
- 工具-提问的艺术
ARP渗透与防御
- 章节1:ARP原理
- ARP协议原理讲解
- 章节2:ARP断网攻击
- ARP断网攻击
- 章节3:ARP流量分析
- kali数据包转发
- dsniff工具介绍
- url流量分析过程讲解
- 章节4:ARP-wireshark获取用户数据
- wireshark工具介绍
- ARP攻击截获用户信息步骤
- wireshark过滤命令讲解
- 章节5:ARP-Ettercap-截获流量信息
- Ettercap工具介绍
- Ettercap界面操作攻击
- Ettercap功能讲解
- Ettercap命令行攻击
- 章节6:ARP网速限制
- TC工具介绍
- TC命令介绍
- ARP攻击限制网速的具体步骤
- 限速原理讲解
- 章节7:ARP-DNS欺骗
- ARP-DNS原理和劫持概念讲解
- ARP-DNS常用命令讲解
- ARP-DNS攻击步骤01
- ARP-DNS攻击步骤02
- ARP-DNS攻击课堂小结
- 章节8:ARP防御
- ARP防御方法介绍
- ARP防火墙防护ARP攻击
- ARP设置临时绑定网关MAC地址为静态
- ARP设置永久绑定网关mac地址
- linux防御ARP攻击
- 网关或者路由器防御ARP攻击
- web服务器防御ARP攻击
系统权限提升渗透与防御
- WINDOWS 提权常用命令
- WINDOWS 提权实战、提权防范
- WINDOWS 提权后期密码安全性测试
- LINUX 权限提升以及提权必备的命令学习
- LINUX 脏牛提权以及 SUID 提权
DOS与DDOS渗透与防御
- SYN+FLOOD攻防还原
- IP地址欺骗攻防
- DNS放大攻击攻防还原
- SNMP放大攻击攻防还原
- NTP放大攻击攻防还原
- 应用层CC攻防攻防还原
- 其它类型压力测试
- DDOS安全防范
内网相关渗透与防御
- 外到内渗透渗透
- 内到内渗透渗透
- 内网渗透测试
- BURP+PROXIFER抓包(解决有些APP无法获取数据包)
无线安全相关渗透与防御
- 章节1:环境准备
- 协议补充
- wifi协议
- AP和客户端介绍
- Ap专业术语介绍
- 网卡工作模式
- wifi渗透环境搭建
- 章节2:专属字典打造
- 概念介绍
- 亦思社会工程学密码生成器
- 真空密码生成器
- safe6密码生成器
- Crunch密码生成器
- 千万常用密码
- 章节3:Windows下对附近无线网络进行扫描
- windows扫描附近的wifi
- windows-ntesh探索WiFi密码
- 章节4:熟悉kismet
- kismet软件介绍
- kismet嗅探wifi
- 章节5:aircrack-ng探索防护WEP加密
- WEP介绍
- 认证类型讲解
- 加密算法介绍
- WEP加密和解密
- Aircrack-ng 常用工具包
- Aireplay-ng 的 6 种攻击模式
- WEP wifi探索步骤-1
- WEP wifi探索步骤-2
- 遇到错误的处理方式
- 章节6:Gerix-wifi-cracker自动化探索防护WEP加密
- gerix-wifi-cracker环境准备
- gerix-wifi-cracker探索步骤讲解
- gerix-wifi-cracker探索实操讲解
- 章节7:WEP-wifite自动化渗透WEP加密
- wifite工具介绍
- wifite扫描讲解
- wifite渗透步骤讲解
- 章节8:WEP渗透新思路
- Hirte介绍
- Hirte渗透姿势1
- Hirte渗透姿势2
- 章节9:aircrack-ng渗透WPA加密
- WPA概念介绍
- WPA工作原理
- wifi设置讲解
- WPA专属字典打造
- WPA渗透步骤讲解
- WAP渗透家用路由器
- 章节10:WPA-hashcat跑包渗透
- hashcat介绍
- 渗透姿势讲解
- 章节11:WPA-创建Hash-table加速并用Cowpatty渗透
- Cowpatty介绍
- cowpatty渗透
- hast-table加速渗透
- 章节12:WPA-自动化渗透WPA加密
- 章节13:WPA渗透-windows下GPU跑包加速
- 章节14:WPA渗透-pyrit:batch-table加速_“attack_db”模块加速
- 章节15:WPA渗透-pyrit:GPU加速_Hash-table加速_batch-table加速
- 章节16:WPA渗透-使用airolib-ng创建彩虹表加速
- 章节17:WPS渗透-reaver工具穷举pin码
- 章节18:WPS渗透-Pixiewps秒破WPS_wifite穷举
木马免杀问题与防御
- Metasploit 木马免杀介绍
- MSF木马攻击以及防御
- Exploits漏洞利用模块对目标进行漏洞利用
- Payloads在目标机器执行的代码
- Encoders编码模块绕过入侵检测和过滤系统
- Evasion躲避模块生成免杀payload
vulnhub靶场实战系列
- prime1
- 扫描局域网内的C段主机
- 扫描端口获得运行的服务
- 扫描目录获得关键信息
- 本地文件包含漏洞LFI
- fuzz获得正确的参数
- wordpress漏洞利用
- msfvenom生成反弹shell
- Ubuntu内核漏洞提权
- breach1
- Base64、MD5解码
- CMS识别和漏洞搜索
- 邮件信息泄露
- wireshark抓包数据分析
- 证书解密HTTPS流量
- tomcat管理后台利用
- msf生成payload及监听
- Linux历史命令泄露
- 图片隐写提取文字
- dc9
- SQL注入获得管理员密码
- 本地文件包含漏洞
- fuzz爆破web密码
- knockd高敲门服务
- Hydra暴破SSH密码
- etc-passwd添加用户提权
- Kioptrix_Level_1
- namp信息收集
- 局域网收集信息
- arp-scan发现主机
- netdiscover发现主机
- namp扫描
- SAMBA进行漏洞扫描
- searchsploit:查询SMB服务漏洞
- MSF扫描SMB的版本信息
- MSF SMB漏洞利用
- Kioptrix Level 2
- netdiscover 发现目标主机
- arp-scan发现目标主机
- nmap发现目标主机
- masscan开放端口扫描
- namp精确扫描
- sql注入登录绕过
- 命令行漏洞注入漏洞开启反射性shell
- 内核漏洞9542.c提权
- pWnOS v2.0
- nmap扫描
- sql注入漏洞编写木马
- kali反弹shell利用
- 配置文件提权
三、安全管理
渗透报告编写
- 大中型企业渗透测试报告编写注意事项
- 遵从规范
- 行业标准
- 文档
- 报告格式
- 封面页
- 保密声明
- 文档控制
- 时间表
- 执行总结、方法论
- 渗透测试流程
- 调查结果总结
- 漏洞
- 网络考虑的因素及建议
- 附录
- 术语表
- 工作说明书
- 外部渗透测试
- 工作说明书附加材料
- 渗透测试报表工具说明
- 小结
等级保护2.0
-
- 为什么要学习等保
- 什么是等级保护
- 什么是信息系统
- 什么是信息系统安全
- 等保的发展历程
- 等保的关注对象
- 等保的实施流程
- 等保的参与角色
- 课程学习目标
-
- 等保常见问题解答
- 哪些行业需要等级保护?
- 不做等级保护可以吗?
- 等保是按单位实施还是按系统实施?
- 系统部署在阿里云,需要做等保吗?
- 内网系统需要做等保吗?
- 做等级保护测评需要多久?
- 等保测评是—次测评,终身有效吗?
- 做等级保护要多少钱?
- 是不是定级越低越好?
- 等级保护测评的难点有哪些?
-
- 等级保护相关概念介绍
- 第三方测评机构
- 等保测评师岗位
- 安全产品服务和厂商
- 关保:关键信息基础设施保护
- 分保:涉及国家秘密的信息系统分级保护管理办法
- 重保:重要时期安全保障服务
- ISO27000体系
- 风险评估
-
- 等保2.0解读
- 等级保护发展历程
- 等级保护与网络安全法
- 等保2.0修订背景
- 等保2.0变化内容
- 等保2.0标准体系
-
- 等保2.0通用要求解读
- 安全框架
- 安全通用要求
- 控制类和控制项
- 2.0网络拓扑结构设计
- 安全设备配置建议
- 2.0扩展要求解读
-
- 等保实施流程
- 定级备案
- 风险评估、差距分析
- 安全规划设计
- 建设整改
- 等级测评
- 监督检查
-
- 等保案例分析
应急响应
- 企业安全应急响应流程
- 木马实战演练
- 服务器入侵实战演练
- Windows系统入侵实战演练
- ARP欺骗攻击实战演练
代码审计
- 代码安全测试介绍
- 代码安全测试方法
- 代码审计的通用思路
- 漏洞产生的原因
- 漏洞挖掘流程分析
- 手工代码审计实例分析
- SEAY源代码审计系统使用
- 工具局限性
风险评估
- 项目准备
- 实施申请
- 培训事项
- 物理环境
- 网络结构
- 硬软件资产
- 信息系统
- 数据资产
- 服务器资产
- 安全管理
- 安全措施
安全巡检
- 漏洞扫描
- 绿盟、安恒、启明及开源漏洞扫描器在企业中应用,同时完成漏洞扫描之后如何编写漏洞扫描报告
- 实战案例
- 策略检查
- 交换机、路由器、安全设备、操作系统、数据库、应用安全配置等进 行策略检查
- 监控分析
- 系统监控、态势感知、WAF设备等监控分析
- 日志审计
- 分别通过安全日志分析工具及手工方式对攻击日志进行分析
- 策略检查
- 行业巡检
- 金融、教育、医疗行业等安全巡检
- 巡检总体汇总报告
数据安全
- 数据安全的基本认识
- 企业部署MySQL的准备工作
- MySQL企业上线要求
- MySQL 8.0生产落地实战
- Oracle部署准备
- Oracle上线准备
- Oracle生产落地实战
- 等保中对MySQL版本的要求
- 等保中对MySQL用户相关要求
- 等保中对MySQL用户相关操作
- 等保中对MySQL权限方面要求
- 等保中对MySQL SQL审核要求
- Yearning SQL审核平台应用
- Yearning SQL审核平台配置
- Yearning SQL审核平台-SQL审核操作
- 数据安全保护-数据损坏的场景
- 数据安全保护-数据备份的职责
- 数据安全保护-备份工具介绍
- 数据安全保护-mysqldump进行数据损坏恢复
- 数据安全保护物理备份工具PXB全备恢复应用
- 数据安全保护-物理备份工具PXB增量备份恢复
- 数据安全保护-使用ClonePlugin本地克隆
- 数据安全保护-使用ClonePlugin远程克隆
- 数据安全保护-架构设计及容灾能力
- 数据安全保护-ORCH容灾能力测试
四、提升阶段
密码学
- 剖析基本概念
- 什么是编码?
- 什么是加密与解密
- 寻找银弹
- 有没有无法破解的密码
- 通过Java代码入门加密与解密
- 数据完整性
- 消息摘要
- MD
- MAC
- SHA
- 对称密码
- DES
- AES
- 公钥密码
- DES
- AES
- 公钥密码
- RSA
- EIGAMAL
- 椭圆曲线
- ECC
- 非对称密钥生成器
- 密钥规范管理
- 数字签名
- 数字证书相关管理
- 安全套接字
- 简单并常用的BASE64
- 文件校验
- 循环冗余校验CRC
- 打破出口限制
- 使用BOUNCY CASTLE替代默认算法实现
- 编码转化辅助工具
- COMMONS CODEC
Java SE入门
- Java入门
- 计算机语言的发展历史
- JAVA简史
- JAVA体系结构
- JAVA特性和优势
- 核心机制之垃圾收集机制
- 核心机制之JAVA跨平台原理
- 核心机制之对比C语言的跨平台原理
- 常用DOS命令
- JDK的下载_安装_卸载
- notepad++的安装_系统环境变量path
- 第一段程序_编译_执行
- 程序中常见错误
- 编译方式
- 扩展:classpath环境变量
- 扩展:JAVA_HOME环境变量
- API
- 代码量统计工具的使用
- 单行注释和多行注释
- 文档注释
- 反编译工具的使用
- 数据类型
- 数据类型_标识符
- 数据类型_关键字
- 常量_字面常量
- 变量的声明,赋值,使用
- 变量的内存
- 变量的作用域
- 基本数据类型之整数类型常常量
- 基本数据类型之整数类型变量
- 基本数据类型之浮点类型常量的两种形式
- 基本数据类型之浮点类型变量
- 编码和字符集
- 基本数据类型之字符类型1
- 解释乱码问题
- 基本数据类型之布尔类型
- 基本数据类型转换问题
- 习题_final_字符常量
- 习题加深对Scanner的使用
- 运算符
- Java中的运算符概述
- 算术运算符_除法_取余
- 算术运算符_加号
- 算术运算符_自增
- 赋值运算符
- 扩展赋值运算符
- 关系运算符
- 逻辑运算符
- 三元运算符
- 位运算符
- 运算符_总结
- 运算符的优先级别
- 流程控制
- 分支结构
- if单分支
- if多分支
- if双分支
- switch分支
- 循环结构
- while循环
- while循环练习
- do-while循环
- for循环
- 关键字break
- 关键字continue
- 关键字return
- 循环练习
- 循环嵌套(双重)_乘法口诀
- 循环嵌套(双重)_打印各种形状
- 循环嵌套(双重)_打印菱形的方式
- 循环嵌套(三重)
- 分支结构
- 方法的定义、调用、重载
- 方法的定义和调用
- 方法提取的练习
- 面试题_两个数交换是否成功
- 方法的重载
- 数组
- 数组的引入
- 数组的学习
- 数组习题完善_#数组的遍历方式
- 数组的三种初始化方式
- 数组的应用_最值问题
- 数组的应用_查询问题
- 数组的应用_添加元素
- 数组的应用_删除元素
- 详述main方法
- 可变参数
- Arrays工具类的使用
- 数组的复制
- 二维数组的定义和遍历
- 二维数组的初始化方式
C语言
-
C语言开篇
- C语言开篇
- Clion开发环境安装
- 第一个C程序
- 注释
-
数据类型
-
数据类型的导入
-
常量和变量
-
整型数据类型
-
long和long long的区别
-
有符号和无符号数据
-
整型数据的表示方法
-
整型数据的输出格式
-
字符数据类型
-
ASCII码表的高级应用
-
转义字符
-
浮点型数据
-
数据在内存中的存储
-
-
C语言输入和输出
-
输入和输出的基本使用
-
getchar函数
-
-
运算符和表达式
-
运算符和表达式基本概念
-
算术运算符
-
赋值运算符
-
关系运算符
-
逻辑运算符
-
位运算
-
位运算高级用法
-
逗号运算符
-
条件运算符
-
-
流程控制
-
分支结构之if
-
分支结构之if else
-
分支结构练习
-
练习小bug1
-
练习小bug2
-
分支结构之if else if
-
分支结构之if else if荐
-
分支结构之switch
-
分支结构的嵌套
-
循环结构之while循环
-
循环结构之do while
-
循环结构之for循环
-
循环结构之笔试题
-
循环结构之循环的嵌套
-
流程控制之break在switch语句中的使用
-
流程控制之break在循环语句中的使用
-
流程控制之continue的使用
-
程序卡住了调试方法
-
程序异常退出调试方法
-
程序结果与预期不一致调试方法
-
编程题之猜数字游戏
-
练习题之自动求某个数字是几位数
-
笔试题之求质数
-
笔试题之青蛙爬井
-
笔试题之求圆上的坐标
-
-
数组
-
一维数组的基本使用
-
一维数组元素的存储
-
—维数组元素的地址
-
—维数组应用举例
-
—维数组计算活了多少天
-
—维数组求数组的最大值
-
一维数组判断是否为升序数组
-
—维数组逆置
-
二维数组
-
二维数组初始化
-
-
函数
-
函数的导入
-
函数的定义
-
函数的设计
-
函数的使用
-
函数的形参和实参
-
局部变量和全局变量
-
函数的嵌套调用
-
函数的声明
-
递归函数
-
-
C语言预处理
-
宏定义的基本使用
-
有参宏定义
-
头文件的包含
-
条件编译
-
-
指针
-
指针的基本概念
-
指针的基本使用
-
野指针
-
指针经典笔试题
-
不同类型指针变量之间的相同点
-
不同类型指针变量之间的不同点
-
指针的算术运算
-
数组的指针
-
指针越界问题
-
指针数组
-
指针变量的地址
-
—级指针和数组作为函数的形参
-
形参为指针的注意事项
-
二级指针
-
内存分配之malloc的基本使用
-
free内存释放
-
realloc的使用
-
二级指针作为函数的形参
-
指针笔试题
-
字符串的的定义
-
字符串的操作
-
atoi和atof函数
-
strlen的使用及实现原理
-
strcpy函数
-
strncpy函数
-
strcat函数
-
strcmp函数
-
strstr函数
-
strtok函数
-
函数指针
-
-
复合数据类型
- 结构体的定义
- 结构体成员变量的初始化
- 结构体中成员变量的访问
- 练习题讲解
- 函数指针在结构体中的应用
- typedef对结构体类型进行重新定义
- typedef笔试题
- 结构体中的成员变量是另外一个结构体
- 结构体的直接赋值
- 联合体的定义及基本使用
- 联合体的实际用途
- 大端模式和小端模式
- 枚举
-
C程序的组成
- 头文件之宏定义
- 头文件之结构体的定义全局变量和全局函数数的声明
- 头文件编译原理
- 头文件重复包含问题
- 多个源文件-理论
- 多个源文件-实践
- static修饰函数
- static修饰全局变量
- static修饰局部变量
- static的使用总结
- const的使用
C++语言
- C++概述
- C++简述
- C++标准
- C++的应用场景
- 第一个C++程序
- C++对C的拓展1
- C++命令空间的基本常识
- 命名空间的定义及成员的访问
- 命名空间只能全局范围内定义
- 命名空间的嵌套定义
- 命名空间的声明和实现分开
- 命名空间的别名
- 引用的概念及基本使用
- 使用引用的注意事项
- 引用的本质
- 引用作为函数的形参以及引用的意义
- 内联函数的引入
- 内联函数的基本概念
- 内联函数的使用注意事项
- 函数的默认参数
- 默认参数注意事项
- 函数重载的概念及使用
- 函数重载的实现原理
- 类和对象
- 类和对象的基本概念
- 类的定义
- 对象的实例化
- 成员变量和成员函数的访问
- 类成员的访问控制
- 面向过程和面向对象程序设计
- 习题讲解
- 类的分开实现
- 构造函数的引入
- 无参构造函数
- 有参构造函数
- 无参构造函数设计的注意事项
- 初始化成员列表的使用
- 构造函数总结
- 析构函数的用途
- new运算符的使用
- delete运算符的使用
- new delete和malloc free的区别
- 多个对象的构造和析构.
- 使用已构造的对象初始化新的对象
- 对象赋值的解决方法
- 拷贝构造函数的使用
- 拷贝构造函数的形参
- 深拷贝和浅拷贝
- 引用作为函数的形参
- 编译器对属性和方法的处理机制
- this指针
- 静态成员变量
- 静态成员函数
- C++ sting类简述
- string对象的构造方法
- string对象的赋值
- string对象的拼接
- string对象比较大小
- 求string对象的子串
- string类find成员函数
- string类replace成员函数
- string类erase成员函数
- string类insert成员函数
- 动态数组需求说明
- Array类的设计
- Array类构造函数和析构函数的实现
- Array类部分成员函数的实现
- Array类insert成员函数需求分析
- Array类insert成员函数的实现
- Array类remove_index函数的实现
- Array类remove_data成员函数的实现
- Array类完善
- 继承
- 为什么需要继承
- 继承的概念
- 派生类的定义
- 派生类继承基类属性和方法验证
- 三种不同的继承方式
- protected和private的取别
- 单继承中构造函数和析构函数的调用顺序
- 派生类中调用基类的构造函数
- 派生类中的成员变量和基类中的成员变量名冲突
- 隐藏
- 多继承
- 环形继承
- 虚继承
- 静态成员的继承
- 回合制游戏需求分析
- 回合制游戏Skill基类的实现
- 回合制游戏Skill类的派生类的设计
- 回合制游戏Hero基类的设计
- 回合制游戏Hero类派生类的设计
- 回合制游戏为英雄添加技能
- 多态
- 多态的概念
- 运算符重载之前置++和后置++的重载
- 静态联编的体现
- 运算符重载之输出运算符的重载
- 运算符重载的概念
- 引用作为函数的返回值和对象作为函数返回值的差别
- 运算符重载测试类构造函数的实现
- Mstring类需求
- 运算符重载之+号运算符的重载
- Mstring类的声明
- C++编译器对临时对象的优化
- 运算符重载之+号运算符重载验证
- 运算符重载之大于符号的重载
- 运算符重载之符号的重载
- 多态的引入
- 运算符重载之=符号的重载
- Mstring类extend函数的实现
- Mstring类[]运算符的重载的实现
- Mstring类+运算符的重载
- Mstring类append函数的实现
- Mstring类关系运算符的重载
- Mstring类destroy函数的实现
- Mstring类构造函数的实现
- 友元函数
- 关于编程练习的两种方法
- 友元函数的灵活应用
- Mstring类=符号的重载
- 友元类
- Mstring 类输出运算符的重载
- 动态多态的概念
- 虚函数的基本使用
- 重载覆盖隐藏
- Mstring类+运算符的重载
- 虚函数指针
- Mstring类append函数的实现
- 虚函数表的基本概念
- Mstring类关系运算符的重载
- 单继承关系中派生类虚函数表中的内容
- Mstring类destroyi函数的实现
- 友元函数
- 友元函数的灵活应用
- 友元类
- 虚函数表指针的概念
- 继承关系中各个类的虚函数表以及对象的内存模型
- 动态绑定的引入
- 动态绑定的原理
- 基类指针指向派生类对象调用函数注意事项
- 虚函数和非虚函数的灵活应用
- 虚函数表指针的访问
- 虚函数表及虚函数指针的访问
- 纯虚函数的基本使用
- 抽象类
- 纯虚函数使用注意事项
- 抽象类实例
- 虚析构函数
- C++对C的拓展2
- const修饰普通变量
- const修饰成员变量.
- const修饰成员函数
- const修饰对象
- const修饰引用
- onst修饰函数返回值为普通变量和对象
- const修饰函数返回值为const的指针
- const修饰函数返回值为const的引用
- extern c的使用
- _cplusplus的使用
- extern C在实际工作中的使用
- nullptr
- 异常
- 异常的基本概念
- 抛出异常
- 异常的捕获
- C++标准异常
- 自定义异常
- 强制类型转换
- 隐式类型转换和强制类型转换的概念
- const_cast之const常量折叠
- const_cast之const 修饰自定义类型
- const_cast之函数的形参和返回值
- static_cast
- dynamic_cast
- 泛型编程
- 函数模板的基本使用
- 函数模板的工作原理
- 多个泛型的使用
- 函数模板总结
- 腾信中……
CTF夺旗赛
- CTF-WEB题型
- CTF-WEB题型[GKCTF2021]HACKME
- CTF-WEB题型[GKCTF2021]EASYNODE
- CTF-WEB题型[GKCTF2021]EASYCMS
- CTF-WEB题型[GKCTF2021]CHECKBOT
- CTF-WEB题型[GKCTF2021]BABYCAT
- CTF-REVERSE题型
- CTF-REVERSE题型[GKCTF2021]SOMUCHCODE]
- CTF-REVERSE题型[GKCTF2021]QQQQT
- CTF-REVERSE题型[GKCTF2021]KILLERAID
- CTF-REVERSE题型[GKCTF2021]CRASH
- CTF-REVERSE题型[GKCTF2021]APP-DEBUG
- CTF-PWN题型
- CTF-PWN题型[GKCTF2021]ESAPESH
- CTF-PWN题型[GKCTF2021]DEMO_CATROOM
- CTF-PWN题型[GKCTF2021]CHECKIN
- CTF-PWN题型YCB_2020_MIPSPWN
- CTF-PWN题型YCB_2020_REPWN
- CTF-CRYPTO题型
- CTF-CRYPTO题型[GKCTF2021]XOR
- CTF-CRYPTO题型[GKCTF2021]RRRRSA
- CTF-CRYPTO题型[GKCTF2021]RANDOM
- CTF-CRYPTO题型[羊城杯2020]GMC
- CTF-CRYPTO题型[羊城杯2020]RRRRRRRSA
- CTF-MOBILE题型
- CTF-MOBILE题型[ISCC2021]1A2B
- CTF-MOBILE题型[ISCC2021]LOCKK
- CTF-MOBILE题型[ISCC2021]MOBILEEASY
- CTF-MOBILE题型[ISCC2021]MOBILENORMAL
- CTF-MOBILE题型[ISCC2021]OHHH
- CTF-MISC题型
- CTF-MISC题型[GKCTF2021]FIREFOXFORENSICS
- CTF-MISC题型[GKCTF2021]EXCEL骚操作
- CTF-MISC题型[GKCTF2021]银杏岛の奇妙冒险
- CTF-MISC题型[GKCTF2021]签到
- CTF-MISC题型[GKCTF2021]你知道APNG吗
Windows逆向
- 基础篇
- 基础知识
- 文本字符
- WINDOWS操作系统
- 调试篇
- 动态分析技术
- OLLYDBG X64DBG MDEBUG WINDBG调试器
- 静态分析技术
- 文件类型分析
- 反汇编引擎
- 静态反汇编
- 十六进制工具
- 静态分析技术应用实例
- 解密篇
- 逆向分析技术
- 位软件逆向技术
- 位软件逆向技术
- 演示版保护技术
- 序列号保护方式
- 警告窗口
- 时间限制
- 菜单功能限制
- KEYFILE保护
- 网络验证
- 光盘检测
- 只运行1个实例
- 常用断点设置技巧
- 加密算法复习 单向散列算法 对称加密算法 公开密钥加密算法
- 常见的加密库接口及其识别
- 加密算法在软件保护中的应用
- 专用加密软件
- 识壳
- 压缩壳
- 加密壳
- 虚拟机保护软件
- 脱壳技术
- 基础知识
- 寻找OEP
- 抓取内存映像
- 重建输入表
- DLL文件脱壳
- 附加数据
- PE文件的优化
- 压缩壳
- 加密壳
- 静态脱壳
Android逆向
-
- 安卓逆向概述
- 安卓逆向有何意义
- 安卓逆向的学习路径
- 安卓逆向的发展和就业前景
-
- 安卓正向基础与快速入门
- 搭建环境
- 开发功能
- 2.2.1 java语法极速入门
- 2.2.2 android开发极速入门
- 2.2.3 android studio极速入门
- 2.2.4 gradle 极速入门
- 编译、打包到开发机
- 2.3.1 adb 急速入门
- 2.3.2 Linux 急速入门
- 2.3.3 虚拟机与实体机
- 普通发布与加固发布
- 2.4.1 普通发布的过程
- 2.4.2 为什么要加固
- 2.4.3 加固的多种阶段的演进与概述
- 2.4.4 加固方案概述
-
- 安卓逆向基础
- 反编译路径
- 基本的反编译方法
-
- 安卓抓包与高级hack方法
- burp suite抓包工具基本使用
- 抓包https协议的内容
-
- 安卓设备的超级变身:Root
- 为什么要Root
- Root的原理
- 对于设备的选择
- Root的基本过程(以小米为例)
-
- 安卓的高级逆向与钩子Hook
- 什么是钩子(hook)?
- Frida的使用
- 安卓高级逆向
- 修改smali并重新打包
-
- 总结
- 安卓逆向基本思路
- 需要掌握的技能点
- 最佳实践