网络安全学习路线

基础学习

行业介绍与网络安全法

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入门

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

渗透阶段

信息收集

搭建漏洞环境

渗透工具

Kali渗透测试

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注入基础(一)
    • 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

    1. 为什么要学习等保
    • 什么是等级保护
    • 什么是信息系统
    • 什么是信息系统安全
    • 等保的发展历程
    • 等保的关注对象
    • 等保的实施流程
    • 等保的参与角色
    • 课程学习目标
    1. 等保常见问题解答
    • 哪些行业需要等级保护?
    • 不做等级保护可以吗?
    • 等保是按单位实施还是按系统实施?
    • 系统部署在阿里云,需要做等保吗?
    • 内网系统需要做等保吗?
    • 做等级保护测评需要多久?
    • 等保测评是—次测评,终身有效吗?
    • 做等级保护要多少钱?
    • 是不是定级越低越好?
    • 等级保护测评的难点有哪些?
    1. 等级保护相关概念介绍
    • 第三方测评机构
    • 等保测评师岗位
    • 安全产品服务和厂商
    • 关保:关键信息基础设施保护
    • 分保:涉及国家秘密的信息系统分级保护管理办法
    • 重保:重要时期安全保障服务
    • ISO27000体系
    • 风险评估
    1. 等保2.0解读
    • 等级保护发展历程
    • 等级保护与网络安全法
    • 等保2.0修订背景
    • 等保2.0变化内容
    • 等保2.0标准体系
    1. 等保2.0通用要求解读
    • 安全框架
    • 安全通用要求
    • 控制类和控制项
    • 2.0网络拓扑结构设计
    • 安全设备配置建议
    • 2.0扩展要求解读
    1. 等保实施流程
    • 定级备案
    • 风险评估、差距分析
    • 安全规划设计
    • 建设整改
    • 等级测评
    • 监督检查
    1. 等保案例分析

应急响应

  • 企业安全应急响应流程
  • 木马实战演练
  • 服务器入侵实战演练
  • 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逆向

    1. 安卓逆向概述
    • 安卓逆向有何意义
    • 安卓逆向的学习路径
    • 安卓逆向的发展和就业前景
    1. 安卓正向基础与快速入门
    • 搭建环境
    • 开发功能
      • 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 加固方案概述
    1. 安卓逆向基础
    • 反编译路径
    • 基本的反编译方法
    1. 安卓抓包与高级hack方法
    • burp suite抓包工具基本使用
    • 抓包https协议的内容
    1. 安卓设备的超级变身:Root
    • 为什么要Root
    • Root的原理
    • 对于设备的选择
    • Root的基本过程(以小米为例)
    1. 安卓的高级逆向与钩子Hook
    • 什么是钩子(hook)?
    • Frida的使用
    • 安卓高级逆向
    • 修改smali并重新打包
    1. 总结
    • 安卓逆向基本思路
    • 需要掌握的技能点
    • 最佳实践
posted @ 2024-05-22 17:43  测试小罡  阅读(3301)  评论(0编辑  收藏  举报