cari
Rumahphp教程php手册PHP页面跳转与跨站提交伪造Referer地址来源

PHP页面跳转与跨站提交伪造Referer地址来源

Jun 13, 2016 am 11:27 AM
phprefererdanmemperkenalkanpemalsuangunaalamatserahkanartikelsumberLompatmuka surat

本文章来给大家介绍二种利用php来实现页面跳转与跨站提交伪造Referer地址来源具体实现,方法主要用到了fsockopen,curl两个函数,有需要了解的朋友可进入参考。

一、尝试过的URL跳转方法

 代码如下 复制代码

echo '';

echo 'window.location.href="'.$url.'";īpt>';

echo '

以上三种方法均无法传递REFERER地址。

二、使用PHP Socket函数伪造REFER
下面是PHP伪造REFERER代码部分,经过测试可以实现REFERER地址传递,其中$url是输入地址。

 代码如下 复制代码

$uinfo = parse_url($url);//解析URL地址,比如http://php100.com/archives/1.html

if($uinfo['path']) //

    $data = $uinfo['path'];//这里得到/archives/1.html

else

    $data = '/';//默认根

if(!$fsp = @fsockopen($uinfo['host'], (($uinfo['port']) ? $uinfo['port'] : "80"), $errno, $errstr, 12)){

    echo "对不起对方网站暂时无法打开,请您稍后访问:".$uinfo['host'];    exit;

}else{

    fputs($fsp, "GET “.$data .” HTTP/1.0rn");//如果是跨站POST提交,可使用POST方法

    fputs($fsp, "Host: ".$uinfo['host']."rn");

    fputs($fsp, "Referer: php100.comrn");//伪造REFERER地址

    fputs($fsp, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)rnrn");

    $res='';

    while(!feof($fsp))  {

        $res.=fgets($fsp, 128);

        if(strstr($res,"200 OK")) {

            header("Location:$url"); exit;

        }

    }

}

//如果是301或302状态码可以继续处理

//返回地址大概形式:HTTP/1.1 301 Moved PermanentlynContent-Length: 164nContent-Type: text/htmlnLocation: http://php100.com/

$arr=explode("n",$res);

$arr=explode(": ",$arr[3]);//Location后面是真实重定向地址

header("location:".$arr[0]);//跳转目标地址

exit;


利用另一种方法 curl)伪造HTTP_REFERER

 代码如下 复制代码

//PHP(前提是装了curl):
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.bkjia.com/");
curl_setopt ($ch, CURLOPT_REFERER, "http://www.bkjia.com/");
curl_exec ($ch);
curl_close ($ch);

//PHP(不装curl用sock)
$server = 'blog.qita.in';
$host      = 'blog.qita.in';
$target    = '/xxx.asp';
$referer = 'http://www.baidu.com/';      // Referer
$port      = 80;
$fp = fsockopen($server, $port, $errno, $errstr, 30);
if (!$fp)
{
     echo "$errstr ($errno)
n";
}
else
{
          $out = "GET $target HTTP/1.1rn";
          $out .= "Host: $hostrn";
          $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEGrn";
          $out .= "Referer: $refererrn";
          $out .= "Connection: Closernrn";
          fwrite($fp, $out);
          while (!feof($fp))
          {
                  echo fgets($fp, 128);
          }
          fclose($fp);
}


Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.