内容推荐 互联网时代的数据安全与个人隐私受到靠前的挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?《白帽子讲Web安全(纪念版)》将带你走进Web安全的世界,让你了解Web安全的方方面面。黑客不再神秘,攻击技术原来如此,小网站也能找到适合自己的安全道路。大公司如何做安全,为什么要选择这样的方案呢?在《白帽子讲Web安全(纪念版)》中都能找到答案。详细的剖析,让你不仅能“知其然”,更能“知其所以然”。 《白帽子讲Web安全(纪念版)》根据安全宝副总裁吴翰清之前在很好互联网公司若干年的实际工作经验而写成,在解决方案上具有极强的可操作性;深入分析诸多错误的方法及误区,对安全工作者有很好的参考价值;对安全开发流程与运营的介绍,同样具有深刻的行业指导意义。《纪念版》与前版内容相同,仅为纪念原作以多种语言在全球发行的特殊版本,请读者按需选用。 目录 第一篇世界观安全 第1章我的安全世界观2 1.1Web安全简史2 1.1.1中国黑客简史2 1.1.2黑客技术的发展历程3 1.1.3Web安全的兴起5 1.2黑帽子,白帽子6 1.3返璞归真,揭秘安全的本质7 1.4破除迷信,没有银弹9 1.5安全三要素10 1.6如何实施安全评估11 1.6.1资产等级划分12 1.6.2威胁分析13 1.6.3风险分析14 1.6.4设计安全方案15 1.7白帽子兵法16 1.7.1Secure By Default原则16 1.7.2纵深防御原则18 1.7.3数据与代码分离原则19 1.7.4不可预测性原则21 1.8小结22 (附)谁来为漏洞买单?23 第二篇客户端脚本安全 第2章浏览器安全26 2.1同源策略26 2.2浏览器沙箱30 2.3恶意网址拦截33 2.4高速发展的浏览器安全36 2.5小结39 第3章跨站脚本攻击(XSS)40 3.1XSS简介40 3.2XSS攻击进阶43 3.2.1初探XSS Payload43 3.2.2强大的XSS Payload46 3.2.3XSS攻击平台62 3.2.4终极武器:XSS Worm64 3.2.5调试JavaScript73 3.2.6XSS构造技巧76 3.2.7变废为宝:Mission Impossible82 3.2.8容易被忽视的角落:FlashXSS85 3.2.9真的高枕无忧吗:JavaScript开发框架87 3.3XSS的防御89 3.3.1四两拨千斤:HttpOnly89 3.3.2输入检查93 3.3.3输出检查95 3.3.4正确地防御XSS99 3.3.5处理富文本102 3.3.6防御DOM Based XSS103 3.3.7换个角度看XSS的风险107 3.4小结107 第4章跨站点请求伪造(CSRF)109 4.1CSRF简介109 4.2CSRF进阶111 4.2.1浏览器的Cookie策略111 4.2.2P3P头的副作用113 4.2.3GET?POST?116 4.2.4Flash CSRF118 4.2.5CSRF Worm119 4.3CSRF的防御120 4.3.1验证码120 4.3.2Referer Check120 4.3.3Anti CSRF Token121 4.4小结124 第5章点击劫持(ClickJacking)125 5.1什么是点击劫持125 5.2Flash点击劫持127 5.3图片覆盖攻击129 5.4拖拽劫持与数据窃取131 5.5ClickJacking3.0:触屏劫持134 5.6防御ClickJacking136 5.6.1frame busting136 5.6.2X-Frame-Options137 5.7小结138 第6章HTML5安全139 6.1HTML5新标签139 6.1.1新标签的XSS139 6.1.2iframe的sandbox140 6.1.3Link Types:noreferrer141 6.1.4Canvas的妙用141 6.2其他安全问题144 6.2.1Cross-Origin Resource Sharing144 6.2.2postMessage――跨窗口传递消息146 6.2.3Web Storage147 6.3小结150 第三篇服务器端应用安全 第7章注入攻击152 7.1SQL注入152 7.1.1盲注(Blind Injection)153 7.1.2Timing Attack155 7.2数据库攻击技巧157 7.2.1常见的攻击技巧157 7.2.2命令执行158 7.2.3攻击存储过程164 7.2.4编码问题165 7.2.5SQL Column Truncation167 7.3正确地防御SQL注入170 7.3.1使用预编译语句171 7.3.2使用存储过程172 7.3.3检查数据类型172 7.3.4使用安全函数172 7.4其他注入攻击173 7.4.1XML注入173 7.4.2代码注入174 7.4.3CRLF注入176 7.5小结179 第8章文件上传漏洞180 8.1文件上传漏洞概述180 8.1.1从FCKEditor文件上传漏洞谈起181 8.1.2绕过文件上传检查功能182 8.2功能还是漏洞183 8.2.1Apache文件解析问题184 8.2.2IIS文件解析问题185 8.2.3PHP CGI路径解析问题187 8.2.4利用上传文件钓鱼189 8.3设计安全的文件上传功能190 8.4小结191 第9章认证与会话管理192 9.1WhoamI?192 9.2密码的那些事儿193 9.3多因素认证195 9.4Session与认证196 9.5Session Fixation攻击198 9.6Session保持攻击199 9.7单点登录(SSO)201 9.8小结203 第10章访问控制205 10.1Wha tCan I Do?205 10.2垂直权限管理208 10.3水平权限管理211 10.4OAuth简介213 10.5小结219 第11章加密算法与随机数220 11.1概述220 11.2Stream Cipher Attack222 11.2.1Reused Key Attack222 11.2.2Bit-flipping Attack228 11.2.3弱随机IV问题230 11.3WEP破解232 11.4ECB模式的缺陷236 11.5Padding Oracle Attack239 11.6密钥管理251 11.7伪随机数问题253 11.7.1弱伪随机数的麻烦253 11.7.2时间真的随机吗256 11.7.3破解伪随机数算法的种子257 11.7.4使用安全的随机数265 11.8小结265 (附)Understanding MD5 Length Extension Attack267 第12章Web框架安全280 12.1MVC框架安全280 12.2模板引擎与XSS防御282 12.3Web框架与CSRF防御285 12.4HTTP Headers管理287 12.5数据持久层与SQL注入288 12.6还能想到什么289 12.7Web框架自身安全289 12.7.1Struts2命令执行漏洞290 12.7.2Struts2的问题补丁291 12.7.3Spring MVC命令执行漏洞292 12.7.4Django命令执行漏洞293 12.8小结294 第13章应用层拒绝服务攻击295 13.1DDOS简介295 13.2应用层DDOS297 13.2.1CC攻击297 13.2.2请求频率298 13.2.3道高一尺,魔高一丈300 13.3验证码的那些事儿301 13.4防御应用层DDOS304 13.5资源耗尽攻击306 13.5.1Slowloris攻击306 13.5.2HTTP POST DOS309 13.5.3Serve rLimit DOS310 13.6一个正则引发的血案:ReDOS311 13.7小结315 第14章PHP安全317 14.1文件包含漏洞317 14.1.1本地文件包含319 14.1.2远程文件包含323 14.1.3本地文件包含的利用技巧323 14.2变量覆盖漏洞331 14.2.1全局变量覆盖331 14.2.2extract()变量覆盖334 14.2.3遍历初始化变量334 14.2.4import_request_variables变量覆盖335 14.2.5parse_str()变量覆盖335 14.3代码执行漏洞336 14.3.1“危险函数”执行代码336 14.3.2“文件写入”执行代码343 14.3.3其他执行代码方式344 14.4定制安全的PHP环境348 14.5小结352 第15章WebServer配置安全353 15.1Apache安全353 15.2Nginx安全354 15.3jBoss远程命令执行356 15.4Tomcat远程命令执行360 15.5HTTP Parameter Pollution363 15.6小结364 第四篇互联网公司安全运营 第16章互联网业务安全366 16.1产品需要什么样的安全366 16.1.1互联网产品对安全的需求367 16.1.2什么是好的安全方案368 16.2业务逻辑安全370 16.2.1永远改不掉的密码370 16.2.2谁是大赢家371 16.2.3瞒天过海372 16.2.4关于密码取回流程373 16.3账户是如何被盗的374 16.3.1账户被盗的途径374 16.3.2分析账户被盗的原因376 16.4互联网的垃圾377 16.4.1垃圾的危害377 16.4.2垃圾处理379 16.5关于网络钓鱼380 16.5.1钓鱼网站简介381 16.5.2邮件钓鱼383 16.5.3钓鱼网站的防控385 16.5.4网购流程钓鱼388 16.6用户隐私保护393 16.6.1互联网的用户隐私挑战393 16.6.2如何保护用户隐私394 16.6.3Do-Not-Track396 16.7小结397 (附)麻烦的终结者398 第17章安全开发流程(SDL)402 17.1SDL简介402 17.2敏捷SDL406 17.3SDL实战经验407 17.4需求分析与设计阶段409 17.5开发阶段415 17.5.1提供安全的函数415 17.5.2代码安全审计工具417 17.6测试阶段418 17.7小结420 第18章安全运营422 18.1把安全运营起来422 18.2漏洞修补流程423 18.3安全监控424 18.4入侵检测425 18.5紧急响应流程428 18.6小结430 (附)谈谈互联网企业安全的发展方向431 |