一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 獲取用戶Ip地址通用方法與常見安全隱患(HTTP_X_FORWARDED_FOR)

獲取用戶Ip地址通用方法與常見安全隱患(HTTP_X_FORWARDED_FOR)

2020-03-26 14:54PHP教程網 PHP教程

這個來自一些項目中,獲取用戶Ip,進行用戶操作行為的記錄,是常見并且經常使用的。 一般朋友,都會看到如下通用獲取IP地址方法

分析過程
這個來自一些項目中,獲取用戶Ip,進行用戶操作行為的記錄,是常見并且經常使用的。 一般朋友,都會看到如下通用獲取IP地址方法。

復制代碼 代碼如下:


function getIP() {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$realip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$realip = $_SERVER['REMOTE_ADDR'];
}
return $realip;
}



這個是網上常見獲取,ip函數,用這些值獲取IP,我們首先要弄清楚,這些數據是從那個地方傳過來的。

IP獲取來源

1.'REMOTE_ADDR' 是遠端IP,默認來自tcp 連接是,客戶端的Ip。可以說,它最準確,確定是,只會得到直接連服務器客戶端IP。如果對方通過代理服務器上網,就發現。獲取到的是代理服務器IP了。

如:a->b(proxy)->c ,如果c 通過'REMOTE_ADDR' ,只能獲取到b的IP,獲取不到a的IP了。

另外:該IP想篡改將很難實現,在傳遞知道生成php server值,都是直接生成的。

2.'HTTP_X_FORWARDED_FOR','HTTP_CLIENT_IP' 為了能在大型網絡中,獲取到最原始用戶IP,或者代理IP地址。對HTTp協議進行擴展。定義了實體頭。

HTTP_X_FORWARDED_FOR = clientip,proxy1,proxy2 所有IP用”,”分割。 HTTP_CLIENT_IP 在高級匿名代理中,這個代表了代理服務器IP。既然是http協議擴展一個實體頭,并且這個值對于傳入端是信任的,信任傳入方按照規則格式輸入的。以下以x_forword_for例子加以說明,正常情況下,這個值變化過程。

獲取用戶Ip地址通用方法與常見安全隱患(HTTP_X_FORWARDED_FOR)


分析Bug風險點:

通過剛剛分析我們發現,其實這些變量,來自http請求的:x-forword-for字段,以及client-ip字段。 正常代理服務器,當然會按rfc規范來傳入這些值。但是,當一個用戶直接構造該x-forword-for值,發送給用戶用戶,那將會怎么樣呢?

獲取用戶Ip地址通用方法與常見安全隱患(HTTP_X_FORWARDED_FOR)圖(1)

第2步,修改x-forword-fox值,我們看看結果

獲取用戶Ip地址通用方法與常見安全隱患(HTTP_X_FORWARDED_FOR)

 

第三步,我們再修改下看看會怎么樣?

獲取用戶Ip地址通用方法與常見安全隱患(HTTP_X_FORWARDED_FOR)

 

哈哈,看到上面結果沒,x-forwarded-for不光可以自己設置值,而且可以設置任意格式值。 這樣一來,好比就直接有一個可以寫入任意值的字段。并且服務器直接讀取,或者寫入數據庫,或者做顯示。它將帶來危險性,跟一般對入輸入沒有做任何過濾檢測,之間操作數據源結果一樣。 并且容易帶來隱蔽性。

結論:

上面getip函數,除了客戶端可以任意偽造IP,并且可以傳入任意格式IP。 這樣結果會帶來2大問題,其一,如果你設置某個頁面,做IP限制。 對方可以容易修改IP不斷請求該頁面。 其二,這類數據你如果直接使用,將帶來SQL注冊,跨站攻擊等漏洞。至于其一,可以在業務上面做限制,最好不采用IP限制。 對于其二,這類可以帶來巨大網絡風險。我們必須加以糾正。

需要對getip 進行修改,得到安全的getip函數。

這類問題,其實很容易出現,以前我就利用這個騙取了大量偽裝投票。有它的隱蔽性,其實只要我們搞清楚了,某些值來龍去脈的話。理解了它的原理,修復該類bug將是非常容易。

題外話,做技術,有三步,先要會做,會解決;后要思考為什么要這么做,原因原理是什么;最后是怎么樣做,有沒有其它方法。多問問自己,你發現距離技術真理越來越近。你做事會越來越得心應手的!

作者:chengmo QQ:8292669

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九热视频免费 | 1024国产高清精品推荐 | 美女和男人免费网站视频 | 777奇米影视一区二区三区 | 色帝国亚洲欧美在线蜜汁tv | 91视频www| 国产第一福利影院 | 99热最新 | 羞羞污视频 | 暖暖 免费 高清 日本 在线1 | 蜜桃久久久亚洲精品成人 | 日韩欧美亚洲国产高清在线 | 国产精品俺来也在线观看了 | 网www天堂资源在线 王淑兰与铁柱全文免费阅读 | 国产激情视频 | 四虎国产成人亚洲精品 | 臀控福利大臀的网站 | 五月最新商场女厕所高跟嘘嘘 | 久久免费资源福利资源站 | 继的朋友无遮漫画免费观看73 | 国产成人咱精品视频免费网站 | 久久久亚洲国产精品主播 | 大ji吧快给我别停受不了视频 | 成人女人天堂午夜视频 | 亚洲视频在线观看地址 | 四虎影视在线影院在线观看观看 | 欧美在线视频 一区二区 | 精品亚洲综合久久中文字幕 | 精品久久香蕉国产线看观看亚洲 | 国产最新进精品视频 | 成人免费一区二区三区在线观看 | 青草草产国视频 | 日韩免费在线视频 | 免费刷10000名片赞网站 | 爽好紧别夹宝贝叫大声点护士 | 日本视频在线观看播放 | 男生和老师一起差差差 | 精品国产乱码久久久人妻 | 无限在线看免费视频大全 | 奇米777四色精品综合影院 | 星空无限传媒xk8046 |