课程信息 时间长度:2天 (每天7小时) 围绕Web应用的安全性这一主题,本培训重点覆盖以下三方面的内容:(一)分门别类讲解常见安全漏洞的攻防原理,包括SQL注入、Cross-Site Scripting(XSS)、CSRF、溢出等;(二)以穿透测试为核心的安全测试方法和工具,包括Kali Linux环境和Metasploitable 2;(三)提高Web系统安全性的最佳实践,主要针对开发过程,穿插部分服务器和数据库配置与管理的经验分享。课程大纲 主题内容 训练营环境和形式:专用局域网 + 包含专业穿透测试工具的虚拟机(Kali Linux)+ 模拟被攻击系统的服务器(Metasploitable 2),学员两人一组在讲师指导下完成训练任务 第一部分:Web应用安全基础 (1.5小时) 要点:70%的网络攻击是通过网络应用,防火墙对Web应用攻击爱莫能助,网络安全与应用安全比较,Open Web Application Security Project(OWASP),OQASP的十大Web应用漏洞列表,最危险的25个软件错误,输入验证,黑名单验证,白名单验证,缩写攻击面,DataTable v.s. DataSet(.Net实例),threat classification,STRIDE,IIMF,Common Weakness Enumeration (CWE) 第二部分:用户认证(1.5小时) 要点:HTTP基础(请求、HTTP头、HTTP方法、HTTP应答、状态码),HTTP验证,基本的HTTP访问验证,使用哈希算法的访问验证,Windows认证,Man-in-the-Middle攻击,Single sign-on (SSO),自定义的认证系统,基于密码的认证,密码攻击,关于密码保护的最佳实践 第三部分:穿透测试基础(1小时) 要点:Pentest,背景,测试过程,重要资源,Kali Linux, 安装,十大工具,Metasploitable 2,下载和安装,实例演示 穿透测试训练营之一 (1.5小时) 第四部分:授权(1.5小时) 要点:会话管理,授权基础,目标,授权过程,访问控制模型:Discretionary Access Control (DAC)、Mandatory Access Control (MAC)、Role-Based Access Control (RBAC)、混合方案,许可类型,分层模型,客户端攻击,Time of check to time of use(TOCTOU),Cross-Site Request Forgery (CSRF), Session ID,会话状态,Cookie,cookie poisoning(窜改),SSL和HTTPS,Session Hijacking,最佳实践:强制会话超时,控制会话并发,安全使用cookie,HttpOnly 第五部分:浏览器安全原则 (1.5小时) 要点:同源原则,例外,cross-origin resource sharing (CORS),XDomainRequest;cross-site scripting (or XSS),XSS攻击,Reflected XSS (Type-1 XSS),Stored XSS(Type-2 XSS), DOM-based XSS (Type-0 XSS),HTML Injection,防卫方法:输出编码,净化输入,HttpOnly;Cross-Site Request Forgery (CSRF),案例:2011年3月发现的Android Market漏洞,HTTP GET,防卫CSRF攻击 第六部分:数据库安全原则 (1.5小时) 要点:SQL Injection,原理,演示,真实案例:2011年LulzSec组织对Sony Music网站的SQL Injection攻击,防卫方法;设置数据库许可,存储过程,特权控制,ad-hoc SQL,直接对象引用 穿透测试训练营之二 (1.5小时) 第七部分:文件安全原则(1小时) 要点:静态内容和动态内容,文件备份,forceful browsing,目录枚举,不安全的直接对象引用,扩展名猜测 第八部分:安全开发(1.5小时) 要点:未雨绸缪,SDL,安全编程,托管代码的安全优势,.Net框架中的安全设施,安全的库,安全测试,OWASP Comprehensive Lightweight Application Security Process (CLASP),Security = Hardware + Software + Process |