※ 引述《freebug (Freebug)》之铭言:
: 除了需注意
: 1) CSRF
: 2) Code injection
: 其中又包含:
: ◆ SQL injection
: ◆ HTML / JS injection
: ◆ PHP injection
: 3) HTTP response splitting (但新版的PHP已经将多行header给禁止了,所以好像不必
: 担心这点)
: 还有其他需要注意的点吗?
: 目前在下知道的就这些…
之前忘记在哪听过一句话:资安不只是意识,还有实践。
有很多东西其实要自己实践后才会知道,举例来说:
1. 像是 XSS 是什么?会带来什么危险?用 htmlentities 跟 htmlspecialchars 这两个函式来防御有什么差别?
2. LFI 是什么?除了被 access 到 /etc/passwd 之外,有没有可能让 source code 泄露?
3. SQL Injection 的原理是?用 PDO 真的可以一劳永逸吗? mysqli_real_escape_string 真的有助于防止 SQL injection 吗?
4. 什么是 SSRF?会让系统服务遭受什么样的风险?
5. extract 这个函式很好用,但会不会不知不觉间被拿来提权?
6. serialize 跟 unserialize 的使用时要注意什么?
7. Hash 用户的密码是用什么算法好呢?bcrypt
?argon2?它们又有什么差别?
8. json_encode 跟 json_decode 有什么潜在问题吗?有没有可能造成 DoS?
9. 什么是 XXE?什么情况可能会出现?
10. 什么是 race codition?在 PHP + MySQL 这样的经典组合中有没有可能出现?要如何解决?
11. 如何正确取得使用者的 IP?$_SERVER['REMOTE_ADDR']?如果商业逻辑服务器是放在 LoadBalancer 之后呢?
当然还有很多很多,不过因为晚餐点的意大利面上菜了,就不继续举例下去囉 XD。