小屋創作

日誌2020-09-22 15:39

[達人專欄] 只靠圖片連結偷到你的 IP 地址,有可能嗎?淺談 IP logger

作者:解凍豬腳

 
  當我們使用電子設備,透過 ISP(網際網路服務供應商)連到網路的時候,我們每個人都會有一組由 ISP 配發的、以四個 byte 組成的 IP 地址,作為在網路上標示身分的編號。

  「我用內碼查到了,你的 IP 是 127.0.0.1。」我們經常能見到這類的言論。在網路上和人互動、交流的時候,除非這個平台像巴哈姆特或 PTT 一樣有特別揭示 IP 地址,否則普通使用者只能知道對方的帳號或暱稱,一般來說並沒有辦法直接得知對方的 IP 地址。


。為什麼我們可以同時和網路上的眾多人聊天或送信?

  為了瞭解「IP 地址」這樣的敏感資訊如何在網路上傳遞,我們要先釐清平常你的網路活動是怎麼回事。



  我們多數的網路活動遵從的是「主從式架構」來運作,網站的伺服器才是我們這群人活動的中心。什麼意思?比如說,我在巴哈姆特上面發表了這篇文章,正是因為我和巴哈姆特的伺服器連線,把我想要發表的文章傳送給巴哈姆特,接著巴哈姆特的伺服器將我的文章保存下來,我才完成了「發表文章」這件事。

  之後當你們連上巴哈姆特、和巴哈姆特的伺服器要求閱讀我的文章,巴哈姆特的伺服器再把我的文章內容傳送給你們,你們就可以看到這篇文。

  其實這點,我在去年發表的《論壇是怎麼架設的?自己動手做做看!(一)》就有提到。當你和巴哈姆特連線,你勢必要把自己的 IP 地址傳送給巴哈姆特,讓巴哈姆特的伺服器知道你在哪裡,伺服器才有辦法把網站的內容傳回來給你看,這種基於「使用者和伺服器交換 IP 地址相互確認對方有回應」為前提的連線,就是所謂的 TCP/IP 協定套組。

  而平常我們在瀏覽網頁的時候,瀏覽器也會自動把你的作業系統版本、瀏覽器版本等資訊附在 header 裡頭的 user-agent 欄位一起隨著 HTTP 連線請求傳送到伺服器去,所以伺服器除了能知道你的 IP 地址以外,還知道你用的是什麼瀏覽器和作業系統(但如果有心的話,這個 user-agent 欄位可以被偽造)。

  你會在網路上看見有些圖片上面載明了你的作業系統和 IP 地址,也正是因為該張圖片的伺服器使用你的 user-agent 欄位得知你的操作環境,產生好圖片以後再把圖片內容傳回來,才會有這樣的效果。

  總而言之,使用者和伺服器之間是互相知道對方 IP 地址的,但使用者和使用者之間則不然。

  你玩的線上遊戲也是如此。你之所以能和其他玩家互動,是因為伺服器把其他玩家的人物座標、角色狀態傳送給你,所以事實上你在遊戲裡看到的玩家都是伺服器間接秀給你看的資訊——除非這個遊戲特意設計讓你和其他玩家「直接」互相連線(通常會由玩家其中一方作為伺服器,比如室長),這就比較常見於少數人連線對戰的情況,比如暗黑破壞神系列、世紀帝國系列。


。這代表我的 IP 地址就一定隱密嗎?

  並沒有,老兄,這個世界沒有這麼安全。

  既然伺服器可以知道使用者的 IP 地址,那就意味著有能力架設伺服器的人可以自己架一個「會把來訪者的 IP 地址記錄下來」的 HTTP 伺服器,這樣一來他只要把連結丟給你,騙你把連結點開,你的 IP 地址就能被他間接得知,這就是所謂的 IP logger。

  也許你會覺得:當我傻了嗎?別人給我的連結,只要看到是我不認得的網域,一律別點開就好了嘛!

  這樣的觀念就錯了。事實上,我們瀏覽網站不見得只是連到這單一網站的伺服器,也許網頁裡面嵌入了來自不同網域的圖片檔、CSS 樣式檔、JavaScript 腳本檔,那你為了讀取這些內容,當然也會需要連到這些網站。比如你在你的巴哈姆特小屋貼了一張 Imgur 圖床上面的圖片,這樣當別人瀏覽你小屋的時候,就會為了讀取圖片而連線到 Imgur 的伺服器去。

  也就是說,我現在就可以在這裡貼一張我的伺服器上的圖片,然後偷偷地把你的 IP 地址記錄下來,而你頂多就是看到我貼了一張圖片在這篇文裡,對於 IP 地址洩漏到我手上的事情卻是渾然不覺。

  不過我既然都講了原理,也告訴了你們 IP logger 可以做在看起來正常的圖片上,那也就沒有什麼示範的必要了,免得你們待會跑去跟大家說豬腳會偷你們的 IP 地址(笑)。

  這聽起來很可怕,但你也不需要太過擔心。好在這些年當駭客的門檻越來越高了,即使有心人士透過 IP logger 知道了你的真實 IP 地址、使用的瀏覽器和作業系統,多數人也頂多只能推測出你所在的縣市、知道你申辦哪家網路,不太可能會發生「知道你的 IP 地址就能控制你的電腦」這種事情——只要你記得定期執行作業系統和瀏覽器的安全性更新。


。IP logger 有辦法讀取使用者在巴哈姆特的 cookie 嗎?

  看過《論壇是怎麼架設的?自己動手做做看!(一)》這篇文,你就會知道巴哈姆特在你登入帳號的時候會讓你的瀏覽器記住一組 cookie,其中最主要的是通行證 BAHARUNE,還有你的帳號 BAHAID。

  然而,Cookie 是按照網域分開儲存的。這份標明你巴哈帳號的 cookie 會被你的瀏覽器儲存到專屬於巴哈姆特的 cookie 容器裡面,所以 IP logger 不可能知道你的巴哈姆特 cookie 內容,因為你在連線到 IP logger 伺服器的時候,瀏覽器壓根就沒把這些內容傳過去。

  也就是說,如果你在你的文章裡埋了一顆 IP logger,而我在有登入巴哈姆特帳號的狀態下點閱你的文章,你仍然只能得知「2020-09-22 12:37:44 有一位 IP 地址為 127.0.0.1 的使用者以 Windows 10 作業系統和 Chrome v85.0.4183.102 瀏覽器造訪了 IP logger 連結」這樣程度的資訊(當然這裡的 127.0.0.1 只是舉例),並沒有辦法知道這個人巴哈姆特的 cookie 的 BAHAID 欄位是 johnny860726。


。結語

  IP logger 架設起來非常簡單,不用幾十行 code 就可以生一個出來。即便如此,就算被對方知道了你的 IP 地址,對方通常也沒有辦法藉此查到你住在哪條街哪棟樓,所以只要有點自保意識和資安觀念,真的不需要為此擔憂。

  今天針對 IP logger 的介紹就到這裡了,我們下回見~
 

193

37

LINE 分享

相關創作

新手如何組電腦【DIY全指南】

【教學】BIOS安全開機啟動/MBR轉GPT (不用第三方程式)

巴哈龍娘R-18同人本-預覽(未出刊)

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】