https://github.com/sqlsec/flag
国光的 Flag 记录打开情况
https://github.com/sqlsec/flag
Last synced: 2 months ago
JSON representation
国光的 Flag 记录打开情况
- Host: GitHub
- URL: https://github.com/sqlsec/flag
- Owner: sqlsec
- License: apache-2.0
- Created: 2020-10-05T12:03:28.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-10-08T06:28:29.000Z (over 5 years ago)
- Last Synced: 2025-01-05T17:28:33.030Z (about 1 year ago)
- Size: 13.7 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 技能
## 前端
国光的前端感觉一直就是个半吊子水平,除了会审查元素用一用 Boostrarp 框架之外,让我纯手工使用 HTML、JS、CSS 写出一个精美的界面我是做不到的,另外这几年来前后端分离开发技术很火,所以 Vue 之类的框架也需要来学习,另外 JS 基础语法虽然可以看懂,但是深层次的 JS 也是目前的知识盲区。
- [x] HTML、CSS、JS 基础
- [x] Boostrap 框架使用
- [ ] Vue
- [ ] NodeJS
- [ ] React
- [ ] JS 进阶知识学习
- [ ] NodeJS 项目编写
## Linux
Linux 虽然用的比较多,但是没有深入学习过,有时间希望自己可以静下来读完鸟哥的 Linux 私房菜这类书籍中的一本。
- [x] Linux 基础知识
- [ ] Linux 进阶知识
- [x] Docker 基础使用
- [x] DockerFile 简单编写
- [ ] DockerFile 深入理解
- [x] Docker-compose 项目编写
- [ ] Dokcer-compose network 学习
- [ ] 网络基础知识学习 类似于如何计算子网掩码这类的
- [ ] Linux 权限维持
- [x] Linux 安全加固基础
- [ ] Linux 安全加固进阶
## PHP
PHP 是因为接触 CTF 比赛的时候学习的比较多,前端时间为了给客户培训 PHP 相关方面的漏洞,特地看了好几天的 PHP 手册,感觉受益匪浅,但是还是有一些盲区的,比如大型项目的代码审计,以及一些带框架的项目审计:
- [x] PHP 基础语法
- [x] PHP 数据类型、变量、常量
- [x] PHP 表达式、运算符、流程控制
- [x] PHP 函数
- [x] PHP 类与对象
- [x] PHP WebShell PHP5、PHP7 免杀
- [x] PHP 弱类型与变量覆盖整理
- [x] 中国蚁剑自定义编码器特征改造
- [ ] 过 D 盾命令执行 WebShell
- [x] PHP 小型 CMS 代码审计
- [ ] PHP 大型 CMS 审计
- [ ] ThinkPHP 框架项目审计
## Python
曾经做过半年左右的漏扫开发,也在那个时候受同事buzz的影响开始认真学习 Python,从一个 Python 半吊子水平变成一个稍微入门的人了。后面从南邮毕业写了那个毕设项目,自己又自学了 Django,感觉 Python 这块实际上掌握勉强及格了,但是由于做安全写代码比较少,所以目前来看我的 Python 编码水平又有所下降,看来不能闲着啊。
- [x] Python 基础语法
- [x] Python 函数
- [x] Python 对象
- [x] Python 多进程
- [ ] Python 多线程
- [ ] Python 协程
- [x] Python Web 框架 Django
- [ ] Python Web 框架 Flask
- [ ] Python 程序设计思想
- [x] Python Web 爬虫
- [x] Python Web 项目编写
- [ ] Python 前后端分离项目编写
## JAVA
JAVA 就是国光我的薄弱项了,后悔当初上大学的时候没有好好学习 JAVA,虽然曾经也使用过 JAVA 的 Spring 开发过项目,但是过去了这么久了,感觉现在都忘得一干二净了,所以 JAVA 这块得重新学习了。
- [x] JAVA 基础语法
- [ ] JAVA 进阶语法
- [ ] JAVA Web 开发
- [ ] JAVA 主流框架学习
- [ ] JAVA 安全漏洞学习
- [ ] JAVA Web 代码审计
## C/C++
虽然大一就学习过 C 语言,但是目前水平也只是过国家计算机二级的水平,这个水平等于没学,所以 C 语言和 C ++ 以后希望有时间来学习一下,因为红队 Windows 免杀这块很吃这方面的基本功,
- [x] C 基础语法
- [ ] C 进阶语法
- [x] C ++ 基础语法
- [ ] C ++ 进阶语法
- [ ] C 算法练习
- [ ] C 指针深入
- [ ] C/C++ 小项目编写
- [ ] C/C++ Windows 免杀
## SQL 注入
学习 SQL 注入大多从 MySQL 学起,因为 MySQL 搭建起来很方便,而且也常和 PHP 配合使用,所以基础的 MySQL 语法是要掌握的,否则后面的 UNION SELECT 联合查询注入和布尔类型的盲注、延时类型的盲注学起来就比较吃力了。国光个人感觉常规的 MySQL 手工注入已经没有短板了,除了异或注入这种了解的不多,但是像是 MSSQL、Oracle 数据库的注入的深度就不够,需要抓紧时间学习。还好自己当初把 SQLMap 手册翻完了,自认为对 SQLMap 的使用还算是可以的,不够有时候在 Oracle 这种数据库面前,SQLMap 无法注入出结果的时候,我就会很无从下手了。
- [x] MySQL 基础语法
- [x] MySQL 相关函数
- [x] MySQL UNION 联合查询注入
- [x] MySQL 报错注入
- [x] MySQL 布尔类型盲注
- [x] MySQL 延时类型盲注
- [x] MySQL 堆叠注入
- [x] MySQL 二次注入
- [x] MySQL DNSLog 外带数据
- [ ] MySQL 异或注入
- [x] MySQL 注入常规 Bypass 技巧
- [ ] MySQL 注入进阶 Bypass 技巧
- [x] SQLMap 基础使用
- [x] SQLMap 进阶使用
- [x] SQLMap Tamper 编写
- [ ] MSSQL 学习
- [ ] Oracle 学习
- [ ] MSSQL 注入深入理解
- [ ] Oracle 注入深入理解
## 文件上传
感觉文件上传这一块姿势点比较好理解,刷完 uploads-lab 的话,基本姿势就掌握差不多了。
- [x] %00 截断
- [x] 非常规后缀绕过
- [x] .htaccess 解析绕过
- [x] 图片头效果
- [x] MIME 绕过
- [x] 前端绕过
- [x] 二次渲染绕过
- [x] 条件竞争绕过
- [x] multipart*/*form*-*data 绕过
## 文件包含/下载
文件包含的话,基本上单独总结一下也是可以快速学习理解的,所以短板不多,但不代表没有。
- [x] 文件包含原理
- [x] 本地文件包含突破后缀
- [x] 远程文件包含突破后缀
- [x] PHP 文件包含配合伪协议
- [x] 文件包含 Web 日志
- [x] 文件包含 Sessions
- [x] 文件包含 SSH 日志
- [ ] 文件包含配合 phpinfo()
- [ ] 文件包含配合系统 proc 进程
- [ ] 文件包含 require_once 绕过
## XSS
XSS 目前刷完了几个靶场,感觉基础姿势掌握差不多了,另外也会一些基础的 Bypass 技巧,但是更深入的 Bypass 技巧缺乏整理
- [x] XSS 基础靶场刷完
- [x] XSS 一般 Bypass 技巧
- [ ] XSS 进阶 Bypass 技巧整理
- [x] XSS 配合 CSRF 攻击
- [x] XSS 配合反代钓鱼攻击
- [ ] XSS 实战技巧整理
- [ ] XSS HTTPonly Bypass 整理
- [ ] XSS 靶场题目开发完善
## CSRF
CSRF 的理解很喜欢余弦前辈的一句话:借“刀”杀人。这里的刀就是受害者的身份认证信息,拿到受害者的登录凭据信息理论上可以做任何受害者的操作,比如修改资料、修改密码等,如果受害者是高权限用户的话就可以做更多有危害的事情了。
- [x] CSRF 基础理论与实操
- [ ] CSRF POC 优化方法整理
- [ ] CSRF payload 实战技巧完善
- [ ] CSRF 靶场开发
- [ ] CSRF 实战案例收集整理
- [ ] CSRF Bypass 技巧整理
- [ ] CSRF 大型 SRC 与 XSS 配合挖掘
## 反序列化
反序列化目前也只掌握了 PHP 反序列化,PHP 反序列化重点实际上入门很简单,主要看完几个魔术方法的特性,然后追踪调用就可以了,但是在实战项目中挖到 PHP 反序列化难度即比较高了, POP 利用链梳理整理真是一个技术活。另外自己的 JAVA 反序列化也不是很熟
- [x] PHP 反序列化基础入门
- [x] PHP 所有魔术方法整理学习
- [ ] PHP 反序列化靶场多场景搭建
- [ ] PHP 复杂 POP 链练习
- [ ] PHP 实战项目审计出反序列化漏洞
- [ ] JAVA 反序列化入门
- [ ] JAVA 反序列化姿势整理
- [ ] JAVA 实战项目审计出反序列化漏洞
## XXE
XXE 实际上当初学习的时候,网上实际上很少有深入讲解清除的,就比如很少有人说清楚 DTD 的作用。DTD 大家都知道起到 XML 约束规范的作用,但是具体是如何约束规范的呢?如果特意将 XML 语法改成不符合 DTD 规范还会报错吗?这些网上貌似都没有人尝试,导致国光我踩了很多坑,实际上 DTD 验证作用对浏览器要求很高,基本低版本的 IE 浏览器都可以复现成功。另外 PHP的 libxml 版本高于 2.9.0 也会导致远程 DTD 加载不会很顺利,现在 PHP 的 linxml 版本基本上都过高了,要想复现很难,不过 vulhub 里面的那个环境的 libxml 是符合要求的。另外还有一个待实验的,就是 libxml 高于 2.9.0 版本的时候,真的就无法远程 DTD 调用了吗?国光我觉得这里还是值得一试的,理论上是有办法突破的。
- [x] XML 基础知识
- [x] DTD 基础姿势
- [x] XXE 信息收集
- [x] XXE 配合伪协议 Base64 编码读取文件
- [x] XXE CDATA 读取特殊文件
- [ ] JAVA XXE 靶场搭建
- [ ] JAVA XXE 特殊姿势点整理
- [x] PHP XXE 无回显信息获取
- [ ] 实战代码审计 XXE 漏洞挖掘
- [ ] libxml 2.9.0 以上 远程DTD 调用
- [ ] Python XXE 靶场搭建
## SSRF
SSRF 的实战场景不多,而且信息收集方面也具有局限性,如果 Redis 存在未授权访问漏洞的情况,SSRF 可以直接使用 DICT 协议发起攻击,这样效率最高,也可以使用 gopher 协议攻击,就是稍微要麻烦了一些。在 Redis 授权访问情况下,DICT 协议就 GG了,因为DICT 协议不支持多语句输入,导致密码无法被下一条语句记录,所以只能使用万能的 Gopher 协议了。另外使用 SSRF 攻击 MySQL 的时候,国光我复现一直都没有成功,找了赵今师傅帮忙看了下也没有成功,可能是我环境的问题,后面再单独花时间来整理一下,另外 DICT 协议可探测的端口范围也有待系统的整理(网上没有人整理过 DICT 可以探测的端口,实际上国光上次测试了发现只有很少的一部分端口才可以被探测到)。另外 SSRF 理论上可以攻击 FTP 等应用服务,这些都有待整理。
- [x] SSRF 原理
- [x] SSRF file、Dict、gopher 协议
- [x] SSRF file 协议绕过
- [x] SSRF Dict 协议攻击 Redis
- [ ] SSRF Dict 可探测端口系统整理
- [x] SSRF 攻击 Web 应用:SQL注入、命令执行
- [x] 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 很多情况下可以免杀,关于免杀后面日后再研究。
- [x] eval 与 asset 总结
- [x] PHP 回调函数整理
- [ ] PHP 回调函数免杀优化
- [ ] JAVA 代码注入整理
- [ ] Python 代码注入整理
- [x] Linux 下常用的命令连接符
- [ ] Linux 下的执行命令的技巧整理
- [x] 命令执行 Bypass 技巧整理
- [ ] 绕过宝塔的 disable_functions 命令执行限制
- [ ] D 盾命令执行突破
## 内网
内网一直没有系统的学习过,年前买了一本内网安全的书籍,发现里面域环境搭建这里太过于形式,所以后面就单独找了网上 Windows 运维的教程来学习了,不过后面其他事情内网那本书就搁置了。
- [x] ~~Windows 单域环境搭建~~
- [x] ~~Windows 域树搭建~~
- [x] ~~Windows 域林搭建~~
- [ ] Windows 黄金、白银票据的理解
- [ ] Windows 认证加密方式
- [x] ~~MSF 基础使用~~
- [x] ~~MSF 常用模块学习~~
- [ ] MSF 内网穿透路由
- [x] ~~CS 基础使用~~
- [x] ~~CS 穿内网~~
- [ ] CS 插件开发
- [ ] CS 冷门功能模块
- [x] ~~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 的完成情况。