Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: Web

瀏覽器與 HTTP Referer 之間的特性

Posted on 2014 年 4 月 23 日2022 年 7 月 16 日 By 日落 在〈瀏覽器與 HTTP Referer 之間的特性〉中尚無留言

在無限期鬼打牆以後,才發現 HTTP Referer 不一定真的代表參考位址。

假設有三個頁面:

  1. form.html:填資料
  2. proccess.php:處理表單內容
  3. showError.php:表單內容有誤時,重新導向到這一頁

一般情況下 process.php 的 referer 會是 form.html、showError.php 的 referer 會是 process.php,但若 proccess.php 跳轉頁面是這樣寫:

if( ERROR ){
   header('Location: showError.php');
}

執行後 HTTP server 的回應會是 HTTP 302 而非 HTTP 200,瀏覽器不會將 302 視為正常的瀏覽行為,所以 proccess.php 不會被列入正式瀏覽記錄,當重新導向到 showError.php 時,Refer 仍然會是最後一個正式的瀏覽記錄,也就是 form.html。

若希望讓 showError.php 可以正確知道是哪一頁連過來的,就得靠其他方法了。

在這裡建議不要使用 HTTP Referer 來做判斷的依據。現有瀏覽器開發工具、外掛都可以讓人任意修改 Referer,也聽說有些防毒軟體會固定將 Referer 從 HTTP request 中刪除,再者,各家瀏覽器送 Referer 的情況也不同 (IE MUST DIE),用 Referer 判斷流程等方法會遇到不少例外情況要處理,別讓自己那麼累。

Reference:
php – HTTP_REFERRER and Location redirect – Stack Overflow

Tags:Web

Interesting XSS Sample

Posted on 2013 年 10 月 31 日2022 年 7 月 16 日 By 日落 在〈Interesting XSS Sample〉中尚無留言
Interesting XSS Sample

比較常見的 XSS 多安插 javascript 程式在 HTML 元素中:

<img src="javascript:alert('XSS')">

最近發現有趣的攻擊方式:

<img/src=x oooooo/oooooooooo/onerror="top.location='http://zeroplex.blogspot.com'" >

這對程式碼本身並不具危險性,但瀏覽器開啟上面那一段 HTML 時,卻會自動重新導向到 zeroplex.blogspot.com。

主要原因是,瀏覽器都有提供語法自動補齊、修正功能。眼尖的人應該會發現,上面那一段語法,使用 Chrome 的開發者工具 (非檢視原始碼) 開啟時,會被自動修成 (top.location 改掉以便 debug):

恐怖的是,瀏覽器將最後面的語法修道可以執行,因此 %lt;img src=”x”> 時,瀏覽器無法擷取圖片,造成 error,而觸發了後半部 onError 事件,執行 top.localtion=”http://zeroplex.blogspot.com” 而跳到我的部落格頁面

Tags:JavaScript, Web, 資訊安全

隱藏 HTTP Server 資訊

Posted on 2013 年 6 月 15 日2022 年 7 月 16 日 By 日落 在〈隱藏 HTTP Server 資訊〉中尚無留言
隱藏 HTTP Server 資訊

Apache 和 Nginx 預設頁尾都會加上伺服器資訊,像是:

有些環境或許很忌諱出輸出這類的資料,可以修改設定將他隱藏起來。

Apache conf 中調整 ServerTokens 參數,將頁尾伺服器資訊作不同的調整。設定檔路徑可能會不一樣,可以 grep ServerTokens,以下是 Ubuntu 的路徑。

/etc/apache/conf.d/security:

#ServerTokens OS
ServerTokens Prod

Nginx conf 裡面則是用 server_tokens 參數,將其設定為 off 則不會輸出伺服器版本號。

server {
   server_tokens off;

   ...
}
Tags:Apache, Nginx, Web

文章分頁

上一頁 1 2

其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.