.NET 使用HttpWebRequest 伪造Request.UrlReferrer
在网上找了许久关于伪造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的更多相关文章
- Request.UrlReferrer
1:Request.UrlReferrer可以获取客户端上次请求的url,这样就可以实现类似“上一页”的功能等 2:刷新当前页面,不会改变Request.UrlReferrer的值 3:如果有A,B两 ...
- Request.UrlReferrer 使用
最近有一个功能是反馈统计,然后在反馈建议里面添加是从哪个页面点击过来的,一开始打算做成&url=这种方法加在链接里面然后页面接受参数,后来知道了request.UrlReferrer 知道他可 ...
- Request.UrlReferrer为空的问题
Request.UrlReferrer为空的问题 今天在开发时遇到了一个问题,在用Request.UrlReferrer获取上一页面的地址时发现该对象为空(IE下,FF下可以得到对象),于是上网搜 ...
- Request.UrlReferrer注意点
定义: public sealed class HttpRequest { // // 摘要: // 获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL. // // 返回结果: / ...
- Request.UrlReferrer详解
使用前需要进行判断: if (Request != null && Request.UrlReferrer != null && Request.UrlReferrer ...
- MVC Request.UrlReferrer为null
使用情景,登录后返回登录前访问的页面. 这个时候用到了UrlReferrer var returnUrl = HttpContext.Current.Request.UrlReferrer != nu ...
- Request.UrlReferrer 实现页面刷新
在使用Ajax 异步提交表单的时候,需要返回某些状态信息.但如果把需要返回的如分页.过滤的参数写在控制器的参数里面,会比较繁琐. 因此,1.可以在控制器里面使用 Request 对象的请求的URL. ...
- 用window.showModalDialog()打开的页面Request.UrlReferrer为null
今天在解决一个问题,怎么也找不到解决方案.我的一个窗体是IE通过window.showModalDialog()打开的,但为了防止用户手工输的地址,所以我需要判断是通过别的页面调整获得,用Reques ...
- ASP.NET中的Request、Response、Server对象
Request对象 Response.Write(Request.ApplicationPath) //应用根路径 Request.AppRelativeCurrentExecutionFilePat ...
随机推荐
- J2EE项目在weblogic下的改动
1.struts所有配置文件放到classes根目录下 2〉java.lang.ClassCastException:weblogic.xml.jaxp.RegistryDocumentBuilder ...
- VS2003在vista/win7下搜索会出现僵死
1. VS2003在vista下搜索关键词的时候会出现僵死的问题的解决方案: VS2003快捷方式右击选中属性->兼容性页签 : 选中用兼容模式运行这个程序,下拉框中用windows xp2 ...
- Debian 7.0.0 安装教程图解
Debian7.0.0的安装镜像文件有3个DVD,安装基本系统只用到第一个镜像文件,即DVD1,其它镜像文件是附带的软件包,下面是安装方法 一.说明: Debian7.0.0的安装镜像文件有3个D ...
- C# List泛型转换,int,string 转字符,转数组
List转字符串 List<string> List = new List<string>(); string strArray = string.Join(",&q ...
- hdu1010 Tempter of the Bone(深搜+剪枝问题)
Tempter of the Bone Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission( ...
- Integer-->String String-->Integer
参考:http://blog.csdn.net/wangjolly/article/details/18354457 crane: String str="123";int a=0 ...
- length length()
数组长度 length String 长度 length()
- OD 实验(十八) - 简单注册机的编写
程序: 运行 这是一个注册机 随便输入点内容,点击 Check 弹出错误的对话框 逆向: 用 OD 载入程序 在文本框处下断点 按 Alt+B 查看断点 这个断点在动态链接库那里 跑一下程序,输入内容 ...
- springcloud(二) eureka的使用
上一节讲到order微服务是通过rest调用user微服务的地址.但是,user微服务的地址是写死的, 如果user微服务集群的话,那么order微服务该如何调用呢?这个时候注册中心该上场了 演示eu ...
- Disconf实践指南:安装篇
Disconf是百度开源出来的一款基于Zookeeper的分布式配置管理软件.目前很多公司都在使用,包括滴滴.百度.网易.顺丰等公司.通过简单的界面操作就可以动态修改配置属性,还是很方便的.使用Dis ...