Policy Information
白帽子讲WEB安全
1. 安全评估
资产等级划分 威胁分析确认解决方案
2. 威胁分析方法
威胁建模的方法,它最早是由微软提出的,叫做STRIDE 模型。
STRIDE 是6 个单词的首字母缩写,我们在分析威胁时,可以从以下6 个方面去考虑。
威 胁 定 义 对应的安全属性
Spoofing(伪装) 冒充他人身份 认证
Tampering(篡改) 修改数据或代码 完整性
Repudiation(抵赖) 否认做过的事情 不可抵赖性
InformationDisclosure(信息泄露) 机密信息泄露 机密性
Denial of Service(拒绝服务) 拒绝服务 可用性
Elevation of Privilege(提升权限) 未经授权获得许可 授权
3. 风险分析
等 级 |
高(3) |
中(2) |
低(1) |
Damage Potential |
获取完全验证权限;执行管理员操作;非法上传文件 |
泄露敏感信息 |
泄露其他信息 |
Reproducibility |
攻击者可以随意再次攻击 |
攻击者可以重复攻击,但有时间限制 |
攻击者很难重复攻击过程 |
Exploitability |
初学者在短期内能掌握攻击方法 |
熟练的攻击者才能完成这次攻击 |
漏洞利用条件非常苛刻 |
Affected users |
所有用户,默认配置,关键用户 |
部分用户,非默认配置 |
极少数用户,匿名用户 |
Discoverability |
漏洞很显眼,攻击条件很容易获得 |
在私有区域,部分人能看到,需要深入挖掘漏洞 |
发现该漏洞极其困难 |
4. 安全方案原则
a) 最小权限(白名单、黑名单)
b) 纵深防御:不同层面不同方面实施;在正确的地方做正确的事
c) 数据与代码分离
d) 不可预测性(有效对抗篡改、伪造的攻击)
5. 浏览器安全
a) 同源策略:源为host、子域名、端口、协议
b) 恶意网址拦截
6. 跨站脚本攻击
a) 反射型、存储型、DOM Base XSS
b) XSS Payload
c) 识别浏览器信息
d) 识别安装的软件
e) Base标签(HTML标签)
f) 防御
i. 浏览器限制
ii. 输入检查:特殊字符
iii. 输出检查:安全的编码函数
7. 跨站点请求伪造
a) 浏览器Cookie策略:本地Cookie(指定过期时间)存在跨域问题,部分浏览器会限制;
b) P3P头(W3C制定关于隐私的标准):允许跨域访问页面
c) Iframe标签
d) CSRF的worm攻击
e) CSRF的防御
i. 验证码
ii. Referer Check
iii. Token
8. 点击劫持:通过在页面上附着透明的其他内容,诱使用户点击
a) Flash点击
b) 图片覆盖点击
c) 拖拽劫持与数据窃取
d) 触屏劫持
e) 防御:通过禁止跨域的Iframe来防范
i. Frame busting
ii. X-Frame-Options
9. HTML5安全
a) Iframe的sandbox属性增强安全性
b) Link types:noreferrer:防止泄露敏感信息
c) Canvas:破解验证码
d) Cross-Origin Resource Sharing
e) postMessage跨窗口传递消息
f) 本地存储
10. 注入攻击
a) SQL注入
i. 盲注:通过构造语句判断相关信息
ii. Timing Attack: SQLMAP自动化工具
iii. 攻击存储过程:存储过程本身及外部传变量的存储过程都有风险
iv. 编码问题:统一数据库、操作系统、应用的编码
v. 防御:
1. 使用预编译语句,绑定变量
2. 使用安全的存储过程
3. 检查数据类型
4. 使用安全函数
b) 其他注入攻击
i. XML注入:用户能控制数据的输入,程序拼凑了数据时会产生攻击;
ii. 代码注入:由不安全的函数或方法引起:禁用函数或对输入数据处理;
iii. CRLF注入:\r\n 字符
11. 文件上传漏洞
a) FCKEditor上传功能
b) 绕过文件上传检查功能
c) Apache的文件名解析
d) IIS文件解析问题:截断符为分号;
e) PHP CGI路径解析问题
f) 设计安全的文件上传功能:
i. 文件上传的目录设置为不可执行
ii. 判断文件类型
iii. 使用随机数改写文件名和文件路径
iv. 单独设置文件服务器的域名
12. 认证与会话管理
a) 密码
b) 多因素认证
c) Session与认证
d) Session Fixation攻击:解决方法为重写SessionID
e) Session保持攻击
f) 单点登录SSO
13. 访问控制
a) 垂直权限管理:基于角色的访问控制
b) 水平权限管理:基于数据的访问控制
14. 加密算法与随机数
a)
15. WEB框架安全
a) MVC框架:View、Model、Controller
b) WEB框架与XSS:对输入输出数据的检查
c) WEB框架与CSRF:在所有涉及Post的代码中添加Token
d) HTTP头管理:跳转函数指定跳转地址(白名单)、HTTPOnly Cookie
e) 数据持久层与SQL注入
f) 框架本身的问题
16. 应用层的DDOS攻击
a) CC攻击,指大量真实的访问页面导致页面停止服务
b) 验证码防御
c) 资源耗尽攻击:连接数限制、内存、进程数、存储空间等
d) Server Limit DOS:因HTTP包头长度限制而伪造Cookie致使客户端拒绝服务
e) 正则表达式ReDOS
17. PHP安全
a) 文件包含漏洞;要解决此漏洞,应尽量避免包含动态的变量
b) 远程文件包含:利用 %00截断
c) 变量覆盖漏洞
d) 代码执行漏洞:关注执行代码的函数
18. WEB Server配置安全:WEB Server、脚本语言解释器、中间件等软件
a) Apache安全:对于附加模块要慎重
b) Nginx安全:web应用以单独用户运行
c) jBoss远程命令执行
d) tomcat远程命令执行
e) HTTP Parameter Pollution
19. 互联网安全
a) 业务安全
b) 网络垃圾:信息、数据
c) 钓鱼网站
20. 安全开发流程
a) 源头、过程中实施安全标准(开发规范):设计、需求、函数使用、代码安全等
b) 安全测试报告
21. 安全运营
a) Find and Fix
b) Defend and Defer
c) Secure at the Source
评论
支持!
@prtyaa 感谢支持!