来源:bhst.org wwqwwq
上次分析的那套系统中涉及到referer欺骗的一些只是,莫问老大让我详细说明一下,便有了这片文章,错误之处还望指教。
由于没找到测试的目标所以自己就构造了一个测试的文件,文件内容如下:<%
dim referer
dim web_name
dim n
referer=request.servervariables("http_referer")
web_name=request.servervariables("server_name")
n=instr(referer,web_name)
if n>0 then
response.write "<script>alert(/good/)</script>"
else
response.write "<script>alert(/bad/)</script>"
end if
%>
文件url:[url]http://cr178.com/admin/test.asp[/url]
然后用我自己写的一个小工具测试了一下,结果如图所示:
注意这时候我构造的http头的语句为:
void HttpGetPacket(char *packet,char *url,char *host,char *data)
{
wsprintf(packet,"GET %s%s HTTP/1.1"
"Accept: */*"
"Accept-Language: zh-cn"
"Host: %s"
// "Connection: Keep-Alive"
"",
url,data,host);
}
,当我将构造http请求的语句修改为这样时:
void HttpGetPacket(char *packet,char *url,char *host,char *data)
{
wsprintf(packet,"GET %s%s HTTP/1.1"
"Accept: */*"
"Referer: http://cr178.com/admin/test1.asp."
"Accept-Language: zh-cn"
"Host: %s"
// "Connection: Keep-Alive"
"",
url,data,host);
}
细心的朋友应该发现了,多了一个字段Referer: http://cr178.com/admin/test1.asp."
编译以后再测试结果为:
其实就是修改了一个http消息头中的字段,同样用NC也可以实现
============
可以使用Mozilla Firefox插件"Tamper Data"来发送通常的HTTP header