手机
当前位置:查字典教程网 >编程开发 >黑客相关 >ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER的方法
ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER的方法
摘要:HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东。以下是伪造方法:ASP/VisualBasic代码dimht...

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

以下是伪造方法:

ASP/VisualBasic代码

dimhttp

sethttp=server.createobject("MSXML2.XMLHTTP")'//MSXML2.serverXMLHTTP也可以

Http.open"GET",url,false

Http.setRequestHeader"Referer","http://www.dc9.cn/"

Http.send()

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/>n";

}

else

{

$out="GET$targetHTTP/1.1rn";

$out.="Host:$hostrn";

$out.="Cookie:ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEGrn";

$out.="Referer:$refererrn";

$out.="Connection:Closernrn";

fwrite($fp,$out);

while(!feof($fp))

{

echofgets($fp,128);

}

fclose($fp);

}

VB.NET/C#.NET

C#代码

DimoXMLHttpAsMSXML2.XMLHTTP30=NewMSXML2.XMLHTTP30()

或者

MSXML2.XMLHTTP30oXMLHttp=newMSXML2.XMLHTTP30();

oXMLHttp.open(....

oXMLHttp.setRequestHeader(...

oXMLHttp.send(..

javascript

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的方法】相关文章:

XSS & SQL注入

当菜鸟遇上黒客之三:QQ防盗篇

PHPSHELL又出新东东啦!

网络后门面面观

NET IIS暴绝对路径漏洞

超全的webshell权限提升方法

ASP漏洞全接触-高级篇

七个绝招应对网上银行盗贼

如何突破各种防火墙的防护

各种系统中密码文件的位置

精品推荐
分类导航