2016-04-15 15 views
9

我最近收到下面的大塊電子郵件(不要點擊!):垃圾郵件中的/ @ url如何解決?

<A HrEf="/@/0X0a290d92b/UALI=28389-UI=176738575-OI=279-ONI=5477-SI=0-CI=0-BI=577-II=27913-IDSP=1-KLEM=11-TIE=A-IDE=276135-MID=572-FID=0-DIOM=0" sTyLe=color:#000;font-size:10px;font-family:arial;> 
<span>UNS</span></a> 

這裏是原始電子郵件中的鏈接:https://gist.github.com/anonymous/16963a230cab0a3a1bcfc81209f297f1

據我所知,/@不是有效的網址。我的瀏覽器如何解決它到一個網站?

+1

[''@允許在URL路徑(http://stackoverflow.com/a/19737890/1591669),所以'/ @'是一個有效的相對URL。 – unor

+0

相對於什麼?該鏈接在電子郵件中。'https://mail.google.com/@/0X0a290d92b /'似乎無法解決任何問題。 –

+0

您使用的是什麼瀏覽器或郵件客戶端?也許它是針對特定的實施。 IE11,Edge和Vivaldi無法打開「/ @/0X0a290d92b」 – Sascha

回答

0

它將@之前的所有內容視爲傳遞給URL的auth信息。 @真正的url在@之後開始,這是vsminkov提到的編碼IP地址。所以主要的正斜槓被丟棄。

一個易於閱讀例如:http://username:[email protected]/

這是混淆的一切都只是層。

這裏有一個有趣的鏈接,進入了它的詳細信息:

http://www.pc-help.org/obscure.htm

和這裏的RFC 2396描述URL的一部分:涉及直接利用的

URL方案基於IP的協議到Internet上的指定服務器 使用服務器的通用語法 URI的方案特定數據的組成部分:

<userinfo>@<host>:<port> 

,其中可能包括用戶名和可選的方案 - 有關如何獲得授權訪問 服務器的特定信息。零件「@」和「:」可以省略。

server  = [ [ userinfo "@" ] hostport ] 

用戶信息,如果存在,接着在-SIGN 商業 「@」。

userinfo  = *(unreserved | escaped | 
        ";" | ":" | "&" | "=" | "+" | "$" | ",") 
+0

也許如果它以'@'開頭,但'/ @'應該是絕對的因爲它以斜槓開始並且協議被省略。 –

+0

雖然這是一個很好的鏈接。 –

+0

當URL被解析出來之前,@的所有內容都被提取出來,放入一個請求頭域,然後發送到@之後的url。所以得到解決的網址將是/ 0X0a290d92b ...它會在嘗試解析URL之前提取auth信息(在本例中僅爲反斜槓)。我會盡力找到一個很好的參考,並在這裏發佈。 –

2

正如評論@ is allowed in URL paths中已經提到的那樣。

關於URL解析。我想這個攻擊者使用<base>標籤爲電子郵件正文中的所有相關鏈接顯式設置默認URL,並希望您的瀏覽器/電子郵件客戶端能夠爲您解決它。

UPDATE

,因爲它是not supported by majority of mail clients

後位的調查,我意識到0x0A290D92B實際上是十六進制編碼的IPv4地址162.144.217.43原來的猜測可能是正確的。我還沒有理解的唯一事情是它應該如何在瀏覽器中轉換爲http(s)://0x0A290D92B。看起來攻擊者的目標是針對特定的瀏覽器/郵件客戶端行爲。

+0

據此,基地標籤不起作用在電子郵件:http:// stackoverflow .com/questions/14611225/html-base-tag-in-email –

+0

@NealFultz我很感興趣:)你可以在某處放棄收到的垃圾郵件的原始郵件正文 – vsminkov

+0

我在我的問題中添加了一個到原始郵件的鏈接 –