• php伪造ip头


    <?
    $fp = fsockopen ("passport.baidu.com", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)<br>
    ";
    } else {
    $msg="GET /?login&username=lapiaotuan22&password=oyhz123456 HTTP/1.0
    ";
    $msg.="Host:passport.baidu.com 
    ";
    $msg.="Referer: http://passport.baidu.com/ 
    ";
    
    $msg.="Client-IP: 202.101.201.11
    ";
    $msg.="X-Forwarded-For: 202.101.201.11
    "; //主要是这里来构造IP
    $msg.="Connection: Close
    
    ";
    fputs ($fp, $msg);
    while (!feof($fp)) {
    echo fgets ($fp,1024);
    }
    fclose ($fp);
    }
    ?> 
    
    
    
    
    
    HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东。 
    以下是伪造方法:
    PHP(前提是装了curl): 
    PHP代码 
    $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) 
    PHP代码 
    $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 />
    "; 
    } 
    else 
    { 
    $out = "GET $target HTTP/1.1
    "; 
    $out .= "Host: $host
    "; 
    $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEG
    "; 
    $out .= "Referer: $referer
    "; 
    $out .= "Connection: Close
    
    "; 
    fwrite($fp, $out); 
    while (!feof($fp)) 
    { 
    echo fgets($fp, 128); 
    } 
    fclose($fp); 
    }
    
    IP也可以伪造
    
    $fp = fsockopen ("192.168.0.128", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)<br>
    ";
    } else {
    $msg="GET /003.php HTTP/1.0
    ";
    $msg.="Host: 192.168.0.128
    ";
    $msg.="Referer: http://www.baidu.com
    ";
    
    $msg.="Client-IP: 1.1.1.1
    ";
    $msg.="X-Forwarded-For: 1.1.1.1
    "; //主要是这里来构造IP
    $msg.="Connection: Close
    
    ";
    fputs ($fp, $msg);
    while (!feof($fp)) {
    echo fgets ($fp,1024);
    }
    fclose ($fp);
    }
    
    记住用fsockopen时,命令最后一定要有
    
    ,不然会超时。
    
    其实这个可以用$_SERVER['REMOTE_ADDR']来得到正确IP,但是人们为了得到代理访问IP,而采用的得到IP的方法往往不是$_SERVER['REMOTE_ADDR'],这就为我们提供了机会。
    
    注意以上在现实中用处不是很大,因为这好像对第三方统计没有用,而现在都是用的第三方统计。
    

      

  • 相关阅读:
    ASP.NET查看本地磁盘下的子目录和文件信息
    javascript网站导航栏
    javascript放大图片
    (转)Javascript在IE与Firefox下的差异
    C#测试代码段运行速度
    网站发布后出现的两个问题
    WebApplication与Profile购物车
    QQ在线状态接口
    mootools 14 ajax
    WRF参数配置(PartIV)
  • 原文地址:https://www.cnblogs.com/renshi/p/6490714.html
Copyright © 2020-2023  润新知