ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨

时间:2024-04-29 13:57:44 

HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东。
以下是伪造方法:
ASP:


dim http  
set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以 
Http.open "GET",url,false  
Http.setRequestHeader "Referer","http://www.dc9.cn/"  
Http.send()  


PHP(前提是装了curl):


$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, "http://www.dc9.cn/xxx.asp"); 
curl_setopt ($ch, CURLOPT_REFERER, "http://www.dc9.cn/"); 
curl_exec ($ch); 
curl_close ($ch); 


PHP(不装curl用sock)


$server = 'www.dc9.cn'; 
$host    = 'www.dc9.cn'; 
$target  = '/xxx.asp'; 
$referer = 'http://www.dc9.cn/';    // Referer 
$port    = 80; 
$fp = fsockopen($server, $port, $errno, $errstr, 30); 
if (!$fp)  

   echo "$errstr ($errno)<br />\n"; 
}  
else  

        $out = "GET $target HTTP/1.1\r\n"; 
        $out .= "Host: $host\r\n"; 
        $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEG\r\n"; 
        $out .= "Referer: $referer\r\n"; 
        $out .= "Connection: Close\r\n\r\n"; 
        fwrite($fp, $out); 
        while (!feof($fp))  
        { 
                echo fgets($fp, 128); 
        } 
        fclose($fp); 


VB.NET/C#.NET


Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30() 
或者 
MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.XMLHTTP30(); 
oXMLHttp.open(.... 
oXMLHttp.setRequestHeader(... 
oXMLHttp.send(.. 
javascript 
xmlHttp.setRequestHeader("Referer", "http://URL");//???呵呵~假的~ 

JS不支持^_^
原理都是sock构造http头来senddata。其他语言什么的比如perl也可以,
目前比较简单的防御伪造referer的方法是用验证码(Session)。
现在有一些能防盗链软件的商业公司比如UUDOG,linkgate,VirtualWall什么的,都是开发的应用于IIS上面的dll。
有的是采用cookies验证、线程控制,有的是能随机生成文件名然后做URL重写。有的方法能的确达到不错的效果.
不过道高一尺,魔高一丈,这些雕虫小技终归是有破解方法的。

标签:ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
0
投稿

猜你喜欢

  • 详解Mybatis逆向工程中使用Mysql8.0版本驱动遇到的问题

    2024-01-16 16:48:19
  • MySQL5.6安装图解(windows7/8_64位)

    2024-01-12 13:48:00
  • python+logging+yaml实现日志分割

    2023-12-18 01:19:08
  • python里glob模块知识点总结

    2022-10-06 18:13:18
  • 详解JavaScript实现JS弹窗的三种方式

    2024-04-19 10:42:20
  • Python下利用BeautifulSoup解析HTML的实现

    2021-11-20 03:33:54
  • Pytorch中torch.unsqueeze()与torch.squeeze()函数详细解析

    2022-05-22 00:41:57
  • python cookie反爬处理的实现

    2021-10-16 23:33:17
  • Python使用os.listdir和os.walk获取文件路径

    2023-01-30 11:02:10
  • 如何使用flask将模型部署为服务

    2021-11-11 06:02:48
  • Python3 解决读取中文文件txt编码的问题

    2022-10-22 13:14:43
  • pandas实现一行拆分成多行

    2021-09-19 16:22:37
  • sqlserver中操作主从关系表的sql语句

    2024-01-22 09:13:14
  • Django 项目布局方法(值得推荐)

    2022-08-22 12:44:22
  • 浅谈pytorch torch.backends.cudnn设置作用

    2022-06-20 16:25:06
  • 解读HTML:大厦的基石

    2008-12-01 12:57:00
  • Python中最常用的操作列表的几种方法归纳

    2021-01-11 22:06:05
  • JS+HTML实现的圆形可点击区域示例【3种方法】

    2024-04-10 10:42:30
  • 关于python中time和datetime的区别与用法

    2022-07-15 00:54:17
  • python2.7安装图文教程

    2021-01-02 01:36:15
  • asp之家 网络编程 m.aspxhome.com