1. 程式人生 > >.NET 使用HttpWebRequest 偽造Request.UrlReferrer

.NET 使用HttpWebRequest 偽造Request.UrlReferrer

span pan 研究 測試程序 防禦 div 求和 找到 creat

在網上找了許久關於偽造UrlReferrer地址資料,也許是搜索的關鍵詞不對吧,還是內容涉及到了什麽敏感的東西,楞是沒找到,換成自定義UrlReferrer也找不到。經過仔細研究,原來在.NET中要自定義一個UrlReferre,只要設置Referer這個屬性即可,以下是具體實現的代碼。

一般在.NET中都是使用HttpWebRequest 類進行HTTP請求處理,代碼大致如下

string strUrl = "shiyousan.com";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl);
/*
* 只要設置了Referer屬性,向目標發送的UrlReferrer就是Referer的值
* 這裏我們偽造的Request.UrlReferrer是shiyousan.com
*/ request.Referer = "http://shiyousan.com"; request.Method = "GET"; request.KeepAlive = false;

其中HttpWebRequest.Referer 屬性就是設置Request.UrlReferrer。

偽造Request.UrlReferrer或者應該說自定義Request.UrlReferrer的用途暫時還想不到哪兒常用到,目前唯一想到是在進行惡意攻擊的時候會用到。

如果有在項目中需要測試程序的安全性,可以自定義Request.UrlReferrer進行測試。在項目中,有些功能需要驗證用戶的請求是否合法,以此來防禦那些不通過網站來訪問,而是通過外部程序進行惡意攻擊、請求和盜取網站等非法請求。

另外項目中如果根據Request.UrlReferre來判斷請求的URL是否是本網站地址是不準確的,畢竟我們從上面已經了解了Request.UrlReferre是可以被偽造的

.NET 使用HttpWebRequest 偽造Request.UrlReferrer