ホームページ >バックエンド開発 >PHPチュートリアル >PHP ページジャンプと偽造されたリファラーアドレスのクロスサイト送信source_PHP チュートリアル

PHP ページジャンプと偽造されたリファラーアドレスのクロスサイト送信source_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:11:48646ブラウズ

この記事では、PHP を使用したページ ジャンプと偽のリファラー アドレス ソースのクロスサイト送信の 2 つの具体的な実装を紹介します。この方法では主に fsockopen とcurl の 2 つの関数を使用します。詳細を知りたい人は参照してください。

1. URLジャンプ方法を試してみました

コードは以下の通りです コードをコピー

echo '';

echo '<スクリプト言語="Javascrīpt">window.location.href="'.$url.'";';

echo '<スクリプト言語= "Javascrīpt">window.location.replace="'.$url.'";';

上記の 3 つのメソッドはいずれも REFERER アドレスを渡すことができません。

2. PHP ソケット関数を使用して REFER を偽造します
以下は、PHP で偽造された REFERER コード部分です。$url は入力アドレスです。

コードは次のとおりです コードをコピーします

$uinfo = parse_url($url);// http://php100.com/archives/1.html

などの URL アドレスを解析しますif($uinfo ['path']) //

$data = $uinfo['path'];// /archives/1.html はここから入手

else

$data = '/';//デフォルトroot

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

echo "申し訳ありませんが、相手の Web サイトを一時的に開くことができません。後でアクセスしてください:".$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, "ユーザーエージェント: Mozilla/4.0 (互換性; 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を偽​​装します

http://www.bkjia.com/PHPjc/444608.html
コードは次のとおりです コードをコピーします

//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/' // リファラー
$port = 80;
$fp = fsockopen($server, $port, $errno, $errstr, 30); ( " ホスト: $hostrn";
$out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBFICDAFMHNKIGKEGrn";
$out .= "リファラー: $refererrn";
$out .= "接続: Closernrn";
f write($fp, $アウト ;










http://www.bkjia.com/PHPjc/444608.html

www.bkjia.com

tru​​e
技術記事この記事では、PHP を使用してページ ジャンプと偽のリファラー アドレス ソースのクロスサイト送信を実現する 2 つの具体的な実装を紹介します。この方法では、主に fsockopen とcurl の 2 つの関数を使用します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。