国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

IP偽造與防范

solocoder / 2702人閱讀

摘要:對協(xié)議進行擴展。通過此項措施,強行將設(shè)置為客戶端使客戶端無法通過本文所述方式偽造。

在閱讀本文前,大家要有一個概念,由于TCP需要三次握手連接,在實現(xiàn)正常的TCP/IP 雙方通信情況下,是無法偽造來源 IP 的,也就是說,在 TCP/IP 協(xié)議中,可以偽造數(shù)據(jù)包來源 IP ,但這會讓發(fā)送出去的數(shù)據(jù)包有去無回,無法實現(xiàn)正常的通信。

一些DDoS 攻擊,它們只需要不斷發(fā)送數(shù)據(jù)包,而不需要正常通信,它們就會采取這種“發(fā)射出去就不管”的行為來進行攻擊。

那么在HTTP 中, “ 偽造來源 IP”, 又是如何造成的?如何防御之?
先搞明白后端應(yīng)用IP獲取來源
1.’REMOTE_ADDR’是遠端IP,默認來自tcp連接客戶端的Ip。可以說,它最準確,確定是,只會得到直接連服務(wù)器客戶端IP。如果對方通過代理服務(wù)器上網(wǎng),就發(fā)現(xiàn)。獲取到的是代理服務(wù)器IP了。
如:a→b(proxy)→c ,如果c 通過’REMOTE_ADDR’ ,只能獲取到b的IP,獲取不到a的IP了。
這個值是無法修改的。

2.’HTTP_X_FORWARDED_FOR’,’HTTP_CLIENT_IP’ 為了能在大型網(wǎng)絡(luò)中,獲取到最原始用戶IP,或者代理IP地址。對HTTp協(xié)議進行擴展。定義了實體頭。
HTTP_X_FORWARDED_FOR = clientip,proxy1,proxy2其中的值通過一個 逗號+空格 把多個IP地址區(qū)分開, 最左邊(client1)是最原始客戶端的IP地址, 代理服務(wù)器每成功收到一個請求,就把請求來源IP地址添加到右邊。
HTTP_CLIENT_IP 在高級匿名代理中,這個代表了代理服務(wù)器IP。
其實這些變量,來自http請求的:X-Forwarded-For字段,以及client-ip字段。 正常代理服務(wù)器,當然會按rfc規(guī)范來傳入這些值。
但是,攻擊者也可以直接構(gòu)造該x-forword-for值來“偽造源IP”,并且可以傳入任意格式IP.
這樣結(jié)果會帶來2大問題,其一,如果你設(shè)置某個頁面,做IP限制。 對方可以容易修改IP不斷請求該頁面。 其二,這類數(shù)據(jù)你如果直接使用,將帶來SQL注冊,跨站攻擊等漏洞。

這類問題,其實很容易出現(xiàn),比如很多時候利用這個騙取大量偽裝投票。那么該如何修復(fù)呢?
在代理轉(zhuǎn)發(fā)及反向代理中經(jīng)常使用X-Forwarded-For 字段。
X-Forwarded-For(XFF)的有效性依賴于代理服務(wù)器提供的連接原始IP地址的真實性,因此, XFF的有效使用應(yīng)該保證代理服務(wù)器是可信的.
比如Nginx代理服務(wù)器,我們可以在其轉(zhuǎn)發(fā)/反向代理的時候主動配置X-Forwarded-For為正確的值。

location / {
    proxy_pass  ....;
    proxy_set_header X-Forwarded-For $remote_addr ;
}

$remote_addr 是 nginx 的內(nèi)置變量,代表了客戶端真實(網(wǎng)絡(luò)傳輸層) IP 。通過此項措施,強行將 X-Forwarded-For 設(shè)置為客戶端 ip, 使客戶端無法通過本文所述方式“偽造 IP ”。

如果最前端(與用戶直接通信)代理服務(wù)器是與php fastcgi 直接通信,則需要在其上設(shè)定:

location ~ .php$ {
fastcgi_pass localhost:9000;
fastcgi_param  HTTP_X_FORWARD_FOR  $remote_addr;
}

但是更常用的配置如下:

proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

后臺代碼,通過X-Real-IP頭來獲取客戶真實IP

參考:
http://www.cnblogs.com/chengm...
http://zhangxugg-163-com.itey...
http://blog.csdn.net/lemon_tr...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/44239.html

相關(guān)文章

  • IP偽造防范

    摘要:對協(xié)議進行擴展。通過此項措施,強行將設(shè)置為客戶端使客戶端無法通過本文所述方式偽造。 在閱讀本文前,大家要有一個概念,由于TCP需要三次握手連接,在實現(xiàn)正常的TCP/IP 雙方通信情況下,是無法偽造來源 IP 的,也就是說,在 TCP/IP 協(xié)議中,可以偽造數(shù)據(jù)包來源 IP ,但這會讓發(fā)送出去的數(shù)據(jù)包有去無回,無法實現(xiàn)正常的通信。 一些DDoS 攻擊,它們只需要不斷發(fā)送數(shù)據(jù)包,而不需要正...

    tianlai 評論0 收藏0
  • 利用X-Forwarded-For偽造客戶端IP漏洞成因及防范

    摘要:在有反向代理的情況下,直接使用獲取到的地址是所在服務(wù)器的地址,而不是客戶端的。如何防范方法一在直接對外的反向代理服務(wù)器上配置如果有多層代理,內(nèi)層的配置在最外層即直接對外提供服務(wù)的使用代替上面的,可以防止偽造。 問題背景 在Web應(yīng)用開發(fā)中,經(jīng)常會需要獲取客戶端IP地址。一個典型的例子就是投票系統(tǒng),為了防止刷票,需要限制每個IP地址只能投票一次。 如何獲取客戶端IP 在Java中,獲取客...

    Yuqi 評論0 收藏0
  • web安全初探

    摘要:安全初探攻擊攻擊全稱跨站腳本攻擊,是為不和層疊樣式表的縮寫混淆,故將跨站腳本攻擊縮寫為,是一種在應(yīng)用中的計算機安全漏洞,它允許惡意用戶將代碼植入到提供給其它用戶使用的頁面中。 web安全初探 XSS攻擊 XSS攻擊全稱跨站腳本攻擊,是為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS,XSS是一種在web應(yīng)用中的計算機安全...

    Y3G 評論0 收藏0
  • web安全初探

    摘要:安全初探攻擊攻擊全稱跨站腳本攻擊,是為不和層疊樣式表的縮寫混淆,故將跨站腳本攻擊縮寫為,是一種在應(yīng)用中的計算機安全漏洞,它允許惡意用戶將代碼植入到提供給其它用戶使用的頁面中。 web安全初探 XSS攻擊 XSS攻擊全稱跨站腳本攻擊,是為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS,XSS是一種在web應(yīng)用中的計算機安全...

    xuhong 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<