Skip to content

Instantly share code, notes, and snippets.

@swachian
Last active December 11, 2015 17:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save swachian/f801d7015715f6f10098 to your computer and use it in GitHub Desktop.
Save swachian/f801d7015715f6f10098 to your computer and use it in GitHub Desktop.
吴翰清, 白帽子讲web安全的札记

作者:

吴翰清,西安交通大学少年班,84年生人。
2007年,成为P7(初级技术专家);
2010年,成为P8(高级技术专家)。
2012年下半年,跳槽去了安全宝,创新工场下面的一个企业。我对开复不感冒,甚至是负分的哦。

白帽子 主守, 黑帽子 主攻。

防火墙及ACL的控制,是的任意攻击系统端口的情况不再可能。而Web端口不能封。加之Web技术的普及和流行,黑客攻击转向Web。

安全三要素(CIA)

  • 机密性(Confidentiality)
  • 完整性(Integrity)
  • 可用性(Availability)

其他还有可审计性、不可抵赖性等

第一章很一般,全部都是空谈,讲一些人人都懂的道理。而且归纳的也很不好,基本就是一个列表,列表之间没有逻辑关系。

作者的文字功底和解释能力相当一般。

XSS(跨站脚本)

这章前半部分很无聊,作者罗列了一堆xss的案例,其中贴的js代码就差不多有十页。但没解释,没重点。XSS防御部分介绍的还行。 xss可以分为参数安全和劫持Cookie两种。可以试试fiddler工具。

XSS防御

  • HttpOnly

是设置cookie的属性,即只能Http请求时上传,而不能让JS操作。这样就可以避免cookie被劫持。

  • 输入检查

黑白名单过滤器

  • 输出检查

在html文本中用HtmlEncode,在javascript中用JavascriptEncode。

在css和url的输出则较为复杂。 Anti-Samy是一个很好的XSS Filter。

CSRF(Cross Site Request Forgery) 跨站点请求伪造

有些浏览器本地cookie不会被提交,session型cookie则肯定会被提交。

解决办法是 验证码Anti CSRF Token

就是在表单和session中,都放一个token来确保这个form是本地服务产生的。
Token可以是一个,也可以是多个。

点击劫持和HTML5都讲的比较烂。总是缺乏画龙点睛的那一笔。

SQL 注入

此章依然很一般。介绍的内容相当不到位。比如只说出了是利用sql拼接的漏洞,但没说具体是怎么应用的。 不过在 SQL注入攻击技术初探 中,终于搞懂了以前困惑过我的问题:内容到底是怎么显示出去的。道理在于让第一句(自己写的语句)出错无记录,而后面跟随union则返回攻击程序写出来的sql,这样自然内容就回显了。而参数数量等都是通过order by 16等试错来取得的。

使用预编译语句的效果主要是确保SQL语句的结构不会因为输入的参数发生变化。即实现了数据和代码(字段及从句的分离。

访问控制

依然讲的不清楚,懂的人不需要读,不懂的人读了也白读。

  • 垂直权限管理 -- 针对URL的访问控制,RBAC
  • 水平权限管理 -- 面对数据资源的
  • OAuth -- 和我们的重定向类似,只是更加标准,返回的不是用户数据,而是token

加密算法和随机数

这章还算有点料,从使用者的角度讲解了加密解密算法的用法。

建议:

  • 使用CBC模式的AES256用于加密;
  • 使用HMAC-SHA512用于完整性检查;
  • 使用带salt的SHA-256或SHA-512用于Hashing.

DDOS

亮点在于给了Yahoo的专利,确实是绝佳的主意。 Detecting system abuse

本书不是一本讲解性质的。其特点是列出各个大门,然后读者自己进去领取东西。对比师傅领进门的模式,它的模式是门户告诉你,然后靠自己。

OWASP的ESAPI安全模块

安全监控、入侵检测、Web应用防火墙(Apache的一个模块)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment