暂无简介
黑客攻防技术宝典:Web实战篇(第2版) (图灵程序设计丛书 99)读书赏析 读书笔记一本改变职业方向的书籍,陪伴着我走过了五年半时间。在过去的五年多时间里,从初次相遇的热情,再到埋入箱底,再到重新读过,难免心中再起波澜。
1、web核心安全问题:用户可以提交任意输入
过去五年多时间,移动互联网的迅速发展给社会经济生活带来翻天覆地的变化,然而移动互联网背后的web安全问题依然突出。
虽然大多数开发同学都会明白需要对用户输入进行服务端校验,但是依然存在部分千万级、亿级的App对用户输入的处理方法不当。
输入处理的方法:
拒绝已知的不良输入接受已知的正常输入净化安全数据处理语法检查2、影响web安全的关键问题因素
对于web/移动app而言,影响web/移动app安全的原因是相近的。web安全的主要影响原因包括:
不成熟的安全意识独立开发欺骗性的简化迅速发展的威胁形式资源与时间限制技术上强其所难对功能需求的不断增强3、处理用户访问
处理用户访问主要从身份认证、会话管理、访问控制三方面入手,根据过去开发、测试的经验,这三部分通常存在非常严重的安全问题。
4、避开客户端控件
避开客户端控件最简单的方法就是抓包,直接拦截web、app的网络请求,修改请求参数、响应内容便可。
但是目前已有部分移动app通过检查网络环境、证书,不能抓取app的http请求,但是在开发、测试过程中还是可以通过调整打包策略,满足开发测试的需求。
5、攻击验证机制
目前常见的验证机制密码验证、短信验证码验证、openauth验证。
在短信验证码验证过程中存在蛮力攻击的可能性极大。
密码保密性不强结合社交工程,蛮力攻击造成的影响愈来愈大多数app依然显示详细的登录失败信息证书明文传输依然存在密码修改过程中仅使用单因素验证可预测的用户名,用户ID在商品评论中随处可见,不用枚举,直接用爬虫吧证书分配不安全,直接发短信将明文密码发到用户智能手机中(android用户手机中读取短信的权限授权太多)可预测的初始密码,直接百度搜索某某网站的默认密码
常见缺陷:
故障开放登录机制多阶段登录机制中存在逻辑缺陷不安全的证书存储,明文传输、日志未模糊处理、使用md5/sha1加密未加salt在实际工作过程中使用加密传输的密码也存在密码回放的风险。
6、攻击会话管理
会话挟持的问题司空见惯
7、攻击访问控制
包括垂直访问控制、水平访问控制、上下文相关的访问控制。
越权访问漏洞也非常常见,部分系统将该部分核心功能交给无访问控制开发经验的人来设计,从一开始便陷入错误的陷阱。
8、代码注入
主要在解释型语言中发生,解释型语言包括sql、ldap、perl、php。
9、server端组件
常见问题包括注入操作系统命令、路径遍历漏洞等
10、逻辑漏洞
通常是设计者或开发者在思考过程中作出的特殊假设存在明显或隐含的错误。可以关注专注模式的特点、程序员的思考方式。避免逻辑漏洞的方法:
确保将应用程序各方面的设计信息清楚、详细的记录到文档中。清楚的源代码注释在以安全为中心的应用程序设计审核中,考虑设计过程中的每一假设,并想象假设被违背的每种场景。代码审核需考虑程序如何处理用户反常行为和输入;代码审核过程中不同代码组件与应用功能之间的相互依赖、互操作可能造成的不利影响。
11、XSS漏洞
包括反射型XSS漏洞、保存型XSS漏洞、基于DOM的XSS漏洞。
其中反射型XSS漏洞对于目前最新的浏览器chrome、firefox、IE11、safari、edge,都会被浏览器拦截。
12、伪造请求
包括本站点请求伪造(OSRF漏洞)、跨站点请求伪造(CSRF漏洞)
13、模糊测试
手工测试太慢,运用定制化测试工具、脚本,生成大量包括常见攻击字符串的请求,根据服务器响应快速确定问题。
书中知识非常丰富,欢迎各位朋友一起学习分享。