• .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是可以被伪造的

  • 相关阅读:
    上传下载图片到SQl
    掉所有的逗号
    jquery 是否有某属性的选择方法
    世界杯小组赛所有得分情况
    Jquery 操作表的某行内第几个控件
    jquery get()
    漏掉一个加号
    Datalist 的 itemdatabound 事件,行的内容的改变
    测试页脚
    tfs 获取最新后,老是编译不成功
  • 原文地址:https://www.cnblogs.com/l1pe1/p/7620069.html
Copyright © 2020-2023  润新知