Lamp
HTTP 請求中錯誤和神秘的字元替換
我看到使用者提出的奇怪請求似乎是合法的。基本上,似乎他們的瀏覽器發出的請求中的某些字元被替換了,似乎是隨機的。從我的 apache2 日誌中:
wdomain.com:80 A.B.C.D - - [01/Jul/2015:14:21:05 +0200] "POST /index.php?id=699&dID=foo HTTP/1.1" 301 608 1822125 "http://www.vdomain.se/my-profile/private-messages/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTLL, like Gecko) Chrome/43.0.2357.124 Safari/537.36"
或者例如,這裡
dID
應該是eID
.vdomain
在推薦人應該是wdomain
。當然還有KHTLL in the user-agent should be
KHTML !wdomain.com:80 A.B.C.D - - [01/Jul/2015:14:21:11 +0200] "GET /my-profile/private-messages/?dID=foo HTTP/1.1" 404 24471 541869 "http://wdomain.com/my-psofile/private-messages/" "Mozilla/5.0 (Macintosh; Intel Mac NS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2357.124 Safari/537.36"
這裡
my-profile
的referrer已經切換到了my-psofile
。什麼可能導致這些看似隨機的替換?似乎可以排除 rouge 擴展,因為某些替換不應該來自 DOM 中的更改,例如引用者和使用者代理的更改。由於使用者在其他方面看起來是良性的,並且由於更改是如此隨機,因此似乎不太可能是任何惡意意圖。
它可能會攔截和錯誤處理客戶端和您之間的流量。您可能希望使用 Tcpdump 或類似工具來查看網路上接收到的實際數據包,以確保問題不是 Apache 模組以一種奇怪的方式重寫請求。
如果您可以在客戶端數據包離開他們的機器時攔截它們,這也可能會告訴您問題是在他們身邊(可能是瀏覽器外掛)產生的,還是中間人產生的——比如代理。