4006-998-758
3000+课程任你选择
网络安全与渗透测试训练营
研发学院 SQL 服务器 CTF 开课时间:2021-07-03
张银奎

1996年毕业于上海交通大学信息与控制工程系,在软件产业工作20年,拥有13年Intel工作经历,任职于INTEL公司的上海研发中心,先后在PASD、DEG、CPG、PCCG、VPG等部门工作。在英特尔先后从事软件开发、系统测试、架构设计等工作,呈担任英特尔架构事业部视觉与并行计算事业群担任首席软件架构师职务。

对IA-32架构、操作系统内核、驱动程序、设计模式、软件调优、C和C++等有深厚的工作经验,对于精炼、易于维护的代码有不懈追求。10多年GPU、CPG等深度优化技术积累和代码重构经验,每天的主要工作除了设计和编写代码外,就是调试和重构C语言代码。


查看老师详情
课程内容

第一部分:安全基础和CTF简介(1.5小时)

要点:漏洞三要素,攻击类型,RCE,DoS,外部攻击和内部攻击,CVE,安全风险,Open Web Application Security Project(OWASP),OWASP的十大安全风险排名,深刻理解注入攻击(经典的溢出注入和SQL注入),重要的学习资源——DVWA、mutillidae样本网站,Botnet和黑色产业链,CTF简史,CTF的比赛形式,CTF的所需技能。


第二部分:渗透测试(2小时)

要点:Pentest,背景,测试过程,重要资源,Kali Linux, Metasploitable 2,BackBox,环境搭建,渗透测试的五大步骤详细介绍,Whois,WhatWeb, NMAP,ZenMap,PingScan,静态扫描工具,OpenVas,Metasploit Framework详细解析,主机入侵完整过程演示(利用IRC漏洞远程登录被攻克目标机),Armitage;DoS攻击。


第三部分:XSS攻击和浏览器安全(1.5小时)

要点:演示和理解XSS攻击,Reflected XSS (Type-1 XSS),Stored XSS(Type-2 XSS),DOM-based XSS (Type-0 XSS),使用XSSER扫描XSS漏洞,防卫方法:输出编码,净化输入;使用BeE颠覆IE,Burp Suite详解(Instrder, Comparer, Repeater, Decode, Sequencer),Burp Suite演示。


第四部分:SQL注入和数据库安全(1小时)

要点:SQL Injection,原理,演示,真实案例:2011年LulzSec组织对SonyMusic网站的SQL Injection攻击,防卫方法;设置数据库许可,存储过程,绑定参数,特权控制,ad-hoc SQL,直接对象引用,实例演示。


第五部分:数字签名和用户认证(1.5小时)

要点:对称加密,非对称加密,RSA算法,公钥,私钥,两种基本应用模式,Public Key Infrastructure(PKI),数字证书,X.509V3,Key的保护和管理,对文件进行数字签名的工具和方法,文件加密,案例分析:12306网站的数字证书,基于密码(Password)的认证,密码攻击,Man-in-the-Middle攻击(Hash-Identifier和findmyhash工具演示),使用Hydra暴力破解密码,关于密码保护的最佳实践,Single sign-on (SSO),OAuth,OAuth1(RFC-5849), OAuth1的安全漏洞,OAuth2(RFC6749),服务提供者,注册,认证过程,两次重定向,重定向风险。


第六部分:会话管理和CSRF攻击(1.5小时)

要点:认证和授权,授权基础,会话管理,Cookie原理,Cookie的属性,Cookie的使用过程,在浏览器中观察Cookie,Cross-Site Request Forgery (CSRF),Session Hijacking,最佳实践:强制会话超时,控制会话并发,安全使用cookie,HttpOnly,SSL和HTTPS。


第七部分:服务器端文件安全原则(1.5小时)

要点:使用有漏洞的组件(2017-A8),XcodeGhost,利用漏洞上传文件,TomcatRCE,CWE-434(允许上传危险类型文件),服务器被上传文件的案例分享,访问敏感信息,2017-A4(XML外部引用),forceful browsing,目录枚举,不安全的直接对象引用(文件包含和相对路径),扩展名猜测,LINUX操作系统的安全漏洞,配置不当,2017-A10(日志和监视不足)。


第八部分:反序列化(1小时)

要点:序列化背景,对象序列化,反序列化,2017-A8,对象篡改,破坏数据完整性,提升特权,DoS攻击演示,JavaSerialKiller,YSOSerial,已经公布的漏洞,检测工具。


第九部分:安全开发(1 小时)

要点:SDL(Security Development Lifecycle),SD3C,SDL定义的主要过程和最佳安全实践,Software Assurance Maturity Model (SAMM),TOP25编程错误解析。


第十部分:漏洞扫描(1小时)

要点:源代码扫描和黑盒扫描,Coverity介绍,工作过程,AST树,Checkers,三类事件,误报问题和函数建模,W3AF介绍和用法演示,OWASPZAP用法和演示。


第十一部分:威胁建模(1小时)

要点:常用建模方法概览(Trike 、OCTAVE 和P.A.S.T.A),详细介绍Microsoft Threat Modeling过程,STRIDE,风险评级,微软Threat Modeling Tool 2016用法演示。


第十二部分:App 移动业务安全和漏洞分析(1 小时)

要点:Santoku Linux,Santoku Linux中的常用工具,Android App逆向,APKTool,DEX,Dex2Jar,Java反编译工具(Jd-GUI, JAD, Dare, Mocha),Java混淆工具,JNI调用本地代码,App与服务器的通信,使用Burp Suite为代理服务器,设置iPhone手机,淘宝应用举例,安装数字证书,测试HTTPS通信,12306 App举例,Android系统上的界面劫持(Activity-Hijacking),工作原理,测试方法,检测方法和防御。


第十三部分:云安全初步(1小时)

要点:云安全联盟(CSA)定义的主要威胁(Top Threats to Cloud Computing),云服务存在的主要漏洞排名,跨虚拟机攻击,多级云安全(MTCS)标准,云安全事故案例分析。


//*对于希望参加CTF比赛的团队,可以选择如下主题

CTF-1:PWN挑战和工具

要点:PWN概括,PWN的常见题目,求解思路,pwntools概括,pwntools的一般用法,pwntools的常用命令,例题解析。


CTF-2:逆向工程

要点:机器语言,汇编与反汇编,gdb,gdb中的逆向命令,x86架构精要,反汇编技巧。


//*对于使用C/C++语言的研发团队,可以选择如下主题

CPP-1:栈和局部缓冲区溢出(1.5小时)

要点:栈基础,栈帧,栈帧布局,栈指针被破坏(Stack pointer corruption.),局部缓冲区越界(Overruns),栈被破坏(Stack corruption.),缓冲区溢出攻击(BOA),实例演示,SQLServer案例,Win7案例,IRCDaemon案例,GS机制(基于Cookie的溢出检测机制),扩展到LINUX平台,GCC编译器的保护措施。


[试验一]理解缓冲区溢出攻击(30分钟)


CPP-2:信号、异常和意外出口(1.5小时)

要点:结构化异常处理(SEH),C++异常处理,信号,LINUX的信号处理机制,程序崩溃的完整过程和调试方法,转储的基本知识,异常处理有关的安全漏洞,不合理的异常处理器,因为异常和执行意外代码,代码实例分析。


CPP-3:堆和堆溢出攻击(1.5小时)

要点:C++程序中动态分配内存的多种方法(malloc, new, HeapAlloc),介绍调试内存有关的典型问题的方法和技巧,包括使用CRT堆和Win32堆的调试支持,分析内存泄漏、访问违例和栈溢出等,在探讨实践经验的同时会穿插重要的理论知识,包括Win32对和CRT堆的结构、内存管理常识、堆布局等,真实案例分析,基于堆的安全漏洞和分析。


课程收益

掌握渗透测试的理论基础,了解核心工具

掌握典型安全问题的攻防原理

通过实践操作,提高Web系统安全性


课程对象

网络管理员、网络工程师、信息安全工程师、信息化人员,测试工程师等


课程形式

讲解 +演示+ 动手试验


返回上一级