国光的前端感觉一直就是个半吊子水平,除了会审查元素用一用 Boostrarp 框架之外,让我纯手工使用 HTML、JS、CSS 写出一个精美的界面我是做不到的,另外这几年来前后端分离开发技术很火,所以 Vue 之类的框架也需要来学习,另外 JS 基础语法虽然可以看懂,但是深层次的 JS 也是目前的知识盲区。
- HTML、CSS、JS 基础
- Boostrap 框架使用
- Vue
- NodeJS
- React
- JS 进阶知识学习
- NodeJS 项目编写
Linux 虽然用的比较多,但是没有深入学习过,有时间希望自己可以静下来读完鸟哥的 Linux 私房菜这类书籍中的一本。
- Linux 基础知识
- Linux 进阶知识
- Docker 基础使用
- DockerFile 简单编写
- DockerFile 深入理解
- Docker-compose 项目编写
- Dokcer-compose network 学习
- 网络基础知识学习 类似于如何计算子网掩码这类的
- Linux 权限维持
- Linux 安全加固基础
- Linux 安全加固进阶
PHP 是因为接触 CTF 比赛的时候学习的比较多,前端时间为了给客户培训 PHP 相关方面的漏洞,特地看了好几天的 PHP 手册,感觉受益匪浅,但是还是有一些盲区的,比如大型项目的代码审计,以及一些带框架的项目审计:
- PHP 基础语法
- PHP 数据类型、变量、常量
- PHP 表达式、运算符、流程控制
- PHP 函数
- PHP 类与对象
- PHP WebShell PHP5、PHP7 免杀
- PHP 弱类型与变量覆盖整理
- **蚁剑自定义编码器特征改造
- 过 D 盾命令执行 WebShell
- PHP 小型 CMS 代码审计
- PHP 大型 CMS 审计
- ThinkPHP 框架项目审计
曾经做过半年左右的漏扫开发,也在那个时候受同事buzz的影响开始认真学习 Python,从一个 Python 半吊子水平变成一个稍微入门的人了。后面从南邮毕业写了那个毕设项目,自己又自学了 Django,感觉 Python 这块实际上掌握勉强及格了,但是由于做安全写代码比较少,所以目前来看我的 Python 编码水平又有所下降,看来不能闲着啊。
- Python 基础语法
- Python 函数
- Python 对象
- Python 多进程
- Python 多线程
- Python 协程
- Python Web 框架 Django
- Python Web 框架 Flask
- Python 程序设计**
- Python Web 爬虫
- Python Web 项目编写
- Python 前后端分离项目编写
JAVA 就是国光我的薄弱项了,后悔当初上大学的时候没有好好学习 JAVA,虽然曾经也使用过 JAVA 的 Spring 开发过项目,但是过去了这么久了,感觉现在都忘得一干二净了,所以 JAVA 这块得重新学习了。
- JAVA 基础语法
- JAVA 进阶语法
- JAVA Web 开发
- JAVA 主流框架学习
- JAVA 安全漏洞学习
- JAVA Web 代码审计
虽然大一就学习过 C 语言,但是目前水平也只是过国家计算机二级的水平,这个水平等于没学,所以 C 语言和 C ++ 以后希望有时间来学习一下,因为红队 Windows 免杀这块很吃这方面的基本功,
- C 基础语法
- C 进阶语法
- C ++ 基础语法
- C ++ 进阶语法
- C 算法练习
- C 指针深入
- C/C++ 小项目编写
- C/C++ Windows 免杀
学习 SQL 注入大多从 MySQL 学起,因为 MySQL 搭建起来很方便,而且也常和 PHP 配合使用,所以基础的 MySQL 语法是要掌握的,否则后面的 UNION SELECT 联合查询注入和布尔类型的盲注、延时类型的盲注学起来就比较吃力了。国光个人感觉常规的 MySQL 手工注入已经没有短板了,除了异或注入这种了解的不多,但是像是 MSSQL、Oracle 数据库的注入的深度就不够,需要抓紧时间学习。还好自己当初把 SQLMap 手册翻完了,自认为对 SQLMap 的使用还算是可以的,不够有时候在 Oracle 这种数据库面前,SQLMap 无法注入出结果的时候,我就会很无从下手了。
- MySQL 基础语法
- MySQL 相关函数
- MySQL UNION 联合查询注入
- MySQL 报错注入
- MySQL 布尔类型盲注
- MySQL 延时类型盲注
- MySQL 堆叠注入
- MySQL 二次注入
- MySQL DNSLog 外带数据
- MySQL 异或注入
- MySQL 注入常规 Bypass 技巧
- MySQL 注入进阶 Bypass 技巧
- SQLMap 基础使用
- SQLMap 进阶使用
- SQLMap Tamper 编写
- MSSQL 学习
- Oracle 学习
- MSSQL 注入深入理解
- Oracle 注入深入理解
感觉文件上传这一块姿势点比较好理解,刷完 uploads-lab 的话,基本姿势就掌握差不多了。
- %00 截断
- 非常规后缀绕过
- .htaccess 解析绕过
- 图片头效果
- MIME 绕过
- 前端绕过
- 二次渲染绕过
- 条件竞争绕过
- multipart*/form-*data 绕过
文件包含的话,基本上单独总结一下也是可以快速学习理解的,所以短板不多,但不代表没有。
- 文件包含原理
- 本地文件包含突破后缀
- 远程文件包含突破后缀
- PHP 文件包含配合伪协议
- 文件包含 Web 日志
- 文件包含 Sessions
- 文件包含 SSH 日志
- 文件包含配合 phpinfo()
- 文件包含配合系统 proc 进程
- 文件包含 require_once 绕过
XSS 目前刷完了几个靶场,感觉基础姿势掌握差不多了,另外也会一些基础的 Bypass 技巧,但是更深入的 Bypass 技巧缺乏整理
- XSS 基础靶场刷完
- XSS 一般 Bypass 技巧
- XSS 进阶 Bypass 技巧整理
- XSS 配合 CSRF 攻击
- XSS 配合反代钓鱼攻击
- XSS 实战技巧整理
- XSS HTTPonly Bypass 整理
- XSS 靶场题目开发完善
CSRF 的理解很喜欢余弦前辈的一句话:借“刀”杀人。这里的刀就是受害者的身份认证信息,拿到受害者的登录凭据信息理论上可以做任何受害者的操作,比如修改资料、修改密码等,如果受害者是高权限用户的话就可以做更多有危害的事情了。
- CSRF 基础理论与实操
- CSRF POC 优化方法整理
- CSRF payload 实战技巧完善
- CSRF 靶场开发
- CSRF 实战案例收集整理
- CSRF Bypass 技巧整理
- CSRF 大型 SRC 与 XSS 配合挖掘
反序列化目前也只掌握了 PHP 反序列化,PHP 反序列化重点实际上入门很简单,主要看完几个魔术方法的特性,然后追踪调用就可以了,但是在实战项目中挖到 PHP 反序列化难度即比较高了, POP 利用链梳理整理真是一个技术活。另外自己的 JAVA 反序列化也不是很熟
- PHP 反序列化基础入门
- PHP 所有魔术方法整理学习
- PHP 反序列化靶场多场景搭建
- PHP 复杂 POP 链练习
- PHP 实战项目审计出反序列化漏洞
- JAVA 反序列化入门
- JAVA 反序列化姿势整理
- JAVA 实战项目审计出反序列化漏洞
XXE 实际上当初学习的时候,网上实际上很少有深入讲解清除的,就比如很少有人说清楚 DTD 的作用。DTD 大家都知道起到 XML 约束规范的作用,但是具体是如何约束规范的呢?如果特意将 XML 语法改成不符合 DTD 规范还会报错吗?这些网上貌似都没有人尝试,导致国光我踩了很多坑,实际上 DTD 验证作用对浏览器要求很高,基本低版本的 IE 浏览器都可以复现成功。另外 PHP的 libxml 版本高于 2.9.0 也会导致远程 DTD 加载不会很顺利,现在 PHP 的 linxml 版本基本上都过高了,要想复现很难,不过 vulhub 里面的那个环境的 libxml 是符合要求的。另外还有一个待实验的,就是 libxml 高于 2.9.0 版本的时候,真的就无法远程 DTD 调用了吗?国光我觉得这里还是值得一试的,理论上是有办法突破的。
- XML 基础知识
- DTD 基础姿势
- XXE 信息收集
- XXE 配合伪协议 Base64 编码读取文件
- XXE CDATA 读取特殊文件
- JAVA XXE 靶场搭建
- JAVA XXE 特殊姿势点整理
- PHP XXE 无回显信息获取
- 实战代码审计 XXE 漏洞挖掘
- libxml 2.9.0 以上 远程DTD 调用
- Python XXE 靶场搭建
SSRF 的实战场景不多,而且信息收集方面也具有局限性,如果 Redis 存在未授权访问漏洞的情况,SSRF 可以直接使用 DICT 协议发起攻击,这样效率最高,也可以使用 gopher 协议攻击,就是稍微要麻烦了一些。在 Redis 授权访问情况下,DICT 协议就 GG了,因为DICT 协议不支持多语句输入,导致密码无法被下一条语句记录,所以只能使用万能的 Gopher 协议了。另外使用 SSRF 攻击 MySQL 的时候,国光我复现一直都没有成功,找了赵今师傅帮忙看了下也没有成功,可能是我环境的问题,后面再单独花时间来整理一下,另外 DICT 协议可探测的端口范围也有待系统的整理(网上没有人整理过 DICT 可以探测的端口,实际上国光上次测试了发现只有很少的一部分端口才可以被探测到)。另外 SSRF 理论上可以攻击 FTP 等应用服务,这些都有待整理。
- SSRF 原理
- SSRF file、Dict、gopher 协议
- SSRF file 协议绕过
- SSRF Dict 协议攻击 Redis
- SSRF Dict 可探测端口系统整理
- SSRF 攻击 Web 应用:SQL注入、命令执行
- SSRF gopher 协议 攻击授权访问 Redis
- SSRF 攻击未授权的 MySQL
- SSRF 攻击 FTP 应用
- SSRF 绕过技巧整理与对应场景靶场搭建
代码注入这一块在 PHP 中除了经典的 assert 和 eval 可以代码执行,还有很多回调函数都是可以代码执行的,代码审计的时候也要重点关注这些回调函数。另外 P 神文章里面说过早期的很多回调函数都是可以直接免杀的,但是目前大多数都不可以免杀的,国光我曾经翻阅 PHP 手册硬还是发现了一些可以过狗和过D盾的回调函数,关于代码注入这一块在实际的审计中并没有遇到过,可遇不可求呀,希望日后自己也可以审计出代码注入相关的高危漏洞。
命令执行的话主要是追踪类似于 system 之类的目录执行函数,实际上业务场景中主要就是活用命令连接符&;|之类的符号,还有一些基本的绕过方法,比如绕过空格等之类的技巧,还有命令执行无回显的情况下多半是配合编码然后 DNSLog 回显信息,或者更直接一点的就是直接反弹 shell 出来。当然还有一些极端情况下,就是命令执行限制了长度,一般这种情况下就是利用 ls 写入文件,然后最后 bash 执行的思路来,这里是比较灵活的。在很多 Linux 服务器上一般安装的是 Redhat 系统,这样不仅可以使用 bash 命令执行写文件,也可以利用服务器自带的 Python 或者 Ruby 来写文件,写文件最好还是编码,这样很多情况下可以过一些 WAF 查杀。说道这里,听做红队免杀的朋友提到过这样的思路,使用 Python 的 request 加载 payload 很多情况下可以免杀,关于免杀后面日后再研究。
- eval 与 asset 总结
- PHP 回调函数整理
- PHP 回调函数免杀优化
- JAVA 代码注入整理
- Python 代码注入整理
- Linux 下常用的命令连接符
- Linux 下的执行命令的技巧整理
- 命令执行 Bypass 技巧整理
- 绕过宝塔的 disable_functions 命令执行限制
- D 盾命令执行突破
内网一直没有系统的学习过,年前买了一本内网安全的书籍,发现里面域环境搭建这里太过于形式,所以后面就单独找了网上 Windows 运维的教程来学习了,不过后面其他事情内网那本书就搁置了。
-
Windows 单域环境搭建 -
Windows 域树搭建 -
Windows 域林搭建 - Windows 黄金、白银票据的理解
- Windows 认证加密方式
-
MSF 基础使用 -
MSF 常用模块学习 - MSF 内网穿透路由
-
CS 基础使用 -
CS 穿内网 - CS 插件开发
- CS 冷门功能模块
-
CS 常用功能模块 - Payload 免杀
- Powershell 深入学习
- Covenant C2 学习使用
- SILENTTRINITY C2 学习使用
还是有很多优秀的书籍值得去再品一品的,下面列举一些未来国光打算看的书籍。
- Web 之困 现代 Web 应用安全指南
- “安全参考”系列杂志
- 内网安全攻防 渗透测试实战指南
- XSS 跨站脚本攻击剖析与防御
- 黑客命令行攻防实战详解
- PHP Web 安全开发实战
- 白帽子讲浏览器安全
- 白帽子讲 Web 安全
- 黑客攻防技术宝典 Web 实战篇
- 黑客攻防技术宝典浏览器实战篇
- 硬件安全攻防大揭秘
- 诸神之眼 Nmap 网络审计技术解密
- Web 安全攻防渗透测试实战指南
- Web 安全开发指南
- Web 攻防之业务安全实战指南
- Windows 黑客编程技术详解
- Windows 内核安全与驱动开发
- Wireshark 网络分析就这么简单
- Web 应用安全权威指南
- Kali Linux 大揭秘 深入掌握渗透测试平台
- Python 安全编程项目实训教程
- 云虚拟化安全攻防实践
- 云计算开发与安全
- 应急响应 网络安全的预防、发现、处置和恢复
- 网络空间安全 拒绝服务攻击检测与防御
- 物联网通信安全及解决方案
- 局域网安全与攻防解密:基于 Sniffer Pro 实现
- 机器学习互联网业务安全实践
- 精通 Metasploit 渗透测试
- 工业控制系统信息安全
- 黑客攻防:实战加密与解密
- 白帽子讲 Web 扫描
- 云安全技术应用
- 0day 安全:软件漏洞分析技术
- 物联网安全理论与技术
- Web 前端黑客技术揭秘
- 渗透测试实战第三版红队版
- Python 黑帽子黑客与渗透测试编程之道
- Python 渗透测试编程技术方法与实践
- Web 渗透测试与漏洞挖掘
- .Net Core 实战 手把手教你掌握 380 个精彩案例
- Windows PowerShell 实战指南
- 恶意代码分析实战
书有点多,先不加了,等后面遇到感觉可以的书再补充
这个版块上面 Flag 的完成情况。