首页课程小红花墙

计算机原理 · 小纸条

选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。

第 1 章30第 2 章30第 3 章30第 4 章30第 5 章30第 6 章30第 7 章30第 8 章30第 9 章30第 10 章30第 11 章30第 12 章30第 13 章30第 14 章30第 15 章30第 16 章30第 17 章30第 18 章30第 19 章30第 20 章30第 21 章30第 22 章30第 23 章30第 24 章30第 25 章30第 26 章30第 27 章30第 28 章30第 29 章30第 30 章30第 31 章30第 32 章30第 33 章30第 34 章30第 35 章30第 36 章30第 37 章15
只印题目
第 1 页 · 正面(题目)
1垂直越权

隐藏按钮够吗?

2会话管理

会话 ID 可预测会怎样?

3令牌与会话的取舍

怎么解决令牌作废问题?

4多因素认证

短信验证码算强因素吗?

5密码策略的误区

更好的策略是什么?

6撞库攻击

站点该怎么防?

7反序列化漏洞

怎么防?

8路径穿越

怎么防?

9服务端请求伪造

怎么防?

10上传功能的风险

怎么防?

第 1 页 · 背面(答案)

参考答案(家长):攻击者能直接猜出别人的会话,冒充登录。

参考答案(家长):完全不够,接口必须自己校验角色。

参考答案(家长):偏弱,有被劫持和补卡的风险,但比只有密码好。

参考答案(家长):缩短有效期加刷新机制,再配一个黑名单。

参考答案(家长):限速、异常登录检测、比对已知泄露库。

参考答案(家长):鼓励长口令、检查是否在泄露库里、只在怀疑泄露时才要求改。

参考答案(家长):把路径规范化后校验是否仍在允许目录内。

参考答案(家长):不反序列化不可信数据,用只含数据的格式并做白名单校验。

参考答案(家长):存到不可执行目录、重命名、校验真实类型、隔离域名提供访问。

参考答案(家长):白名单目标地址,禁止访问内网段,禁止跟随重定向。

第 2 页 · 正面(题目)
11缓冲区溢出

为什么覆盖返回地址很危险?

12栈溢出的经典利用

现在还能这么做吗?

13数据执行保护

攻击者怎么绕过?

14返回导向编程

这说明了什么?

15地址随机化

它怎么被削弱?

16栈保护

这能防住所有溢出吗?

17整数溢出

这怎么导致漏洞?

18释放后使用

怎么防?

19内存安全语言的价值

这说明什么?

20竞态条件漏洞

这类漏洞怎么防?

第 2 页 · 背面(答案)

参考答案(家长):基本不能,栈已被标记为不可执行。

参考答案(家长):函数返回时会跳到攻击者指定的位置执行。

参考答案(家长):防御和攻击是不断升级的军备竞赛。

参考答案(家长):不注入新代码,而是复用程序里已有的代码片段。

参考答案(家长):不能,比如精确改写某个局部变量就绕过了。

参考答案(家长):如果存在信息泄露漏洞,攻击者能先泄露地址再利用。

参考答案(家长):释放后置空指针,或者用有所有权检查的语言。

参考答案(家长):分配了很小的缓冲区,却按原本的大长度去写。

参考答案(家长):让检查和使用成为一个原子操作。

参考答案(家长):换用内存安全的语言,能一次性消除大部分漏洞类别。

第 3 页 · 正面(题目)
21侧信道攻击

字符串比较为什么要恒定时间?

22缓存侧信道

这类攻击难防在哪?

23供应链风险

怎么降低?

24依赖越少越安全

判断标准是什么?

25及时更新与漏洞情报

怎么自动化?

26最小权限的落地

检查你的项目符合吗?

27默认安全

举一个反面例子。

28安全地失败

这叫什么原则?

29不要自己发明轮子

为什么自己写危险?

30日志与隐私的平衡

怎么处理必须记录的敏感字段?

第 3 页 · 背面(答案)

参考答案(家长):它利用的是硬件优化机制本身,不是软件 bug。

参考答案(家长):提前返回会暴露前几位是否正确,能逐位猜出来。

参考答案(家长):功能占比小、自己几十行能写,就别引依赖。

参考答案(家长):锁定版本、校验哈希、审查新依赖、减少不必要的依赖。

参考答案(家长):大多数项目第一次检查都会发现权限给多了。

参考答案(家长):用依赖扫描工具接进持续集成,发现即告警。

参考答案(家长):失败关闭,而不是失败打开。

参考答案(家长):默认空密码、默认对公网开放、默认开启调试接口。

参考答案(家长):脱敏,比如只记后四位。

参考答案(家长):安全代码的正确性极难自测,错了也看不出来。

op599 课程