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