我的一位朋友進行了面試,並被問到幾個多選題問題。其中一個問題是其中哪些可以在客戶端操縱
其中哪些可以在客戶端進行操作: cookie數據,會話數據,遠程IP,用戶代理
我會說,會議是唯一一個你不能mainpulate(我意思是說,你可以劫持它等等,但是你不能像問題所示那樣改變它的數據)
你覺得怎麼樣?
我的一位朋友進行了面試,並被問到幾個多選題問題。其中一個問題是其中哪些可以在客戶端操縱
其中哪些可以在客戶端進行操作: cookie數據,會話數據,遠程IP,用戶代理
我會說,會議是唯一一個你不能mainpulate(我意思是說,你可以劫持它等等,但是你不能像問題所示那樣改變它的數據)
你覺得怎麼樣?
Cookie數據和用戶代理可以完全由客戶端提供,即可以被操縱。
IP地址可能被欺騙(具有本地訪問權限和/或技術和組織訣竅),但它始終處於有效格式,即從不是任意字符串。
會話數據由服務器本身管理,無法操作。但是,攻擊者可能會與其他會話關聯,例如通過捕獲其他用戶的Cookie。
cookie數據和用戶代理可明顯隨意被操縱。
就像你說的會話數據本身不能被操縱,你只能劫持會話,竊取用於在用戶與會話相關聯,餅乾......
遠程IP是一個艱難的呼叫。由於http基於TCP,因此不能僞造任意遠程IP。您可以使用代理來隱藏您的真實IP。但要僞造另一個IP,您需要能夠接收發往該IP的數據包。而且通常只有當你是IP路由的一部分時才能做到這一點。相關的老問題Application Security Concerns: How easy is it to fake an IP-Address?
還可以操縱的X轉發,對於頭在HTTP請求。你基本上可以使用任何IP,並且一些腳本/網站會認爲這實際上是客戶的IP。這樣一來,你實際上可以說你是本地主機(127.0.0.1),也因爲該IP地址的真實世是從互聯網上一個有效的地址,甚至iptables的將無法阻止請求。 (即永遠不會信任X-Forwarded-For)。 – Matt3o12
@ Matt3o12在我答案,我說的是TCP/IP級別的遠程IP。如果它已被可信(反向)代理添加,則應該信任「X-Forwarded-For」。這就是爲什麼檢查標題是否存在的代碼,如果不存在則默認爲較低級別的IP被設計破壞。要麼你有一個可信的代理,要麼你沒有。 – CodesInChaos
@CodeslnChaso我只知道只有那個試圖阻止使用代理的「騙子」的網站:) – Matt3o12
cookie數據,會話cookie,IP,用戶代理 – Ibu
事實是,任何事情都有可能,如果你足夠努力來操作。但是,99%的時間只是cookie數據和用戶代理。 –