phpはhttpヘッダを偽造して盗難防止チェーンコードを解読する
2690 ワード
画像、ソフトウェアなどの防犯チェーンを突破する方法に使用されます.
refererインスタンスコードを偽造し、主に画像、ソフトウェアなどの盗難防止チェーンを突破するために使用されます.
ここでは完全なプログラムを直接与えましょう.具体的なアプリケーションは自分で修正することができます.
私がここで示した例は簡単で、実はこの例から多くの応用を発展させることができます.例えばリアルなURLアドレスを隠す…へへへ、具体的には自分で分析していきましょう
ここにファイルfile.phpを新規作成します.後のパラメータはreferferのターゲットアドレスを偽造する必要があるでしょう.例:file.php/http://www.xxx.xxx/xxx.mp3
コード:
以上のコードはreferを用いてチェーンを盗むか否かを判断する防犯チェーンシステムに対してのみ適用され、他の特殊な方法でチェーンを盗む場合は適用されません.
例:
refererインスタンスコードを偽造し、主に画像、ソフトウェアなどの盗難防止チェーンを突破するために使用されます.
ここでは完全なプログラムを直接与えましょう.具体的なアプリケーションは自分で修正することができます.
私がここで示した例は簡単で、実はこの例から多くの応用を発展させることができます.例えばリアルなURLアドレスを隠す…へへへ、具体的には自分で分析していきましょう
ここにファイルfile.phpを新規作成します.後のパラメータはreferferのターゲットアドレスを偽造する必要があるでしょう.例:file.php/http://www.xxx.xxx/xxx.mp3
コード:
$url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);// 。 , ,
$downfile=str_replace(" ","%20",$url);// ,
$downfile=str_replace("http://","",$downfile);// http://
$urlarr=explode("/",$downfile);// "/"
$domain=$urlarr[0];//
$getfile=str_replace($urlarr[0],'',$downfile);// header GET
$content = @fsockopen("$domain", 80, $errno, $errstr, 12);//
if (!$content){//
die(" , $domain 。");
}
fputs($content, "GET $getfile HTTP/1.0rn");
fputs($content, "Host: $domainrn");
fputs($content, "Referer: $domainrn");//
fputs($content, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)rnrn");
while (!feof($content)) {
$tp.=fgets($content, 128);
if (strstr($tp,"200 OK")){ // 。header 。 HTTP 1.1 hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html , 。
header("Location:$url");
die();
}
}
//302 , referfer, 。 。
$arr=explode("n",$tp);
$arr1=explode("Location: ",$tp);// Location
$arr2=explode("n",$arr1[1]);
header('Content-Type:application/force-download');//
header("location:".$arr2[0]);//
die();
?>
以上のコードはreferを用いてチェーンを盗むか否かを判断する防犯チェーンシステムに対してのみ適用され、他の特殊な方法でチェーンを盗む場合は適用されません.
例:
array('header'=>"Referer:$refer"));
$context=stream_context_create($opt);
Header("Location:".$url);
return file_get_contents($url,false,$context);
}
$host = "pakey.net"; //
$target = "/test.asp"; //
$referer = "http//uuwar.com/"; //
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if(!$fp){
echo "$errstr($errno)
";
}else{
$out = "
GET $target HTTP/1.1
Host: $host
Referer: $referer
Connection: Close\r
\r
";
fwrite($fp, $out);
while(!feof($fp)){
echo fgets($fp, 1024);
}
fclose($fp);
}
?>