因为本书作于2010年前,书中所使用的部分技术版本已经过于老旧,很多书中提到的攻击方法和绕过思路都已经严重落后,但之所以本书会成为安全界的经典必读书目,就是因为本书所讨论的安全思想尤为精华,对于企业来说的安全建设十分有用,所以我打算读这本书的过程中主要记录下来一些重要的安全思路,绕过思想,重要的烧过姿势,不回去特意记录他所有的精工代码等等
对于IT这个领域来说10年的时间足矣改变整个行业的组织架构,走了很多,也来了很多
1.4 安全是一个持续的过程;破除迷信,没有银弹!
1.5 安全三要素:机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)
1.6 实施前的安全评估 资产等级划分:“ 互联网的安全问题,使数据安全的问题 ” 威胁分析:“ 威胁建模 ” -> STRIDE模型、DREAD模型
1.7 白帽子兵法 Secure by default 黑名单、白名单,最小权限原则 纵深防御原则 数据与代码分离原则 不可预测性原则
2.1 浏览器的同源策略 (CORS漏洞)
2.2 浏览器沙箱 Chrome的多进程:浏览器进程、渲染进程、插件进程、扩展进程
2.3 恶意网址拦截:提供恶意网址黑名单组织:PhishTank
2.4 浏览器自身拦截部分恶意代码、脚本(XSS,不安全的http协议或网址)
3.1 XSS简介 Cross Site Script 反射型XSS、存储型XSS,Dom型XSS:通过网站功能修改html的本身构造,从而造成恶意JS被执行
3.2.1 cookie中的HttpOnly可以有效防止cookie劫持
3.2.2 构造恶意GET、POST请求:用js模拟浏览器发包,从而篡改网站数据(类似于csrf)
利用XSS获取服务器的数据(QQ邮箱):P51代码
利用XSS识别用户浏览器,从而根据版本进行攻击:P53~P55
利用XSS识别用户所有安装的软件:P55~P57
利用XSS识获取用户真实IP:P61~P62
3.2.3 集成的XSS攻击框架:BeEF
3.2.4 XSS Worm:XSS蠕虫病毒 P64~P73
3.2.6 XSS构造技巧 利用字符编码
绕过长度限制:通过location.hash绕过web日志、注释符
使用
使用windows.name实现跨域传值 构造XSS
3.2.7 将鸡肋XSS漏洞变废为宝
FLASH对的部分漏洞
Anehta的回旋镖:XSS跳板攻击:达到让A域的xss攻击B域的目标 P83、P84、P85
3.2.8 Flash XSS
在Flash中嵌入ActionScript脚本: getURL("javascript:alert(document.cookie)") 将Flash嵌入页面中
Flash危险参数:allowNetWorking
3.2.9 JS框架存在XSS漏洞:
常见的js框架:Dojo、YUI、jQuery
3.3 XSS的防御
HTTPOnly:P90 Cookie的使用过程 四步骤 P91 部署HttpOnly的不同语言的方法
Apache老版本中拥有一个绕过HttpOnly的姿势
3.3.2 输入检查: XSS Filter
3.3.3 输出检查: 使用安全的编码函数:unicode、htmlencode、XMLencode、JSONencode
在XSS payload中注入解码函数,使其变成代码从而执行恶意脚本
3.3.4 正确的防御XSS 前端代码