2017年8月29日 星期二

[Apache] httponly 讓Javascript無法取得cookie

當今天網站不小心被發現有 XSS 漏洞時,攻擊者很可能會透過 javascript 盜取你的 cookie 中的 session id,來盜取帳號。

http(s) header 中其中有一個 header Set-Cookie,將 Set-Cookie 設為 httpOnly(javascript 無法存取cookie) secure (http 連線無法存取 cookie)

我們可以簡單的透過 php_ini 設定,Set-Cookie: HttpOnly
session.cookie_httponly = 1

透過 apache2 設定 header (apahce 版本資訊, 可透過指令 sudo apache2 -v 得知)
vim /etc/apache2/conf-available/security.conf

若是 apache 版本 >=2.2.4
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
若是 apache 版本 < 2.2.4
Header set Set-Cookie HttpOnly;Secure

sudo service apache2 restart   #重啟 apache 載入設定
這樣就可以避免 javascript 與不安全的 http 連線存取 cookie

沒有留言:

張貼留言

[CentOS] httpd port 9000 to 80

<VirtualHost *:80>     ServerName domain.name     ProxyRequests Off     ProxyVia Block     ProxyPreserveHost On     <Proxy *...