Re: [请益] 网站资安需注意哪些?

楼主: MoMoShota (正太控)   2018-05-28 18:43:24
※ 引述《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。
作者: DirtyVegas (拉斯维加斯)   2018-05-29 21:01:00
推 有几个都没认真想过
作者: cjoe (TeA)   2018-05-31 13:46:00
3. PDO不行吗? 还是说PDO对特殊的utf8字符有问题?
作者: GALINE (天真可爱CQD)   2018-05-31 17:31:00
PDO不能解决注入,解决注入的方法是“不要组SQL”例如 prepared statement。例如 prepared statement + bind 参数
楼主: MoMoShota (正太控)   2018-05-31 17:54:00
PDO 仍然有 query 这个 method,自组 SQL 的话仍会中奖另外,prepare 这个 method 在默认设定之下是模拟 prepare statement 的 (为了相容性),而不是真的用数据库的prepare statement feature
作者: cjoe (TeA)   2018-06-01 00:09:00
感谢回复

Links booklink

Contact Us: admin [ a t ] ucptt.com