跳转至

HnuSec 2025 Win. ❄️冬季培训

❄️ 2025 冬季培训

本次招新主要面向海南大学24级全体学生,24级以外的海南大学学生也可以参与前置培训课程。培训结束后,我们将择期进行一次基础考核。其中成绩优异者即可加入HnuSec-Star队,并根据后续表现正式加入HnuSec。本次招新前置培训除了CTF相关的WEB、PWN、REV、CRY、MISC五个方向之外,我们还计划开展开发相关的DEV课程。欢迎感兴趣的同学学习。

考核与培训内容并非强关联,更多考验课后学习补充能力及知识拓展能力。

Q&A 这个页面也许可以回答你的问题。

📒 如何参加本次培训?

如果你是海南大学学生,

  • 添加下方协会群(787466604)后,向群主发送一张海南大学考勤系统的 “我的” 页面截图,审核通过后群主拉进群。

上述材料仅作验证使用,验证之后我们不会保存。另外你可以先加入我们的网络空间安全协会群,群号:787466604 ,有关CTF的其他校内活动也会在群里通知。

🎬 课程准备

培训前各个方向的准备

如果看完上面这些,还可以看看 2024暑期培训归档 这里面有上次的培训内容,以作参考。

📅 课程安排及讲解内容

培训课程暂定于2025年1月13日-2025年1月26日,具体安排及开课时间还在紧锣密鼓筹备中,课程开始前会按时公布,且如未特殊通知则预计将于每日晚七点准时开始。


在1月13日之前你需要准备的内容

所有的内容要求pr至 https://github.com/natro92/2025WinTraining
  • DEV:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
课前准备

- python:安装python环境(建议3.9及以上)https://www.python.org/downloads/

web基础

1. 安装apifox等api请求环境/可以打开开发者工具的现代浏览器(chrome/edge等)
数据库(sql)

- 安装mysql、创建用户、分配权限(课程演示使用windows)
  • Web:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
PHP语言基础

1. [php基础1](https://github.com/natro92/HnuSec-Training-Website/blob/main/docs/file/PHP1.pdf)

2. [php基础2](https://github.com/natro92/HnuSec-Training-Website/blob/main/docs/file/PHP2.pdf) 

基础

1. [babysql](https://buuoj.cn/challenges#[极客大挑战 2019]BabySQL)

2. [SWPUCTF 2021 新生赛finalrce](https://www.nssctf.cn/problem/438)

3. [Babyrce](https://www.nssctf.cn/problem/42578)

4. [ACTF2020 新生赛 Exec](https://buuoj.cn/challenges#[ACTF2020%20%E6%96%B0%E7%94%9F%E8%B5%9B]Exec)

5. [真入门题目](https://www.nssctf.cn/problem/2641)

6. [纯净版SSTI](https://buuoj.cn/challenges#[%E7%AC%AC%E4%B8%89%E7%AB%A0%20web%E8%BF%9B%E9%98%B6]SSTI)

进阶

1. [稍微难点的sql](https://www.nssctf.cn/problem/387)

2. [GXYCTF2019禁止套娃](https://buuoj.cn/challenges#[GXYCTF2019]%E7%A6%81%E6%AD%A2%E5%A5%97%E5%A8%83)

3. [鹏城杯 2022简单包含](https://www.nssctf.cn/problem/2422)

4. [md5简单题目](http://43.134.9.57:9292)

5. [进阶md5](https://www.nssctf.cn/problem/2638) 

6. [有waf版SSTI](https://buuoj.cn/challenges#[NewStarCTF%20%E5%85%AC%E5%BC%80%E8%B5%9B%E8%B5%9B%E9%81%93]BabySSTI_Two)

挑战自我

1. [更难一点的极客大挑战 2019HardSQL ](https://buuoj.cn/challenges#[极客大挑战 2019]HardSQL)

2. [比较复杂一点的题目,关于php](https://www.nssctf.cn/problem/1988)

3. [一题多解的SSTI拓展思路](https://www.nssctf.cn/problem/5755)
  • Pwn:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
基础语言知识

1. 汇编、c/c++,python

基础工具

1. ida

环境配置

1. 安装VMware,并配置好pwn所需环境的虚拟机

2. 安装IDA

课前作业:
1.https://www.nssctf.cn/problem/2928
2.https://www.nssctf.cn/problem/4479
学习并写完题目后,编写学习笔记和解题Wp(需含图片),按照要求提交PR至 https://github.com/natro92/2025WinTraining 处。
  • Crypto:
1
2
3
4
5
数论(可以参考:公钥密码学的数学基础)、python、sagemath。
可以简单的了解一下现代密码的体系结构,如对称密码体系、公钥密码体系。
一些简单的古典密码:凯撒密码、维吉尼亚密码等
(可以参考这篇文章:[CTF—古典密码(凯撒密码、维吉尼亚密码、培根密码等)](https://blog.csdn.net/weixin_52620919/article/details/119249518))
刷题网站:buuctf、nssctf以及[cryptohack](https://cryptohack.org/courses/)等
  • Reverse:

  • Misc:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
基础知识准备:

1. 基本的web、re手段

2.python等高级语言的程序编写

3.可以看看web、re方向的课

程序及环境准备:

1. WireShark

2. IDA Pro

3. python环境https://www.python.org/downloads/、Volatility

4. 安装VMware,装一个基础的kali或ubantu

课前作业:

1. 学习并写完题目后,编写学习笔记和解题Wp(需含图片),按照要求提交PR至 https://github.com/natro92/2025WinTraining 处。

入门:

1. 菜刀666:https://buuoj.cn/challenges#%E8%8F%9C%E5%88%80666

进阶:

1. guess:https://www.nssctf.cn/problem/5728

挑战自我:

1. 后续布置

课程安排

日期 课程安排 内容大纲 讲师
1.13 DEV第一节 各个方向都能听的基础课,建议都来听。(python/web/数据库) CFIT
1.14 WEB第一节 RCE bx33661
1.15 Cry第一节 古典+数论 wyyaxqy
1.16 pwn第一节 二进制基础与工具使用 iamorange
1.17 Misc第一节 各种隐写 amino
1.18 WEB第二节 php常见漏洞 unjoke
1.19 Cry第二节 对称密码DES 万事
1.20 Re第一节 安卓逆向 re-shiu
1.21 re第二节 花指令与SMC flag{SuperTag}
1.22 WEB第三节 Python相关SSTI知识 Ewoji
1.23 Cry第三节 公钥密码RSA Eleven
1.24 pwn第二节 栈溢出基础 AndreiLavig
1.25 pwn第三节 基础栈溢出 AndreiLavig
1.26 WEB第四节 SQL注入 orxiain.

🤖 1月13日 Dev开发第一节

课前准备

数据库(mysql) for Windows: 下面为非GUI安装方法。 在官网下载mysql8.0 解压到文件夹,进入bin目录(可设定环境变量,自行查询) 在目录下打开cmd,执行如下命令:

1
2
mysqld --initialize
mysqld --console --skip-grant-tables --shared-memory

不关闭原来的界面,同目录下打开新的cmd命令 在bin目录下直接执行mysql进入界面。 在mysql>后执行如下代码:

1
2
mysql>flush privileges;
mysql>alter user 'root'@'localhost' identified by '设定的密码';#密码可自行决定

重新登录,使用

1
2
mysql -u root -p
password:设定的密码
课程内容
  • 参见: ppt
课程作业
  • 小作业见PPT

  • 大作业/考核待定

  • ddl/提交方式待定

💻 1月14日 WEB方向第一节课-RCE

课前准备
  1. 笔记软件,VScode等IDE
  2. 学习和了解基本Linux命令,准备好一个linux环境
  3. 学习基础的PHP语法和PHP环境
  4. 了解Base64、url编码、HEX编码
课程内容

详情见:网站web模块第一节课RCE

  • linux基础和命令
  • PHP危险函数-回显型-无回显型
  • Bypass绕过技巧:空格绕过、编码绕过、变量拼接等
  • 一句话木马、简单脚本等内容
  • 综合题目学习分析
课程作业
  1. Ctfhub-RCE模块----命令注入

  2. 完成RCE-labs[0-8]题(写wp和学习笔记)

  3. 学习Linux基本命令和操作,自己搭建一个Linux环境(Vmware或者wsl都可以)记录并写下笔记

  4. 学习PHP基本语法

  5. 学有余力可以继续学习其他内容和知识,一样的要求记录笔记提交

💻 1月15日Crypto方向第一节课-古典加初等数论

课前准备
  1. 了解python的基本用法
  2. 网上自行学习下载sagemath并安装gmpy2和Crypto库
  3. 准备好《密码学数学基础》一书
  4. 了解一些古典密码

课程内容

详情见Crypto模块lesson-1

  • 讲义

  • Crypto方向简单介绍

  • 常见古典密码
  • 初等数论

课程作业

见课程详情(请做好相关笔记)

🤖 1月16日 Pwn方向第一节课-二进制基础与工具使用

课前准备
  1. 了解掌握汇编,python基础语法
  2. 深入了解掌握c语言
  3. 了解linux,掌握一些linux常见命令
  4. 搭建一个pwn环境,可以自行搜索教程

课程内容

  • 讲义

  • 二进制基础

  • 内存保护措施
  • PWN Tools

课程作业

链接: https://pan.baidu.com/s/1oYzuJHFLuqA5UBfvY9uEow?pwd=walt 提取码: walt

写完pr自己的wp

🤖 1月17日 MISC方向第一节课-各种隐写

课前准备

MISC 课前准备

课程内容

讲义

💻 1月18日 WEB方向第二节课-PHP语言的常见漏洞

课前准备
  1. 笔记软件,VScode等IDE
  2. 学习和了解基本Linux命令,准备好一个linux环境
  3. 熟悉的PHP语法和PHP环境
课程内容
  • PHP语言性质
  • 文件包含
  • 反序列化
课程作业
  1. 讲义内所有的课后要求(做好学习笔记,不要全抄我讲义,弄好了pr上来)

  2. 完成下面所有的题目,要写wp

  3. 题目一
  4. 题目二
  5. 题目三
  6. 题目四

🤖 1月19日 Crypto方向第二节课-对称密码

课前准备
  1. 了解群环域
  2. 了解一些对称密码分类及基础概念
课程内容

课程讲义

  • 数学基础
  • 分组模式
  • AES和DES
课程作业

链接: https://pan.baidu.com/s/1vA3mIsqlJA16KZCYhrwz-g 提取码: kc6u

希望理解后写出wp,而非照搬脚本

👾1月20日 Reverse方向第二节课

课程内容

PPT

课程作业

👾1月21日 Reverse方向第三节课-花指令与SMC

课前准备
  1. 了解基础汇编指令
  2. IDA基础使用
课程内容
课程作业
  1. 完成以下作业,给出wp https://pan.baidu.com/s/14IqLftbQeZ7nfXG6hEmNgA?pwd=Orzy 提取码: Orzy
  2. 花指令笔记
  3. 思考题(不做强制要求):直播中讲到,对于可执行文件exe而言,PE文件可选头中AddressOfEntryPoint字段是程序的起始地址,那么这个起始地址是否就是程序中main函数的地址?

🤖DLC DEV 知识扩充

课程内容
课程作业

这部分内容有部分是参考的SAST2023的 linux-git 部分,个人认为非常好,感兴趣的同学可以把相关知识学习下。

而你需要完成的是拉取下面的docker服务,并且完成其中的内容。并编写WP并提交到:2025WinTraining

1
2
3
docker pull jkjkmxmx/sast2023-linux-git
docker run --privileged -d -p 10000:22 -p 10001:80 -p 10002:3306 -p 10003:10001 -p 10004:10002 -h sast2023 --name sast2023 jkjkmxmx/sast2023-linux-git
ssh -p 10000 train@localhost

以下是要求:

  • Linux:该区在 “train” 的家目录 (即 /home/train) 下的 “puzzles” 目录中进行。在这个目录中的每一个子目录 (如 “envir”) 就代表一个谜题,一个谜题恰对应一个 “flag”。 每个谜题下一定存在一个与目录名同名的可执行文件 (可以有多种形式:二进制文件,Shell 脚本等;以 “envir” 为 例,即为 envir/envir),运行该文件并按照它的引导一步步获取 “flag”。

  • Git区:该区在 “train” 的家目录下的 “git” 目录中进行。本区包含 6 个 flag,简要介绍如下:

  • Branches:看看这个仓库里有哪些分支?
  • Message:提交信息不止只有标题哦,还有正文!
  • History:数据被覆盖了!看看怎么跳回之前的版本?
  • Reflog:该谜题在 “reflog” 分支下进行。 观察提交信息:“add correct Taylor formula”,这说明之前有可能加入了错误的公式。但是它不在版本树里,这说明很可能被 git reset 过。那该如何恢复这样的 “误操作” 呢?
  • Werewolf:该谜题在 “werewolf” 分支下进行。state 文件下看起来有很多 “flag”,但是这些基本都是假的。“预言家” 告诉你:最终版本的所有 “flag” 中,唯一一个由 “狼人” (werewolf) 提供且没有被后面平民 (villager) 覆盖的 “flag” 才是真正的 “flag”。

💻1月22日 Web方向第三节课-SSTI与Python沙箱逃逸

课前准备
  • 安装好Flask模块
  • 了解并且区分元组,列表,字典,模块,类,类继承,函数,全局变量,局部变量,域,切片等相关概念
  • 熟悉python遍历可迭代对象的方式和一些常用函数的用法
  • 了解并会写基本的HTML
课程内容

详情见:网站web模块第三节课SSTI与Python沙箱逃逸

  • Flask基础
  • Python危险函数
  • SSTI的成因
  • SSTI的函数逃逸和继承链逃逸
  • WAF绕过
课程作业
  • 两道题目,要写WP

NewStarCTF 2023 公开赛道

安洵杯 2020]Normal SSTI | NSSCTF

  • 自己总结一套WAF绕过方式记下笔记
  • 学有余力的同学可以自己使用Flask开发个小网站,提供一些有用的服务

💀1月24日 PWN方向第二节课

课程内容:
  • pwntools使用
  • 函数调用栈
  • 栈溢出漏洞基础
  • ret2text
  • ret2shellcode
  • 题目讲解
  • PPT
课程作业:
  • 同第一节课的作业,已经讲解过的也要写WP并提交
  • 复习讲过的内容,并到做题平台寻找相应类型的题目训练,要求在精不在多,力求举一反三,总结做题方法

💀1月25日 PWN方向第三节课

课程内容:
  • ret2syscall
  • ret2libc
  • 题目讲解
  • PPT
课程作业:
  • 同第二节课的作业

📃 结课考核

DEV

考核要求文档链接

CTF

这部分还在紧锣密鼓地安排中,课程开始前会公布。

其他

评论